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

Martin Doerr mdoerr at openjdk.org
Mon Aug 26 09:45:06 UTC 2024


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

>>> 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`.

That one is among the failing tests. Can we agree on better names than `g1XChgP` and `g1XChgN`? They are not readable very well IMHO. All the other nodes have nice names.

Regardless if you implement the compressed oops optimization or not, I'd reconsider moving the oop decoding into `G1BarrierSetAssembler::g1_write_barrier_post_c2` because it makes the .ad file shorter because you can get rid of the replicated `decode_heap_oop`.

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

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


More information about the hotspot-compiler-dev mailing list