RFR: 8291736: find_method_handle_intrinsic leaks Method* [v2]
David Holmes
dholmes at openjdk.org
Thu Aug 25 22:51:58 UTC 2022
On Thu, 25 Aug 2022 11:27:06 GMT, Coleen Phillimore <coleenp at openjdk.org> wrote:
>> src/hotspot/share/classfile/systemDictionary.cpp line 2073:
>>
>>> 2071: "must be a known MH intrinsic iid=%d: %s", iid_as_int, vmIntrinsics::name_at(iid));
>>> 2072:
>>> 2073: MutexLocker ml(THREAD, InvokeMethodTable_lock);
>>
>> I don't think you can hold the Mutex across the entire method as the exception code below will go to Java.
>
> This call does not go to Java. The other table does - the invoke_method_type_table. This just creates an intrinsic method and an adapter to go with it from the AdapterHandlerLibrary.
Line 2087 can throw an exception. If you want to hold the mutex across the entire body you need to throw the exception after releasing the lock.
-------------
PR: https://git.openjdk.org/jdk/pull/9983
More information about the hotspot-runtime-dev
mailing list