Package org.jruby.ir.targets.indy
Class Bootstrap
java.lang.Object
org.jruby.ir.targets.indy.Bootstrap
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classstatic class -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final MethodHandleprivate static final com.headius.invokebinder.Binderstatic final Stringstatic final Stringstatic final Stringstatic final org.objectweb.asm.Handlestatic final org.objectweb.asm.Handleprivate static final MethodHandleprivate static final MethodHandlestatic final org.objectweb.asm.Handleprivate static final MethodHandleprivate static final MethodHandleprivate static final MethodHandleprivate static final MethodHandleprivate static final MethodHandleprivate static final String[]private static final MethodHandleprivate static final MethodHandleprivate static final MethodHandleprivate static final Logger(package private) static final MethodHandles.Lookupprivate static final MethodHandlestatic final org.objectweb.asm.Handleprivate static final MethodHandleprivate static final MethodHandleprivate static final MethodHandleprivate static final MethodHandleprivate static final MethodHandleprivate static final MethodHandle -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic org.objectweb.asm.Handlearray()static CallSitearray(MethodHandles.Lookup lookup, String name, MethodType type) static RubyArrayarray(ThreadContext context, IRubyObject[] ary) static IRubyObjectbooleanOrNil(Ruby runtime, Boolean b) (package private) static MethodHandlebuildAttrHandle(InvokeSite site, CacheEntry entry, IRubyObject self) (package private) static MethodHandlebuildGenericHandle(InvokeSite site, CacheEntry entry) (package private) static MethodHandlebuildIndyHandle(InvokeSite site, CacheEntry entry) (package private) static MethodHandlebuildJittedHandle(InvokeSite site, CacheEntry entry, boolean blockGiven) (package private) static MethodHandlebuildMethodMissingHandle(InvokeSite site, CacheEntry entry, IRubyObject self) (package private) static MethodHandlebuildNativeHandle(InvokeSite site, CacheEntry entry, boolean blockGiven) static org.objectweb.asm.Handlebytelist()static CallSitebytelist(MethodHandles.Lookup lookup, String name, MethodType type, String value, String encodingName) static ByteListstatic CallSitecallSite(MethodHandles.Lookup lookup, String name, MethodType type, String id, int callType) private static CachingCallSitestatic CallSitecheckArity(MethodHandles.Lookup lookup, String name, MethodType type, int req, int opt, int rest, int key, int keyrest) static voidcheckArity(ThreadContext context, StaticScope scope, Object[] args, Block block, int req, int opt, boolean rest, boolean key, int keyrest) static CallSitecheckpointBootstrap(MethodHandles.Lookup lookup, String name, MethodType type) static voidcheckpointFallback(MutableCallSite site, ThreadContext context) static org.objectweb.asm.Handlestatic BlockconstructBlock(Binding binding, CompiledIRBlockBody body) static org.objectweb.asm.Handlestatic CallSitecontextValue(MethodHandles.Lookup lookup, String name, MethodType type) static org.objectweb.asm.Handlestatic CallSitecontextValueString(MethodHandles.Lookup lookup, String name, MethodType type, String str) static CallSitecoverLineBootstrap(MethodHandles.Lookup lookup, String name, MethodType type, String filename, int line, int oneshot) static voidcoverLineFallback(MutableCallSite site, ThreadContext context, String filename, int line, boolean oneshot) static org.objectweb.asm.Handleprivate static MethodHandlecreateAttrReaderHandle(InvokeSite site, IRubyObject self, RubyClass cls, VariableAccessor accessor) private static MethodHandlecreateAttrWriterHandle(InvokeSite site, IRubyObject self, RubyClass cls, VariableAccessor accessor) private static MethodHandlecreateJavaHandle(InvokeSite site, DynamicMethod method) static CallSiteemptyString(MethodHandles.Lookup lookup, String name, MethodType type, String encodingName) static RubyEncodingencoding(ThreadContext context, MutableCallSite site, String name) private static org.jcodings.EncodingencodingFromName(String encodingName) static IRubyObjectFalse(ThreadContext context, MutableCallSite site) static IRubyObjectfixnumOrNil(Ruby runtime, Byte b) static IRubyObjectfixnumOrNil(Ruby runtime, Character c) static IRubyObjectfixnumOrNil(Ruby runtime, Integer i) static IRubyObjectfixnumOrNil(Ruby runtime, Long l) static IRubyObjectfixnumOrNil(Ruby runtime, Short s) static IRubyObjectfloatOrNil(Ruby runtime, Double d) static IRubyObjectfloatOrNil(Ruby runtime, Float f) static BindingframeBinding(ThreadContext context, IRubyObject self, DynamicScope scope) static RubyStringfrozenString(ThreadContext context, MutableCallSite site, ByteList value, int cr, String file, int line) static org.objectweb.asm.Handlefstring()static CallSitefstring(MethodHandles.Lookup lookup, String name, MethodType type, String value, String encodingName, int cr, String file, int line) private static intgetArgCount(Class[] args, boolean isStatic) static org.objectweb.asm.HandlegetBootstrapHandle(String name, Class type, String sig) static org.objectweb.asm.HandlegetBootstrapHandle(String name, String sig) static org.objectweb.asm.Handlestatic org.objectweb.asm.Handlestatic IRubyObjectgetGlobalFallback(GlobalSite site, ThreadContext context) static IRubyObjectgetGlobalUncached(GlobalVariable variable) static intgetNativeArgCount(DynamicMethod method, DynamicMethod.NativeCall nativeCall) static org.objectweb.asm.Handleglobal()static CallSiteglobalBootstrap(MethodHandles.Lookup lookup, String name, MethodType type, String file, int line) static org.objectweb.asm.Handlehash()static CallSitehash(MethodHandles.Lookup lookup, String name, MethodType type) static RubyHashhash(ThreadContext context, IRubyObject[] pairs) static org.objectweb.asm.Handlestatic CallSiteisNil(MethodHandles.Lookup lookup, String name, MethodType type) static org.objectweb.asm.Handlestatic CallSiteisTrue(MethodHandles.Lookup lookup, String name, MethodType type) static org.objectweb.asm.Handlestatic org.objectweb.asm.Handlestatic CallSitekwargsHash(MethodHandles.Lookup lookup, String name, MethodType type) static RubyHashkwargsHash(ThreadContext context, RubyHash hash, IRubyObject[] pairs) (package private) static String(package private) static StringlogMethod(DynamicMethod method) private static booleanmethodWantsBlock(DynamicMethod method) static IRubyObjectnil(ThreadContext context, MutableCallSite site) private static Objectstatic CallSiteopenMetaClass(MethodHandles.Lookup lookup, String name, MethodType type, MethodHandle body, MethodHandle scope, MethodHandle setScope, int line, int dynscopeEliminated, int refinements) static DynamicMethodopenMetaClass(ThreadContext context, IRubyObject object, String descriptor, StaticScope parent, MethodHandle body, StaticScope scope, MethodHandle setScope, int line, boolean dynscopeEliminated, boolean refinements) private static com.headius.invokebinder.SmartBinderpermuteForGenericCall(com.headius.invokebinder.SmartBinder binder, DynamicMethod method, String... basePermutes) static org.objectweb.asm.Handlestatic CallSiteprepareBlock(MethodHandles.Lookup lookup, String name, MethodType type, MethodHandle bodyHandle, MethodHandle scopeHandle, MethodHandle setScopeHandle, MethodHandle parentHandle, String scopeDescriptor, long encodedSignature, String file, int line, String encodedArgumentDescriptors) static Rubyruntime(ThreadContext context, MutableCallSite site) static BindingscopeBinding(ThreadContext context, IRubyObject self, DynamicScope scope) static BindingselfBinding(ThreadContext context, IRubyObject self, DynamicScope scope) static voidsetGlobalFallback(GlobalSite site, IRubyObject value, ThreadContext context) static voidsetGlobalUncached(GlobalVariable variable, IRubyObject value) static org.objectweb.asm.Handlestring()static CallSitestring(MethodHandles.Lookup lookup, String name, MethodType type, String value, String encodingName, int cr) static RubyStringstring(ThreadContext context, ByteList value, int cr) static IRubyObjectstringOrNil(Ruby runtime, CharSequence cs) static booleansubclassProxyTest(Object target) static booleantestModuleMatch(ThreadContext context, IRubyObject arg0, int id) static booleantestType(RubyClass original, IRubyObject self) static IRubyObjectTrue(ThreadContext context, MutableCallSite site) static IRubyObjectvalueOrNil(IRubyObject value, IRubyObject nil)
-
Field Details
-
BOOTSTRAP_BARE_SIG
-
BOOTSTRAP_LONG_STRING_INT_SIG
-
BOOTSTRAP_DOUBLE_STRING_INT_SIG
-
LOG
-
LOOKUP
-
EMPTY_STRING_BOOTSTRAP
public static final org.objectweb.asm.Handle EMPTY_STRING_BOOTSTRAP -
GENERIC_CALL_PERMUTE
-
STRING_HANDLE
-
FSTRING_HANDLE
-
CALLSITE
public static final org.objectweb.asm.Handle CALLSITE -
OPEN_META_CLASS
public static final org.objectweb.asm.Handle OPEN_META_CLASS -
OPEN_META_CLASS_HANDLE
-
CHECK_ARITY
public static final org.objectweb.asm.Handle CHECK_ARITY -
CHECK_ARITY_HANDLE
-
ARRAY_HANDLE
-
HASH_HANDLE
-
KWARGS_HASH_HANDLE
-
RUNTIME_HANDLE
-
NIL_HANDLE
-
TRUE_HANDLE
-
FALSE_HANDLE
-
ENCODING_HANDLE
-
IS_JAVA_SUBCLASS
-
BINDING_MAKER_BINDER
private static final com.headius.invokebinder.Binder BINDING_MAKER_BINDER -
FRAME_SCOPE_BINDING
-
FRAME_BINDING
-
SCOPE_BINDING
-
SELF_BINDING
-
CONSTRUCT_BLOCK
-
-
Constructor Details
-
Bootstrap
public Bootstrap()
-
-
Method Details
-
string
public static CallSite string(MethodHandles.Lookup lookup, String name, MethodType type, String value, String encodingName, int cr) -
fstring
public static CallSite fstring(MethodHandles.Lookup lookup, String name, MethodType type, String value, String encodingName, int cr, String file, int line) -
emptyString
public static CallSite emptyString(MethodHandles.Lookup lookup, String name, MethodType type, String encodingName) -
isNilBoot
public static org.objectweb.asm.Handle isNilBoot() -
isNil
-
isTrueBoot
public static org.objectweb.asm.Handle isTrueBoot() -
isTrue
-
bytelist
public static CallSite bytelist(MethodHandles.Lookup lookup, String name, MethodType type, String value, String encodingName) -
bytelist
-
encodingFromName
-
callSite
public static CallSite callSite(MethodHandles.Lookup lookup, String name, MethodType type, String id, int callType) -
callSite
-
openMetaClass
public static CallSite openMetaClass(MethodHandles.Lookup lookup, String name, MethodType type, MethodHandle body, MethodHandle scope, MethodHandle setScope, int line, int dynscopeEliminated, int refinements) -
openMetaClass
public static DynamicMethod openMetaClass(ThreadContext context, IRubyObject object, String descriptor, StaticScope parent, MethodHandle body, StaticScope scope, MethodHandle setScope, int line, boolean dynscopeEliminated, boolean refinements) throws Throwable - Throws:
Throwable
-
checkArity
public static CallSite checkArity(MethodHandles.Lookup lookup, String name, MethodType type, int req, int opt, int rest, int key, int keyrest) -
checkArity
public static void checkArity(ThreadContext context, StaticScope scope, Object[] args, Block block, int req, int opt, boolean rest, boolean key, int keyrest) -
array
-
hash
-
kwargsHash
-
string
public static org.objectweb.asm.Handle string() -
fstring
public static org.objectweb.asm.Handle fstring() -
bytelist
public static org.objectweb.asm.Handle bytelist() -
array
public static org.objectweb.asm.Handle array() -
hash
public static org.objectweb.asm.Handle hash() -
kwargsHash
public static org.objectweb.asm.Handle kwargsHash() -
invokeSuper
public static org.objectweb.asm.Handle invokeSuper() -
global
public static org.objectweb.asm.Handle global() -
string
-
frozenString
public static RubyString frozenString(ThreadContext context, MutableCallSite site, ByteList value, int cr, String file, int line) -
array
-
contextValue
public static org.objectweb.asm.Handle contextValue() -
contextValueString
public static org.objectweb.asm.Handle contextValueString() -
contextValue
-
contextValueString
public static CallSite contextValueString(MethodHandles.Lookup lookup, String name, MethodType type, String str) -
nil
-
True
-
False
-
runtime
-
encoding
-
hash
-
kwargsHash
-
buildIndyHandle
-
buildGenericHandle
-
permuteForGenericCall
private static com.headius.invokebinder.SmartBinder permuteForGenericCall(com.headius.invokebinder.SmartBinder binder, DynamicMethod method, String... basePermutes) -
methodWantsBlock
-
buildMethodMissingHandle
-
buildAttrHandle
-
createAttrReaderHandle
private static MethodHandle createAttrReaderHandle(InvokeSite site, IRubyObject self, RubyClass cls, VariableAccessor accessor) -
valueOrNil
-
createAttrWriterHandle
private static MethodHandle createAttrWriterHandle(InvokeSite site, IRubyObject self, RubyClass cls, VariableAccessor accessor) -
buildJittedHandle
-
buildNativeHandle
-
getNativeArgCount
-
getArgCount
-
testType
-
createJavaHandle
-
subclassProxyTest
-
nullValue
-
fixnumOrNil
-
fixnumOrNil
-
fixnumOrNil
-
fixnumOrNil
-
fixnumOrNil
-
floatOrNil
-
floatOrNil
-
booleanOrNil
-
stringOrNil
-
testModuleMatch
-
getFixnumOperatorHandle
public static org.objectweb.asm.Handle getFixnumOperatorHandle() -
getFloatOperatorHandle
public static org.objectweb.asm.Handle getFloatOperatorHandle() -
checkpointHandle
public static org.objectweb.asm.Handle checkpointHandle() -
coverLineHandle
public static org.objectweb.asm.Handle coverLineHandle() -
getBootstrapHandle
-
getBootstrapHandle
-
checkpointBootstrap
public static CallSite checkpointBootstrap(MethodHandles.Lookup lookup, String name, MethodType type) throws Throwable - Throws:
Throwable
-
checkpointFallback
- Throws:
Throwable
-
coverLineBootstrap
public static CallSite coverLineBootstrap(MethodHandles.Lookup lookup, String name, MethodType type, String filename, int line, int oneshot) throws Throwable - Throws:
Throwable
-
coverLineFallback
public static void coverLineFallback(MutableCallSite site, ThreadContext context, String filename, int line, boolean oneshot) throws Throwable - Throws:
Throwable
-
globalBootstrap
public static CallSite globalBootstrap(MethodHandles.Lookup lookup, String name, MethodType type, String file, int line) throws Throwable - Throws:
Throwable
-
getGlobalFallback
public static IRubyObject getGlobalFallback(GlobalSite site, ThreadContext context) throws Throwable - Throws:
Throwable
-
getGlobalUncached
- Throws:
Throwable
-
setGlobalFallback
public static void setGlobalFallback(GlobalSite site, IRubyObject value, ThreadContext context) throws Throwable - Throws:
Throwable
-
setGlobalUncached
- Throws:
Throwable
-
prepareBlock
public static org.objectweb.asm.Handle prepareBlock() -
prepareBlock
public static CallSite prepareBlock(MethodHandles.Lookup lookup, String name, MethodType type, MethodHandle bodyHandle, MethodHandle scopeHandle, MethodHandle setScopeHandle, MethodHandle parentHandle, String scopeDescriptor, long encodedSignature, String file, int line, String encodedArgumentDescriptors) throws Throwable - Throws:
Throwable
-
logMethod
-
logBlock
-
frameBinding
-
scopeBinding
-
selfBinding
-
constructBlock
- Throws:
Throwable
-