| Modifier and Type | Class and Description |
|---|---|
| public static enum | IndyInterface.CallType
Enum for easy differentiation between call types |
| private static class |
| Modifier and Type | Field and Description |
|---|---|
| private static final MethodHandle | FROM_CACHE_METHOD
handle for the fromCache method |
| public static final int | GROOVY_OBJECT
flags for method and property calls |
| public static final int | IMPLICIT_THIS
flags for method and property calls |
| private static final long | |
| private static final long | |
| protected static final Logger | LOG
Logger |
| protected static final boolean | LOG_ENABLED
boolean to indicate if logging for indy is enabled |
| public static final MethodHandles. | LOOKUP
LOOKUP constant used for for example unreflect calls |
| private static final MethodHandleWrapper | |
| public static final int | SAFE_NAVIGATION
flags for method and property calls |
| private static final MethodHandle | SELECT_METHOD
handle for the selectMethod method |
| public static final int | SPREAD_CALL
flags for method and property calls |
| protected static SwitchPoint | |
| public static final int | THIS_CALL
flags for method and property calls |
| public static final int | UNCACHED_CALL
flags for method and property calls |
| Access | Constructor and Description |
|---|---|
| public |
| Modifier and Type | Method and Description |
|---|---|
| public static CallSite | Returns: the produced CallSite- the caller caller,- the type of the call callType, MethodType - the call site type type, String - the real method name name, int - call flags flags)bootstrap method for method calls from Groovy compiled code with indy enabled. |
| private static <T> T | doWithCallSite(MutableCallSite callSite, Object[] arguments, BiFunction<? super CacheableCallSite, ? super Object, ? extends T> f)
|
| private static MethodHandleWrapper | |
| public static Object | |
| protected static void | |
| private static MethodHandle | make(MutableCallSite mc, Class<?> sender, String name, int callID, MethodType type, boolean safeNavigation, boolean thisCall, boolean spreadCall, MethodHandle originalMH)
|
| private static MethodHandle | makeAdapter(MutableCallSite mc, Class<?> sender, String name, int callID, MethodType type, boolean safeNavigation, boolean thisCall, boolean spreadCall)
Makes an adapter method for method selection, i.e. get the cached methodhandle(fast path) or fallback |
| protected static MethodHandle | makeFallBack(MutableCallSite mc, Class<?> sender, String name, int callID, MethodType type, boolean safeNavigation, boolean thisCall, boolean spreadCall)
Makes a fallback method for an invalidated method selection |
| private static CallSite | realBootstrap(MethodHandles.
backing bootstrap method with all parameters |
| public static Object | selectMethod(MutableCallSite callSite, Class<?> sender, String methodName, int callID, Boolean safeNavigation, Boolean thisCall, Boolean spreadCall, Object dummyReceiver, Object[] arguments)
Core method for indy method selection using runtime types. |
| public static CallSite |
| FROM_CACHE_METHOD | back to summary |
|---|---|
| private static final MethodHandle FROM_CACHE_METHOD handle for the fromCache method | |
| GROOVY_OBJECT | back to summary |
|---|---|
| public static final int GROOVY_OBJECT flags for method and property calls | |
| IMPLICIT_THIS | back to summary |
|---|---|
| public static final int IMPLICIT_THIS flags for method and property calls | |
| INDY_FALLBACK_THRESHOLD | back to summary |
|---|---|
| private static final long INDY_FALLBACK_THRESHOLD | |
| INDY_OPTIMIZE_THRESHOLD | back to summary |
|---|---|
| private static final long INDY_OPTIMIZE_THRESHOLD | |
| LOG | back to summary |
|---|---|
| protected static final Logger LOG Logger | |
| LOG_ENABLED | back to summary |
|---|---|
| protected static final boolean LOG_ENABLED boolean to indicate if logging for indy is enabled | |
| LOOKUP | back to summary |
|---|---|
| public static final MethodHandles. LOOKUP constant used for for example unreflect calls | |
| NULL_METHOD_HANDLE_WRAPPER | back to summary |
|---|---|
| private static final MethodHandleWrapper NULL_METHOD_HANDLE_WRAPPER | |
| SAFE_NAVIGATION | back to summary |
|---|---|
| public static final int SAFE_NAVIGATION flags for method and property calls | |
| SELECT_METHOD | back to summary |
|---|---|
| private static final MethodHandle SELECT_METHOD handle for the selectMethod method | |
| SPREAD_CALL | back to summary |
|---|---|
| public static final int SPREAD_CALL flags for method and property calls | |
| switchPoint | back to summary |
|---|---|
| protected static SwitchPoint switchPoint | |
| THIS_CALL | back to summary |
|---|---|
| public static final int THIS_CALL flags for method and property calls | |
| UNCACHED_CALL | back to summary |
|---|---|
| public static final int UNCACHED_CALL flags for method and property calls | |
| IndyInterface | back to summary |
|---|---|
| public IndyInterface() | |
| bootstrap | back to summary |
|---|---|
| public static CallSite bootstrap(MethodHandles. bootstrap method for method calls from Groovy compiled code with indy enabled. This method gets a flags parameter which uses the following encoding:
| |
| doWithCallSite | back to summary |
|---|---|
| private static <T> T doWithCallSite(MutableCallSite callSite, Object[] arguments, BiFunction<? super CacheableCallSite, ? super Object, ? extends T> f) | |
| fallback | back to summary |
|---|---|
| private static MethodHandleWrapper fallback(MutableCallSite callSite, Class<?> sender, String methodName, int callID, Boolean safeNavigation, Boolean thisCall, Boolean spreadCall, Object dummyReceiver, Object[] arguments) | |
| fromCache | back to summary |
|---|---|
| public static Object fromCache(MutableCallSite callSite, Class<?> sender, String methodName, int callID, Boolean safeNavigation, Boolean thisCall, Boolean spreadCall, Object dummyReceiver, Object[] arguments) throws Throwable Get the cached methodhandle. if the related methodhandle is not found in the inline cache, cache and return it. | |
| invalidateSwitchPoints | back to summary |
|---|---|
| protected static void invalidateSwitchPoints() Callback for constant meta class update change | |
| make | back to summary |
|---|---|
| private static MethodHandle make(MutableCallSite mc, Class<?> sender, String name, int callID, MethodType type, boolean safeNavigation, boolean thisCall, boolean spreadCall, MethodHandle originalMH) | |
| makeAdapter | back to summary |
|---|---|
| private static MethodHandle makeAdapter(MutableCallSite mc, Class<?> sender, String name, int callID, MethodType type, boolean safeNavigation, boolean thisCall, boolean spreadCall) Makes an adapter method for method selection, i.e. get the cached methodhandle(fast path) or fallback | |
| makeFallBack | back to summary |
|---|---|
| protected static MethodHandle makeFallBack(MutableCallSite mc, Class<?> sender, String name, int callID, MethodType type, boolean safeNavigation, boolean thisCall, boolean spreadCall) Makes a fallback method for an invalidated method selection | |
| realBootstrap | back to summary |
|---|---|
| private static CallSite realBootstrap(MethodHandles. backing bootstrap method with all parameters | |
| selectMethod | back to summary |
|---|---|
| public static Object selectMethod(MutableCallSite callSite, Class<?> sender, String methodName, int callID, Boolean safeNavigation, Boolean thisCall, Boolean spreadCall, Object dummyReceiver, Object[] arguments) throws Throwable Core method for indy method selection using runtime types. | |
| staticArrayAccess | back to summary |
|---|---|
public static CallSite staticArrayAccess(MethodHandles.
| |
| Modifier and Type | Field and Description |
|---|---|
| public static final IndyInterface. | CAST
Cast invocation type |
| public static final IndyInterface. | GET
Get property invocation type |
| public static final IndyInterface. | INIT
Constructor invocation type |
| public static final IndyInterface. | METHOD
Method invocation type |
| private final String | name
Hides java. |
| private static final Map | |
| public static final IndyInterface. | SET
Set property invocation type |
| Modifier and Type | Method and Description |
|---|---|
| public static IndyInterface. | |
| public String | |
| public static IndyInterface. | |
| public static IndyInterface. |
| CAST | back to summary |
|---|---|
| public static final IndyInterface. Cast invocation type | |
| GET | back to summary |
|---|---|
| public static final IndyInterface. Get property invocation type | |
| INIT | back to summary |
|---|---|
| public static final IndyInterface. Constructor invocation type | |
| METHOD | back to summary |
|---|---|
| public static final IndyInterface. Method invocation type | |
| name | back to summary |
|---|---|
| private final String name Hides java. The name of the call site type | |
| NAME_CALLTYPE_MAP | back to summary |
|---|---|
| private static final Map<String, IndyInterface. | |
| SET | back to summary |
|---|---|
| public static final IndyInterface. Set property invocation type | |
| CallType | back to summary |
|---|---|
| private CallType(String callSiteName) | |
| fromCallSiteName | back to summary |
|---|---|
| public static IndyInterface. | |
| getCallSiteName | back to summary |
|---|---|
| public String getCallSiteName() Returns the name of the call site type | |
| valueOf | back to summary |
|---|---|
| public static IndyInterface. | |
| values | back to summary |
|---|---|
| public static IndyInterface. | |
| Modifier and Type | Field and Description |
|---|---|
| private final Object[] | |
| private final int | |
| private final MutableCallSite | |
| private final Object | |
| private final String | |
| private MethodHandleWrapper | |
| private final Boolean | |
| private final Class | |
| private final Boolean | |
| private final Boolean |
| Access | Constructor and Description |
|---|---|
| pack-priv | FallbackSupplier(MutableCallSite callSite, Class<?> sender, String methodName, int callID, Boolean safeNavigation, Boolean thisCall, Boolean spreadCall, Object dummyReceiver, Object[] arguments)
|
| Modifier and Type | Method and Description |
|---|---|
| pack-priv MethodHandleWrapper |
| arguments | back to summary |
|---|---|
| private final Object[] arguments | |
| callID | back to summary |
|---|---|
| private final int callID | |
| callSite | back to summary |
|---|---|
| private final MutableCallSite callSite | |
| dummyReceiver | back to summary |
|---|---|
| private final Object dummyReceiver | |
| methodName | back to summary |
|---|---|
| private final String methodName | |
| result | back to summary |
|---|---|
| private MethodHandleWrapper result | |
| safeNavigation | back to summary |
|---|---|
| private final Boolean safeNavigation | |
| sender | back to summary |
|---|---|
| private final Class<?> sender | |
| spreadCall | back to summary |
|---|---|
| private final Boolean spreadCall | |
| thisCall | back to summary |
|---|---|
| private final Boolean thisCall | |
| FallbackSupplier | back to summary |
|---|---|
| pack-priv FallbackSupplier(MutableCallSite callSite, Class<?> sender, String methodName, int callID, Boolean safeNavigation, Boolean thisCall, Boolean spreadCall, Object dummyReceiver, Object[] arguments) | |
| get | back to summary |
|---|---|
| pack-priv MethodHandleWrapper get() | |