RFR: 8334060: Implementation of Late Barrier Expansion for G1 [v2]

Roberto Castañeda Lozano rcastanedalo at openjdk.org
Mon Aug 26 08:49:06 UTC 2024


On Mon, 26 Aug 2024 08:38:39 GMT, Roberto Castañeda Lozano <rcastanedalo at openjdk.org> wrote:

>> It can be implemented like this:
>> 
>> - If oop decoding requires a null check, redirect the branch to jump over the barrier code.
>> - Else insert the null check after the region crossing check.
>> 
>> This way, I don't see how it can have a negative effect. But I leave you free to decide about x86 and aarch64. Optimizations could be done later if needed as you already mentioned.
>> 
>> Did you also see my comment https://github.com/openjdk/jdk/pull/19746#discussion_r1728987173 ? It's in the "resolved" discussion.
>
>> This way, I don't see how it can have a negative effect.
> 
> I agree, this is the implementation I tried out originally (https://github.com/openjdk/jdk/pull/19746#discussion_r1719811953).
> 
>> Did you also see my comment https://github.com/openjdk/jdk/pull/19746#discussion_r1728987173 ? It's in the "resolved" discussion.
> 
> Yes, thanks, I "unresolved" it now.

> I have an experimental implementation for PPC64. 

An unrelated comment about your PPC64 implementation: did you try running `test/hotspot/jtreg/compiler/gcbarriers/TestG1BarrierGeneration.java`? It expects the ADL instructions that implement `GetAndSetP` and `GetAndSetN` to be called `g1XChgP` and `g1XChgN`.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/19746#discussion_r1730916202


More information about the hotspot-compiler-dev mailing list