RFR: 8227653: Add VM Global OopStorage
Vladimir Kozlov
vladimir.kozlov at oracle.com
Tue Jul 16 15:52:01 UTC 2019
Here goes my work for JVMCI oops handling ;)
Kim, after this change the only use for JVMCI::_object_handles is JVMCI::is_global_handle() which is
only used in assert() in deleteGlobalHandle() in jvmciCompilerToVM.cpp. Do we really need it there?
May be we should remove this use too.
Thanks,
Vladimir
On 7/15/19 6:18 PM, Kim Barrett wrote:
> Please review this change which adds a VMGlobal OopStorage object. It
> is initially being used instead of the conditional JVMCI global storage
> object, which is being removed.
>
> Looking for reviewers from all of gc, runtime, and compiler.
>
> To keep things simple for now, this new storage object is (optionally)
> included in the processing done by SystemDictionary::oops_do. Most
> existing storage processors use that mechanism. For most processors,
> that's consistent with how JNI global handles are processed. ZGC uses
> a different approach, and provides enough infrastructure that it was
> easy to process this new storage object in a way that is consistent
> with ZGC's handling of JNI globals.
>
> This change does not attempt to address the problems around changing
> the set of OopStorage instance described by JDK-8227054. This change
> was a useful bit of preparation for the work I'm doing on JDK-8227054,
> so I split it out as a separate change.
>
> This change also includes a minimal update of Shenandoah, using the
> processing of the new storage object by SystemDictionary::oops_do.
> It looks like Shenandoah is conceptually similar to ZGC in it's
> handling of JNI globals, and should be able to handle this new storage
> object similarly, but I'm leaving that to the Shenandoah developers.
> You might want to wait for JDK-8227054 though.
>
> Note that neither ZGC nor Shenandoah processed the former conditional
> JVMCI global storage.
>
> CR:
> https://bugs.openjdk.java.net/browse/JDK-8227653
>
> Webrev:
> http://cr.openjdk.java.net/~kbarrett/8227653/open.00/
>
> Testing:
> mach5 tier1-5
>
More information about the hotspot-dev
mailing list