23 */
24
25 package gc.g1.humongousObjects;
26
27 import gc.testlibrary.Helpers;
28 import jdk.test.lib.Asserts;
29 import jdk.test.lib.Utils;
30 import sun.hotspot.WhiteBox;
31
32 import java.io.PrintStream;
33 import java.math.BigInteger;
34 import java.util.ArrayList;
35 import java.util.List;
36 import java.util.Random;
37 import java.util.stream.Collectors;
38
39 /**
40 * @test TestHumongousMovement
41 * @summary Checks that Humongous objects are not moved during GC
42 * @requires vm.gc.G1
43 * @library /testlibrary /test/lib /
44 * @modules java.base/jdk.internal.misc
45 * @modules java.management
46 * @build sun.hotspot.WhiteBox
47 * gc.testlibrary.Helpers
48 * gc.g1.humongousObjects.TestHumongousMovement
49 * @run driver ClassFileInstaller sun.hotspot.WhiteBox
50 * sun.hotspot.WhiteBox$WhiteBoxPermission
51 * @run main/othervm -XX:+UseG1GC -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -Xbootclasspath/a:.
52 * -XX:G1HeapRegionSize=1M -Xms200m -Xmx200m -XX:InitiatingHeapOccupancyPercent=100
53 * -Xlog:gc=info:file=TestHumongousMovement.log
54 * gc.g1.humongousObjects.TestHumongousMovement
55 */
56
57 public class TestHumongousMovement {
58
59 private static class AllocationData {
60 private final byte[] allocation;
61 public final BigInteger objectAddress;
62
63 public AllocationData(byte[] byteArray) {
64 allocation = byteArray;
65 objectAddress = new BigInteger(Long.toUnsignedString((WB.getObjectAddress(allocation))));
66 }
67
68 public boolean isAddressChanged() {
|
23 */
24
25 package gc.g1.humongousObjects;
26
27 import gc.testlibrary.Helpers;
28 import jdk.test.lib.Asserts;
29 import jdk.test.lib.Utils;
30 import sun.hotspot.WhiteBox;
31
32 import java.io.PrintStream;
33 import java.math.BigInteger;
34 import java.util.ArrayList;
35 import java.util.List;
36 import java.util.Random;
37 import java.util.stream.Collectors;
38
39 /**
40 * @test TestHumongousMovement
41 * @summary Checks that Humongous objects are not moved during GC
42 * @requires vm.gc.G1
43 * @library /test/lib /
44 * @modules java.base/jdk.internal.misc
45 * @modules java.management
46 * @build sun.hotspot.WhiteBox
47 * @run driver ClassFileInstaller sun.hotspot.WhiteBox
48 * sun.hotspot.WhiteBox$WhiteBoxPermission
49 * @run main/othervm -XX:+UseG1GC -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -Xbootclasspath/a:.
50 * -XX:G1HeapRegionSize=1M -Xms200m -Xmx200m -XX:InitiatingHeapOccupancyPercent=100
51 * -Xlog:gc=info:file=TestHumongousMovement.log
52 * gc.g1.humongousObjects.TestHumongousMovement
53 */
54
55 public class TestHumongousMovement {
56
57 private static class AllocationData {
58 private final byte[] allocation;
59 public final BigInteger objectAddress;
60
61 public AllocationData(byte[] byteArray) {
62 allocation = byteArray;
63 objectAddress = new BigInteger(Long.toUnsignedString((WB.getObjectAddress(allocation))));
64 }
65
66 public boolean isAddressChanged() {
|