On Mon, 21 Mar 2022 06:29:53 GMT, Rémi Forax <[email protected]> wrote:
>> src/java.base/share/classes/java/lang/runtime/Carrier.java line 309:
>>
>>> 307: static {
>>> 308: LOOKUP = MethodHandles.lookup();
>>> 309: UNSAFE = Unsafe.getUnsafe();
>>
>> It might be better to use `java.lang.invoke.MethodHandleStatics.UNSAFE`, and
>> probably also `java.lang.invoke.MethodHandles.Lookup.IMPL_LOOKUP`.
>
> The package is java.lang.runtime not java.lang.invoke so both fields are not
> accessible.
Well, you could use `SharedSecrets.getJavaLangInvokeAccess().findStatic(…)` and
`SharedSecrets.getJavaLangInvokeAccess().findVirtual(…)` in place of
`LOOKUP.findStatic(…)` and `LOOKUP.findVirtual(…)`.
-------------
PR: https://git.openjdk.java.net/jdk/pull/7744