RFR: 8335392: C2 MergeStores: enhanced pointer parsing [v17]
Emanuel Peter
epeter at openjdk.org
Tue Nov 5 16:47:43 UTC 2024
On Tue, 5 Nov 2024 16:22:35 GMT, Shaojin Wen <swen at openjdk.org> wrote:
>> Thanks @chhagedorn for the extensive reviews and collaboration on improving the proofs 😊
>> Thanks @vnkozlov for the approval.
>>
>> I did an offline merge and testing (to avoid requiring a re-approval) - all looks good.
>
> @eme64 How do I use the TraceMergeStores option? It worked before, but now it gives an error.
>
>
> build/macosx-aarch64-server-fastdebug/jdk/bin/java -Dtest=appendNullLatin1 -XX:+TraceMergeStores
>
>
> output
>
> Unrecognized VM option 'TraceMergeStores'
> Did you mean '(+/-)MergeStores'?
> Error: Could not create the Java Virtual Machine.
> Error: A fatal exception has occurred. Program will exit.
@wenshao Ah, good question! I changed it from a "global" flag to a "compile option". You can now filter the methods! And you can enable different tags - so you can regulate how verbose it is. Example:
`-XX:CompileCommand=TraceMergeStores,Test::test*,SUCCESS,ADJACENCY,ALIASING,BASIC`
And to see all available tags:
`-XX:CompileCommand=TraceMergeStores,Test::test*,help`
Usage for CompileCommand TraceMergeStores:
-XX:CompileCommand=TraceMergeStores,<package.class::method>,<tags>
tags descriptions
BASIC Trace basic analysis steps
POINTER Trace pointer IR
ALIASING Trace MemPointerSimpleForm::get_aliasing_with
ADJACENCY Trace adjacency
SUCCESS Trace successful merges
You might have to play around a little to see what is helpful to you. And I'm always open to feedback :)
-------------
PR Comment: https://git.openjdk.org/jdk/pull/19970#issuecomment-2457676944
More information about the hotspot-compiler-dev
mailing list