On Fri, 8 Sep 2023 09:46:00 GMT, Aleksey Shipilev <[email protected]> wrote:
>> 8315770: serviceability/sa/TestJmapCoreMetaspace.java should run with
>> -XX:-VerifyDependencies
>>
>> serviceability/sa/TestJmapCoreMetaspace.java runs in hotspot:tier2, and
>> takes about 330 seconds out of 670 seconds of the entire run on x86_64
>> fastdebug. The tier2 completion usually waits on it. Profiling shows we are
>> spending time during classloading, checking dependencies. Since we load lots
>> of classes, we do it many times, and each time the cost grows linearly to
>> the number of classes. Some other tests that target metaspace explicitly
>> disable `VerifyDependencies` to avoid this.
>>
>> The commit includes adding "-XX:-VerifyDependencies" along with
>> "-XX:+IgnoreUnrecognizedVMOptions" in TestJmapCore.java to make sure that
>> release builds work with the test, as VerifyDependencies is a develop option
>> and not available in release builds. The changes in the commit are resulting
>> in considerable improvement for the test in fastdebug mode as can be seen
>> below:
>>
>> * before: **130.41s user 14.11s system 118% cpu 2:01.85 total**
>> * after: **27.52s user 13.64s system 213% cpu 19.249 total**
>
> test/hotspot/jtreg/serviceability/sa/TestJmapCore.java line 76:
>
>> 74: ProcessBuilder pb =
>> ProcessTools.createTestJvm("-XX:+CreateCoredumpOnCrash",
>> 75: "-Xmx512m", "-XX:MaxMetaspaceSize=64m",
>> "-XX:+CrashOnOutOfMemoryError",
>> 76: "-XX:-VerifyDependencies",
>> "-XX:+IgnoreUnrecognizedVMOptions",
>
> Have you tried this test with `release`? I think
> `IgnoreUnrecognizedVMOptions` is positional, and should go before
> `VerifyDependencies` to actually work.
I will try it and raise another commit if that is required
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/15631#discussion_r1319640639