RFR: 8227653: Add VM Global OopStorage
Vladimir Kozlov
vladimir.kozlov at oracle.com
Wed Jul 17 23:36:39 UTC 2019
Thank you, Kim
Good. Please file bug for JDK 13 and assign it to me. I will port your JVMCI fix.
Thanks,
Vladimir
On 7/17/19 3:48 PM, Kim Barrett wrote:
>> On Jul 16, 2019, at 11:52 AM, Vladimir Kozlov <vladimir.kozlov at oracle.com> wrote:
>>
>> Here goes my work for JVMCI oops handling ;)
>
> Yeah, sorry about that. I think I went on vacation in the middle of
> the review of those changes.
>
>> 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.
>
> I hadn't looked through the uses carefully, assuming replacement of
> one OopStorage with another wouldn't uncover any problems.
>
> Unfortunately, it turns out there's a pre-existing bug lurking.
>
> JVMCI::_object_handles is also used by JVMCI::make_global, not
> surprisingly. What did surprise me is the lack of a corresponding
> destroy function. And then I looked at deleteGlobalHandles() in
> jvmciCompilerToVM.cpp, and it seems to have not been updated from the
> old JNIHandleBlock implementation when these global handles were
> changed to use OopStorage. So instead of calling OopStorage::release,
> deleteGlobalHandles just leaks the handles.
>
> I'm posting the fix for this as an incremental change on my
> JDK-8227653 change, but I'm wondering if it ought to be split out into
> a separate bug fix for JDK 13.
>
> Webrevs:
> full: http://cr.openjdk.java.net/~kbarrett/8227653/open.01/
> incr: http://cr.openjdk.java.net/~kbarrett/8227653/open.01.inc/
>
> Testing:
> mach5 hs-tier3-5 (in progress), which do some graal testing.
>
More information about the hotspot-dev
mailing list