| Modifier and Type | Field and Description |
|---|---|
| private final Class | |
| private final VarHandle | |
| private final BiFunction | |
| private final VarHandle | |
| private final Class |
| Access | Constructor and Description |
|---|---|
| pack-priv | IndirectVarHandle(VarHandle target, Class<?> value, Class<?>[] coordinates, BiFunction<VarHandle.
|
| private | IndirectVarHandle(VarHandle target, Class<?> value, Class<?>[] coordinates, BiFunction<VarHandle.
|
| Modifier and Type | Method and Description |
|---|---|
| pack-priv MethodType | accessModeTypeUncached(VarHandle.
Implements abstract java.
|
| pack-priv VarHandle | |
| pack-priv boolean | checkAccessModeThenIsDirect(VarHandle.
Overrides java. Validates that the given access descriptors method type matches up with the access mode of this VarHandle, then returns if this is direct. |
| pack-priv MethodHandle | getMethodHandleUncached(int mode)
Overrides java. Computes a method handle that can be passed the direct var handle of this var handle with the given access mode. |
| public boolean | isAccessModeSupported(VarHandle.
Overrides java. Returns |
| public VarHandle | withInvokeBehavior()
Implements abstract java. Returns a VarHandle, with access to the same variable(s) as this VarHandle, but whose invocation behavior of access mode methods is adjusted to invoke behavior. |
| public VarHandle | withInvokeExactBehavior()
Implements abstract java. Returns a VarHandle, with access to the same variable(s) as this VarHandle, but whose invocation behavior of access mode methods is adjusted to invoke-exact behavior. |
| coordinates | back to summary |
|---|---|
| private final Class<?>[] coordinates | |
| directTarget | back to summary |
|---|---|
| private final VarHandle directTarget | |
| handleFactory | back to summary |
|---|---|
| private final BiFunction<VarHandle. | |
| target | back to summary |
|---|---|
| private final VarHandle target | |
| value | back to summary |
|---|---|
| private final Class<?> value | |
| IndirectVarHandle | back to summary |
|---|---|
| pack-priv IndirectVarHandle(VarHandle target, Class<?> value, Class<?>[] coordinates, BiFunction<VarHandle. | |
| IndirectVarHandle | back to summary |
|---|---|
| private IndirectVarHandle(VarHandle target, Class<?> value, Class<?>[] coordinates, BiFunction<VarHandle. | |
| accessModeTypeUncached | back to summary |
|---|---|
| pack-priv MethodType accessModeTypeUncached(VarHandle. Implements abstract java.
| |
| asDirect | back to summary |
|---|---|
| pack-priv VarHandle asDirect() Overrides java. Doc from java. Returns the direct target VarHandle. Indirect VarHandle subclasses should implement this method.
| |
| checkAccessModeThenIsDirect | back to summary |
|---|---|
| pack-priv boolean checkAccessModeThenIsDirect(VarHandle. Overrides java. Doc from java. Validates that the given access descriptors method type matches up with
the access mode of this VarHandle, then returns if this is direct.
These operations were grouped together to slightly
improve efficiency during startup/warmup.
A direct VarHandle's VarForm has implementation MemberNames that can
be linked directly. If a VarHandle is indirect, it must override
| |
| getMethodHandleUncached | back to summary |
|---|---|
| pack-priv MethodHandle getMethodHandleUncached(int mode) Overrides java. Doc from java. Computes a method handle that can be passed the direct var handle of this var handle with the given access mode. Pre/postprocessing such as argument or return value filtering should be done by the returned method handle.
| |
| isAccessModeSupported | back to summary |
|---|---|
| public boolean isAccessModeSupported(VarHandle. Overrides java. Doc from java. Returns The return of a
| |
| withInvokeBehavior | back to summary |
|---|---|
| public VarHandle withInvokeBehavior() Implements abstract java. Doc from java. Returns a VarHandle, with access to the same variable(s) as this VarHandle, but whose invocation behavior of access mode methods is adjusted to invoke behavior. If this VarHandle already has invoke behavior this VarHandle is returned.
Invoking
| |
| withInvokeExactBehavior | back to summary |
|---|---|
| public VarHandle withInvokeExactBehavior() Implements abstract java. Doc from java. Returns a VarHandle, with access to the same variable(s) as this VarHandle, but whose invocation behavior of access mode methods is adjusted to invoke-exact behavior. If this VarHandle already has invoke-exact behavior this VarHandle is returned.
Invoking
| |