43 * @requires vm.gc == "G1" | vm.gc == null |
43 * @requires vm.gc == "G1" | vm.gc == null |
44 * @library /test/lib /test/jdk |
44 * @library /test/lib /test/jdk |
45 * @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps -XX:G1HeapRegionSize=1m -Xmx64m -Xmn16m -XX:+UseG1GC jdk.jfr.event.gc.detailed.TestEvacuationInfoEvent |
45 * @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps -XX:G1HeapRegionSize=1m -Xmx64m -Xmn16m -XX:+UseG1GC jdk.jfr.event.gc.detailed.TestEvacuationInfoEvent |
46 */ |
46 */ |
47 public class TestEvacuationInfoEvent { |
47 public class TestEvacuationInfoEvent { |
48 private final static String EVENT_INFO_NAME = EventNames.EvacuationInfo; |
48 private final static String EVENT_INFO_NAME = EventNames.EvacuationInformation; |
49 private final static String EVENT_FAILED_NAME = EventNames.EvacuationFailed; |
49 private final static String EVENT_FAILED_NAME = EventNames.EvacuationFailed; |
50 |
50 |
51 public static void main(String[] args) throws Throwable { |
51 public static void main(String[] args) throws Throwable { |
52 final long g1HeapRegionSize = 1024 * 1024; |
52 final long g1HeapRegionSize = 1024 * 1024; |
53 Recording recording = new Recording(); |
53 Recording recording = new Recording(); |
67 |
67 |
68 int setRegions = Events.assertField(event, "cSetRegions").atLeast(0).getValue(); |
68 int setRegions = Events.assertField(event, "cSetRegions").atLeast(0).getValue(); |
69 long setUsedAfter = Events.assertField(event, "cSetUsedAfter").atLeast(0L).getValue(); |
69 long setUsedAfter = Events.assertField(event, "cSetUsedAfter").atLeast(0L).getValue(); |
70 long setUsedBefore = Events.assertField(event, "cSetUsedBefore").atLeast(setUsedAfter).getValue(); |
70 long setUsedBefore = Events.assertField(event, "cSetUsedBefore").atLeast(setUsedAfter).getValue(); |
71 int allocationRegions = Events.assertField(event, "allocationRegions").atLeast(0).getValue(); |
71 int allocationRegions = Events.assertField(event, "allocationRegions").atLeast(0).getValue(); |
72 long allocRegionsUsedBefore = Events.assertField(event, "allocRegionsUsedBefore").atLeast(0L).getValue(); |
72 long allocRegionsUsedBefore = Events.assertField(event, "allocationRegionsUsedBefore").atLeast(0L).getValue(); |
73 long allocRegionsUsedAfter = Events.assertField(event, "allocRegionsUsedAfter").atLeast(0L).getValue(); |
73 long allocRegionsUsedAfter = Events.assertField(event, "allocationRegionsUsedAfter").atLeast(0L).getValue(); |
74 long bytesCopied = Events.assertField(event, "bytesCopied").atLeast(0L).getValue(); |
74 long bytesCopied = Events.assertField(event, "bytesCopied").atLeast(0L).getValue(); |
75 int regionsFreed = Events.assertField(event, "regionsFreed").atLeast(0).getValue(); |
75 int regionsFreed = Events.assertField(event, "regionsFreed").atLeast(0).getValue(); |
76 |
76 |
77 Asserts.assertEquals(allocRegionsUsedBefore + bytesCopied, allocRegionsUsedAfter, "allocRegionsUsedBefore + bytesCopied = allocRegionsUsedAfter"); |
77 Asserts.assertEquals(allocRegionsUsedBefore + bytesCopied, allocRegionsUsedAfter, "allocRegionsUsedBefore + bytesCopied = allocRegionsUsedAfter"); |
78 Asserts.assertGreaterThanOrEqual(setRegions, regionsFreed, "setRegions >= regionsFreed"); |
78 Asserts.assertGreaterThanOrEqual(setRegions, regionsFreed, "setRegions >= regionsFreed"); |