RFR: 8325482: Test that distinct seeds produce distinct traces for compiler stress flags [v2]
Christian Hagedorn
chagedorn at openjdk.org
Mon Aug 4 06:20:54 UTC 2025
On Fri, 1 Aug 2025 11:30:13 GMT, Saranya Natarajan <snatarajan at openjdk.org> wrote:
>> The existing test (`compiler/debug/TestStress.java`) verifies that compiler stress options produce consistent traces when using the same seed. However, there is currently no test to ensure that different seeds result in different traces.
>>
>> ### Solution
>> Added a test case to assess the distinctness of traces generated from different seeds. This fix addresses the fragility concern highlighted in [JDK-8325482](https://bugs.openjdk.org/browse/JDK-8325482) by verifying that traces produced using N (in this case 10) distinct seeds are all not identical.
>>
>> ### Changes to `compiler/debug/TestStress.java`
>> While investigating this issue, I observed that in `compiler/debug/TestStress.java`, the stress options for macro expansion and macro elimination were not being triggered because there were fewer than 2 macro nodes. Note that the `shuffle_macro_nodes()` in` compile.cpp` is only meaningful when there are more than two macro nodes. The generated traces for macro expansion and macro elimination in `TestStress.java` were empty. I have proposed changes to address this problem.
>
> Saranya Natarajan has updated the pull request incrementally with two additional commits since the last revision:
>
> - changing N to 5
> - Adding test for same seed --> same result for N = 10
Marked as reviewed by chagedorn (Reviewer).
test/hotspot/jtreg/compiler/debug/TestStressDistinctSeed.java line 102:
> 100: ccptrace = ccpTrace(s);
> 101: macroexpansiontrace = macroExpansionTrace(s);
> 102: macroeliminationtrace = macroEliminationTrace(s);
Nit: You should probably use camelCase for readability of the variables.
-------------
PR Review: https://git.openjdk.org/jdk/pull/26554#pullrequestreview-3082835852
PR Review Comment: https://git.openjdk.org/jdk/pull/26554#discussion_r2250507203
More information about the hotspot-compiler-dev
mailing list