RFR: JDK-8282798 java.lang.runtime.Carrier [v10]
ExE Boss
duke at openjdk.java.net
Mon Mar 21 07:32:35 UTC 2022
On Mon, 21 Mar 2022 06:29:53 GMT, Rémi Forax <forax at openjdk.org> 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
More information about the core-libs-dev
mailing list