RFR: 8333300: [JVMCI] add support for generational ZGC [v2]

Tom Rodriguez never at openjdk.org
Tue Jun 4 16:36:49 UTC 2024


On Fri, 31 May 2024 21:03:30 GMT, Tom Rodriguez <never at openjdk.org> wrote:

>> This exposes the required values for JVMCI to support generational ZGC.  It includes a few things worth mentioning.  JVMCI still exports XBarrierSetRuntime as fields in CompilerToVM::Data under the original name of ZBarrierSetRuntime.  I have exported the XBarrierSetRuntime and ZBarrierSetRuntime functions as addresses under their actual name.  This permits backward compatibility until all the required parts are in place.  We can eventually delete the CompilerToVM::Data names.
>> 
>> I added ZBarrierSetRuntime::load_barrier_on_oop_array paralleling XBarrierSetRuntime::load_barrier_on_oop_array as we use that for a vector barrier.  I could create the function as part of JVMCIRuntime if there are any concerns about including that in the ZGC core.
>
> Tom Rodriguez has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Fix riscv compilation

There was one fix I needed to include to use NativeAccess to read from the JVMCI handles when repacking them.  It's only checking for null and not actually accessing the contents so it was benignly broken with singlegen ZGC.  Generational ZGC includes new verify oop logic which was catching this.

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

PR Comment: https://git.openjdk.org/jdk/pull/19490#issuecomment-2147954438


More information about the graal-dev mailing list