jmx-dev RFR: 8360599: [TESTBUG] DumpThreadsWithEliminatedLock.java fails because of unstable inlining [v2]
Alan Bateman
alanb at openjdk.org
Fri Jul 4 10:27:39 UTC 2025
On Fri, 4 Jul 2025 08:14:19 GMT, Richard Reingruber <rrich at openjdk.org> wrote:
>> This PR adds CompileCommands to the test DumpThreadsWithEliminatedLock.java to force inlining of java/lang/String*.* methods. This will make inlining more stable to allow for the expected lock elimination based on c2 escape analysis.
>>
>> Forcing inlining of java/lang/StringBuffer.* wasn't sufficient on x86_64. With that the test still failed with TieredCompilation disabled.
>>
>> Testing: x86_64, ppc64 manually. Other major platforms as part of our CI testing.
>>
>> Failed inlining on x86_64 with TieredCompilation disabled:
>>
>>
>> make test TEST=com/sun/management/HotSpotDiagnosticMXBean/DumpThreadsWithEliminatedLock.java TEST_VM_OPTS="-XX:-TieredCompilation -XX:+UnlockDiagnosticVMOptions -XX:CompileCommand=PrintInlining,DumpThreadsWithEliminatedLock.*" JTREG=TIMEOUT_FACTOR=0.1
>>
>> [...]
>>
>> STDOUT:
>> CompileCommand: PrintInlining DumpThreadsWithEliminatedLock.* bool PrintInlining = true
>> @ 1 java.util.concurrent.atomic.AtomicBoolean::get (13 bytes) inline (hot)
>> @ 11 java.lang.StringBuffer::<init> (7 bytes) inline (hot) late inline succeeded (string method)
>> @ 3 java.lang.AbstractStringBuilder::<init> (39 bytes) inline (hot)
>> @ 1 java.lang.Object::<init> (1 bytes) inline (hot)
>> @ 16 java.lang.System::currentTimeMillis (0 bytes) (intrinsic)
>> s @ 19 java.lang.StringBuffer::append (13 bytes) failed to inline: already compiled into a big method
>> s @ 24 java.lang.StringBuffer::toString (44 bytes) inline (hot) late inline succeeded (string method)
>> s @ 1 java.lang.StringBuffer::length (5 bytes) accessor
>> @ 24 java.lang.String::<init> (98 bytes) failed to inline: already compiled into a big method
>> @ 30 java.util.concurrent.atomic.AtomicReference::set (6 bytes) accessor
>> 2025-07-02T09:25:53.396634900Z Attempt 1, found: false
>> 2025-07-02T09:25:53.415673072Z Attempt 2, found: false
>> 2025-07-02T09:25:53.418876867Z Attempt 3, found: false
>>
>> [...]
>
> Richard Reingruber has updated the pull request incrementally with one additional commit since the last revision:
>
> Allow vm.debug
Marked as reviewed by alanb (Reviewer).
-------------
PR Review: https://git.openjdk.org/jdk/pull/26033#pullrequestreview-2986518539
More information about the jmx-dev
mailing list