-
Type:
Enhancement
-
Resolution: Fixed
-
Priority:
P4
-
Affects Version/s: 17
-
Component/s: core-libs
-
b19
Currently var handle invoker caching has some TODO comments:
/*non-public*/
MethodHandle varHandleMethodInvoker(VarHandle.AccessMode ak) {
// TODO cache invoker
return makeVarHandleMethodInvoker(ak, false);
}
/*non-public*/
MethodHandle varHandleMethodExactInvoker(VarHandle.AccessMode ak) {
// TODO cache invoker
return makeVarHandleMethodInvoker(ak, true);
}
It is relatively easy/simple to implement caching here, by replicating what is done for MethodHandle invokers (multiplied by the number of access modes)
/*non-public*/
MethodHandle varHandleMethodInvoker(VarHandle.AccessMode ak) {
// TODO cache invoker
return makeVarHandleMethodInvoker(ak, false);
}
/*non-public*/
MethodHandle varHandleMethodExactInvoker(VarHandle.AccessMode ak) {
// TODO cache invoker
return makeVarHandleMethodInvoker(ak, true);
}
It is relatively easy/simple to implement caching here, by replicating what is done for MethodHandle invokers (multiplied by the number of access modes)