< prev index next >

test/hotspot/jtreg/vmTestbase/nsk/jdi/ObjectReference/referringObjects/referringObjects001/referringObjects001.java

Print this page




 135         List<ObjectReference> objectsToFilter = HeapwalkingDebugger.getObjectReferences(className, vm);
 136 
 137         boolean includedInReferrersCount = HeapwalkingDebuggee.isIncludedIntoReferrersCount(referrerType);
 138         boolean includedInInstancesCount = HeapwalkingDebuggee.isIncludedIntoInstancesCount(referrerType);
 139 
 140         int createInstanceCount = 4;
 141         int referrerCount = 10;
 142 
 143         // create 'createInstanceCount' instances with 'referrerCount' referrers
 144 
 145         pipe.println(HeapwalkingDebuggee.COMMAND_CREATE_INSTANCES + ":" + className + ":" + createInstanceCount + ":" + referrerCount + ":"
 146                 + referrerType);
 147 
 148         int expectedInstanceCount;
 149 
 150         if (includedInInstancesCount)
 151             expectedInstanceCount = createInstanceCount;
 152         else
 153             expectedInstanceCount = 0;
 154 
 155         // Note!
 156         // Test broken - assumes that no GC is run before heap walk.
 157         // G1 fails, just like ZGC, if en explicitly GC is done here.
 158         // forceGC();
 159 
 160         checkDebugeeAnswer_instanceCounts(className, expectedInstanceCount, objectsToFilter);
 161         checkDebugeeAnswer_instances_referringObjects(objectsToFilter, className, expectedInstanceCount, includedInReferrersCount, referrerCount);
 162 
 163         // delete half of referrers
 164 
 165         int deleteCount = referrerCount / 2;
 166 
 167         pipe.println(HeapwalkingDebuggee.COMMAND_DELETE_REFERRERS + ":" + className + ":" + deleteCount);
 168 
 169         referrerCount -= deleteCount;
 170 
 171         if (includedInInstancesCount)
 172             expectedInstanceCount = createInstanceCount;
 173         else
 174             expectedInstanceCount = 0;
 175 
 176         checkDebugeeAnswer_instanceCounts(className, expectedInstanceCount, objectsToFilter);
 177         checkDebugeeAnswer_instances_referringObjects(objectsToFilter, className, expectedInstanceCount, includedInReferrersCount, referrerCount);
 178 




 135         List<ObjectReference> objectsToFilter = HeapwalkingDebugger.getObjectReferences(className, vm);
 136 
 137         boolean includedInReferrersCount = HeapwalkingDebuggee.isIncludedIntoReferrersCount(referrerType);
 138         boolean includedInInstancesCount = HeapwalkingDebuggee.isIncludedIntoInstancesCount(referrerType);
 139 
 140         int createInstanceCount = 4;
 141         int referrerCount = 10;
 142 
 143         // create 'createInstanceCount' instances with 'referrerCount' referrers
 144 
 145         pipe.println(HeapwalkingDebuggee.COMMAND_CREATE_INSTANCES + ":" + className + ":" + createInstanceCount + ":" + referrerCount + ":"
 146                 + referrerType);
 147 
 148         int expectedInstanceCount;
 149 
 150         if (includedInInstancesCount)
 151             expectedInstanceCount = createInstanceCount;
 152         else
 153             expectedInstanceCount = 0;
 154 
 155         // Note! This test is broken, in the sense that it incorrectly assumes
 156         // that no GC can happen before it walks the heap. In practice, it seems
 157         // to only affect this test when using ZGC. However, this test will also
 158         // fail when using other GCs if an explicit GC is done here.
 159 
 160         checkDebugeeAnswer_instanceCounts(className, expectedInstanceCount, objectsToFilter);
 161         checkDebugeeAnswer_instances_referringObjects(objectsToFilter, className, expectedInstanceCount, includedInReferrersCount, referrerCount);
 162 
 163         // delete half of referrers
 164 
 165         int deleteCount = referrerCount / 2;
 166 
 167         pipe.println(HeapwalkingDebuggee.COMMAND_DELETE_REFERRERS + ":" + className + ":" + deleteCount);
 168 
 169         referrerCount -= deleteCount;
 170 
 171         if (includedInInstancesCount)
 172             expectedInstanceCount = createInstanceCount;
 173         else
 174             expectedInstanceCount = 0;
 175 
 176         checkDebugeeAnswer_instanceCounts(className, expectedInstanceCount, objectsToFilter);
 177         checkDebugeeAnswer_instances_referringObjects(objectsToFilter, className, expectedInstanceCount, includedInReferrersCount, referrerCount);
 178 


< prev index next >