| Modifier and Type | Class and Description |
|---|---|
| pack-priv static class | DirectMethodHandleAccessor.
Invoke the method via native VM reflection |
| Modifier and Type | Field and Description |
|---|---|
| private final Class | |
| private final int | |
| private static final int | |
| private static final int | |
| private static final int | |
| private static final int | |
| private final int | |
| private final MethodHandle |
| Access | Constructor and Description |
|---|---|
| pack-priv |
| Modifier and Type | Method and Description |
|---|---|
| pack-priv static MethodAccessorImpl | callerSensitiveAdapter(Method original, MethodHandle target)
Creates MethodAccessorImpl for the adapter method for a caller-sensitive method. |
| private static void | |
| private void | |
| private static Method | |
| private boolean | |
| public Object | invoke(Object obj, Object[] args)
Implements abstract jdk. Implements jdk. Matches specification in |
| public Object | invoke(Object obj, Object[] args, Class<?> caller)
Overrides jdk. Implements jdk.
|
| private Object | |
| private Object | |
| private boolean | |
| private boolean | |
| pack-priv static MethodAccessorImpl | methodAccessor(Method method, MethodHandle target)
Creates a MethodAccessorImpl for a non-native method. |
| pack-priv static MethodAccessorImpl | nativeAccessor(Method method, boolean callerSensitive)
Creates MethodAccessorImpl that invokes the given method via VM native reflection support. |
| declaringClass | back to summary |
|---|---|
| private final Class<?> declaringClass | |
| flags | back to summary |
|---|---|
| private final int flags | |
| HAS_CALLER_PARAM_BIT | back to summary |
|---|---|
| private static final int HAS_CALLER_PARAM_BIT | |
| IS_STATIC_BIT | back to summary |
|---|---|
| private static final int IS_STATIC_BIT | |
| NONZERO_BIT | back to summary |
|---|---|
| private static final int NONZERO_BIT | |
| PARAM_COUNT_MASK | back to summary |
|---|---|
| private static final int PARAM_COUNT_MASK | |
| paramCount | back to summary |
|---|---|
| private final int paramCount | |
| target | back to summary |
|---|---|
| private final MethodHandle target | |
| DirectMethodHandleAccessor | back to summary |
|---|---|
| pack-priv DirectMethodHandleAccessor(Method method, MethodHandle target, boolean hasCallerParameter) | |
| callerSensitiveAdapter | back to summary |
|---|---|
| pack-priv static MethodAccessorImpl callerSensitiveAdapter(Method original, MethodHandle target) Creates MethodAccessorImpl for the adapter method for a caller-sensitive method. The given target method handle is the adapter method with the additional caller class parameter. | |
| checkArgumentCount | back to summary |
|---|---|
| private static void checkArgumentCount(int paramCount, Object[] args) | |
| checkReceiver | back to summary |
|---|---|
| private void checkReceiver(Object o) | |
| findCSMethodAdapter | back to summary |
|---|---|
| private static Method findCSMethodAdapter(Method method) Returns an adapter for caller-sensitive method if present. Otherwise, null. A trusted method can define an adapter method for a caller-sensitive method `foo` with an additional caller class argument that will be invoked reflectively. | |
| hasCallerParameter | back to summary |
|---|---|
| private boolean hasCallerParameter() | |
| invoke | back to summary |
|---|---|
| public Object invoke(Object obj, Object[] args) throws InvocationTargetException Implements abstract jdk. Implements jdk. Doc from jdk. Matches specification in
| |
| invoke | back to summary |
|---|---|
| public Object invoke(Object obj, Object[] args, Class<?> caller) throws InvocationTargetException Overrides jdk. Implements jdk.
| |
| invokeImpl | back to summary |
|---|---|
private Object invokeImpl(Object obj, Object[] args) throws Throwable
| |
| invokeImpl | back to summary |
|---|---|
private Object invokeImpl(Object obj, Object[] args, Class<?> caller) throws Throwable
| |
| isIllegalArgument | back to summary |
|---|---|
| private boolean isIllegalArgument(RuntimeException ex) | |
| isStatic | back to summary |
|---|---|
| private boolean isStatic() | |
| methodAccessor | back to summary |
|---|---|
| pack-priv static MethodAccessorImpl methodAccessor(Method method, MethodHandle target) Creates a MethodAccessorImpl for a non-native method. | |
| nativeAccessor | back to summary |
|---|---|
| pack-priv static MethodAccessorImpl nativeAccessor(Method method, boolean callerSensitive) Creates MethodAccessorImpl that invokes the given method via VM native reflection support. This is used for native methods. It can be used for java methods during early VM startup. | |
| Modifier and Type | Class and Description |
|---|---|
| pack-priv static class |
| Modifier and Type | Field and Description |
|---|---|
| private final boolean | |
| private final Method | |
| private MethodHandle | |
| private final Method |
| Access | Constructor and Description |
|---|---|
| pack-priv | |
| pack-priv |
| Modifier and Type | Method and Description |
|---|---|
| public Object | invoke(Object obj, Object[] args)
Implements abstract jdk. Implements jdk. Matches specification in |
| public Object | invoke(Object obj, Object[] args, Class<?> caller)
Overrides jdk. Implements jdk.
|
| private static native Object | |
| public Object | |
| private MethodHandle |
| callerSensitive | back to summary |
|---|---|
| private final boolean callerSensitive | |
| csmAdapter | back to summary |
|---|---|
| private final Method csmAdapter | |
| maInvoker | back to summary |
|---|---|
| private MethodHandle maInvoker | |
| method | back to summary |
|---|---|
| private final Method method | |
| NativeAccessor | back to summary |
|---|---|
| pack-priv NativeAccessor(Method method) | |
| NativeAccessor | back to summary |
|---|---|
| pack-priv NativeAccessor(Method method, Method csmAdapter) | |
| invoke | back to summary |
|---|---|
| public Object invoke(Object obj, Object[] args) throws InvocationTargetException Implements abstract jdk. Implements jdk. Doc from jdk. Matches specification in
| |
| invoke | back to summary |
|---|---|
| public Object invoke(Object obj, Object[] args, Class<?> caller) throws InvocationTargetException Overrides jdk. Implements jdk.
| |
| invoke0 | back to summary |
|---|---|
| private static native Object invoke0(Method m, Object obj, Object[] args) | |
| invokeViaReflectiveInvoker | back to summary |
|---|---|
| public Object invokeViaReflectiveInvoker(Object obj, Object[] args) throws InvocationTargetException | |
| methodAccessorInvoker | back to summary |
|---|---|
| private MethodHandle methodAccessorInvoker() | |
| Modifier and Type | Field and Description |
|---|---|
| pack-priv static final JavaLangInvokeAccess | |
| pack-priv static final MethodHandle |
| Access | Constructor and Description |
|---|---|
| pack-priv |
| Modifier and Type | Method and Description |
|---|---|
| pack-priv static MethodHandle | bindTo(DirectMethodHandleAccessor.
Return a method handle for NativeAccessor::invoke bound to the given accessor object |
| pack-priv static Object |
| JLIA | back to summary |
|---|---|
| pack-priv static final JavaLangInvokeAccess JLIA | |
| NATIVE_ACCESSOR_INVOKE | back to summary |
|---|---|
| pack-priv static final MethodHandle NATIVE_ACCESSOR_INVOKE | |
| ReflectiveInvoker | back to summary |
|---|---|
| pack-priv ReflectiveInvoker() | |
| bindTo | back to summary |
|---|---|
| pack-priv static MethodHandle bindTo(DirectMethodHandleAccessor. Return a method handle for NativeAccessor::invoke bound to the given accessor object | |
| invoke | back to summary |
|---|---|
| pack-priv static Object invoke(MethodHandle target, Class<?> caller, Object obj, Object[] args) throws InvocationTargetException | |