< prev index next >
test/hotspot/jtreg/gc/class_unloading/TestG1ClassUnloadingHWM.java
Print this page
rev 60538 : imported patch jep387-all.patch
*** 100,115 ****
WhiteBox wb = WhiteBox.getWhiteBox();
// Allocate past the MetaspaceSize limit
long metaspaceSize = Long.parseLong(args[0]);
long allocationBeyondMetaspaceSize = metaspaceSize * 2;
! long metaspace = wb.allocateMetaspace(null, allocationBeyondMetaspaceSize);
long youngGenSize = Long.parseLong(args[1]);
triggerYoungGCs(youngGenSize);
- wb.freeMetaspace(null, metaspace, metaspace);
}
public static void triggerYoungGCs(long youngGenSize) {
long approxAllocSize = 32 * 1024;
long numAllocations = 2 * youngGenSize / approxAllocSize;
--- 100,121 ----
WhiteBox wb = WhiteBox.getWhiteBox();
// Allocate past the MetaspaceSize limit
long metaspaceSize = Long.parseLong(args[0]);
long allocationBeyondMetaspaceSize = metaspaceSize * 2;
!
! // There is a cap on how large a single metaspace allocation can get. So we may have to allocate in blocks.
! final long max = wb.maxMetaspaceAllocationSize();
! while (allocationBeyondMetaspaceSize > 0) {
! long s = max < allocationBeyondMetaspaceSize ? max : allocationBeyondMetaspaceSize;
! wb.allocateMetaspace(null, s);
! allocationBeyondMetaspaceSize -= s;
! }
long youngGenSize = Long.parseLong(args[1]);
triggerYoungGCs(youngGenSize);
}
public static void triggerYoungGCs(long youngGenSize) {
long approxAllocSize = 32 * 1024;
long numAllocations = 2 * youngGenSize / approxAllocSize;
< prev index next >