8210512: [Testbug] vmTestbase/nsk/jdi/ObjectReference/referringObjects/referringObjects002/referringObjects002.java fails with unexpected size of ClassLoaderReference.referringObjects

Account for the self-reference that every class has in the constant pool

Reviewed-by: sspitsyn, jcbeyler
This commit is contained in:
David Holmes 2018-09-10 18:57:44 -04:00
parent 4baa5b10d1
commit 1f30060cbb

View File

@ -118,7 +118,8 @@ public class referringObjects002 extends HeapwalkingDebugger {
// + 'includedIntoReferrersCountTypes.size()' referrers was additionally created
// +1 referrer is classloader
// +1 referrer is debugee class unloader
int expectedReferrersCount = createInstances + HeapwalkingDebuggee.includedIntoReferrersCountTypes.size() + 2;
// +1 self-reference from this_class index
int expectedReferrersCount = createInstances + HeapwalkingDebuggee.includedIntoReferrersCountTypes.size() + 3;
ClassObjectReference classObjectReference = debuggee.classByName(className).classObject();
@ -132,7 +133,8 @@ public class referringObjects002 extends HeapwalkingDebugger {
// Only this referrers should left:
// 1 referrer is classloader
// 1 referrer is debugee class unloader
expectedReferrersCount = 2;
// 1 self-reference from this_class index
expectedReferrersCount = 3;
checkClassObjectReferrersCount(classObjectReference, expectedReferrersCount);