< 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 >