RFR: 8342074: Fix runtime/Thread/TestAlwaysPreTouchStacks.java to be flagless or accept VM flags

Gerard Ziemski gziemski at openjdk.org
Mon Nov 25 16:09:19 UTC 2024


On Thu, 7 Nov 2024 09:32:17 GMT, Afshin Zafari <azafari at openjdk.org> wrote:

> `createTestJavaProcessBuilder` is used for creating and running a new Java process that accepts flags.

LGTM

I traced the differences in PeocessTool code path to make sure that the fix does the right thing. Looks like the new code path uses VM flags as requested.



given:

ArrayList<String> vmArgs = new ArrayList<>();


from:

ProcessBuilder pb = ProcessTools.createLimitedTestJavaProcessBuilder(vmArgs);

    public static ProcessBuilder createLimitedTestJavaProcessBuilder(List<String> command) {
        return createLimitedTestJavaProcessBuilder(command.toArray(String[]::new));
    }

    public static ProcessBuilder createLimitedTestJavaProcessBuilder(String... command) {
        return createJavaProcessBuilder(command);
    }

    private static ProcessBuilder createJavaProcessBuilder(String... command) {
      ...
    }


to:

ProcessBuilder pb = ProcessTools.createTestJavaProcessBuilder(vmArgs);

    public static ProcessBuilder createTestJavaProcessBuilder(List<String> command) {
        return createTestJavaProcessBuilder(command.toArray(String[]::new));
    }

    public static ProcessBuilder createTestJavaProcessBuilder(String... command) {
        return createJavaProcessBuilder(Utils.prependTestJavaOpts(command));
    }

    private static ProcessBuilder createJavaProcessBuilder(String... command) {
      ...
    }

-------------

Marked as reviewed by gziemski (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/21945#pullrequestreview-2458881455


More information about the hotspot-runtime-dev mailing list