--- old/test/hotspot/jtreg/gc/stress/gclocker/TestGCLockerWithG1.java 2018-10-08 18:33:37.000000000 -0400 +++ new/test/hotspot/jtreg/gc/stress/gclocker/TestGCLockerWithG1.java 2018-10-08 18:33:36.000000000 -0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -24,14 +24,27 @@ /* * @test TestGCLockerWithG1 - * @key gc + * @key gc stress * @requires vm.gc.G1 * @summary Stress G1's GC locker by calling GetPrimitiveArrayCritical while concurrently filling up old gen. - * @run main/native/othervm/timeout=200 -Xlog:gc*=info -Xms1500m -Xmx1500m -XX:+UseG1GC TestGCLockerWithG1 + * @run main/native/othervm/timeout=200 -Xlog:gc*=info -Xms1500m -Xmx1500m -XX:+UseG1GC -XX:-G1UseLegacyMonitoring TestGCLockerWithG1 + * @run main/native/othervm/timeout=200 -Xlog:gc*=info -Xms1500m -Xmx1500m -XX:+UseG1GC -XX:+G1UseLegacyMonitoring TestGCLockerWithG1 */ + +import java.lang.management.RuntimeMXBean; +import java.lang.management.ManagementFactory; + public class TestGCLockerWithG1 { public static void main(String[] args) { - String[] testArgs = {"2", "G1 Old Gen"}; + String[] testArgs = {"2", LegacyMonitoring.use() ? "G1 Old Gen" : "G1 Old Space"}; TestGCLocker.main(testArgs); } + + public static class LegacyMonitoring { + private static final boolean useLegacyMonitoring = getUseLegacyMonitoring(); + private static boolean getUseLegacyMonitoring() { + return ManagementFactory.getRuntimeMXBean().getInputArguments().contains("-XX:+G1UseLegacyMonitoring"); + } + public static boolean use() { return useLegacyMonitoring; } + } }