RFR: 8257146: C2: extend the scope of StressGCM

Roberto Castañeda Lozano rcastanedalo at openjdk.java.net
Tue Dec 1 11:37:55 UTC 2020


On Tue, 1 Dec 2020 07:47:19 GMT, Tobias Hartmann <thartmann at openjdk.org> wrote:

>> Extend the scope of StressGCM by allowing it to move instructions into basic blocks with worse frequency. This should improve StressGCM's ability to expose bugs where C2 relies on GCM heuristics for correctness.
>> 
>> Tested with StressGCM enabled on `hs-tier1-3` and a single repetition, the following test cases fail on `linux-aarch64-debug` and require further investigation:
>> - `serviceability/sa/ClhsdbJstackXcompStress.java`
>> - `compiler/c2/cr6663848/Tester.java`
>> 
>> Also tested with StressGCM disabled (default)  on `hs-tier1-3`, all tests pass.
>
> Looks good to me but the test failures that you've found when running lower tiers should be investigated and fixed before integrating this to avoid frequent failures in the CI runs. I would suggest to defer this to JDK 17.
> 
> Also, as Vladimir already said, more testing should be executed. Please run the higher tiers as well.

> First, StressGCM is not used in production only for testing - it should not affect released JDK.
> Second, I think it would be nice to try reproduce 6831314 issue again with latest JDK. We did several changes with nodes types casting which may fixed it. And it should not prevent us from widening the scope of testing with StressGCM to find other issues now.
> When @shipilev implemented this flag first, my concern was that we would have to spend a lot of resources to clean up found issues. Now we have more engineers and we should do the clean up.
> 
> @robcasloz I suggest additionally to run hs-precheckin-comp with StressGCM ON.

Thanks for the clarification, Vladimir. I did a single run of hs-precheckin-comp with StressGCM enabled, the following test cases fail on macosx-x64-debug:
- `runtime/handshake/HandshakeWalkStackTest.java`
- `compiler/c2/cr6663848/Tester.java` (same as before)

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

PR: https://git.openjdk.java.net/jdk/pull/1469


More information about the hotspot-compiler-dev mailing list