public class IRBytecodeAdapter6 extends IRBytecodeAdapter
IRBytecodeAdapter.BlockPassType| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
SUPER_NOSPLAT_RESOLVED |
static java.lang.String |
SUPER_NOSPLAT_UNRESOLVED |
static java.lang.String |
SUPER_SPLAT_RESOLVED |
static java.lang.String |
SUPER_SPLAT_UNRESOLVED |
adapter, ipc, MAX_ARGUMENTS, signature| Constructor and Description |
|---|
IRBytecodeAdapter6(SkinnyMethodAdapter adapter,
com.headius.invokebinder.Signature signature,
org.jruby.ir.targets.ClassData classData) |
| Modifier and Type | Method and Description |
|---|---|
void |
array(int length)
Construct an Array from elements on stack.
|
static void |
buildArrayFromLocals(SkinnyMethodAdapter adapter2,
int base,
int arity) |
java.lang.String |
cacheValuePermanently(java.lang.String what,
java.lang.Class type,
java.lang.Object key,
boolean sync,
java.lang.Runnable construction) |
java.lang.String |
cacheValuePermanently(java.lang.String what,
java.lang.Class type,
java.lang.Object key,
boolean sync,
java.lang.String signature,
java.lang.Runnable loadState,
java.lang.Runnable construction) |
java.lang.String |
cacheValuePermanentlyLoadContext(java.lang.String what,
java.lang.Class type,
java.lang.Object key,
java.lang.Runnable construction) |
void |
callEqq(EQQInstr call)
Perform a === call appropriate for a case/when statement.
|
void |
checkpoint()
Perform a thread event checkpoint.
|
void |
getField(java.lang.String name)
Load instance variable from self.
|
void |
getGlobalVariable(java.lang.String name,
java.lang.String file,
int line)
Retrieve a global variable with the given name.
|
void |
hash(int length)
Construct a Hash from elements on stack.
|
void |
inheritanceSearchConst(java.lang.String name,
boolean noPrivateConsts)
Lookup a constant from a given class or module.
|
void |
invoke(java.lang.String file,
int lineNumber,
java.lang.String scopeFieldName,
CallBase call,
int arity) |
void |
invokeArrayDeref(java.lang.String file,
int line,
CallBase call)
Invoke the array dereferencing method ([]) on an object other than self.
|
void |
invokeClassSuper(java.lang.String file,
int line,
java.lang.String name,
int arity,
boolean hasClosure,
boolean[] splatmap)
Invoke a superclass method from a class context.
|
void |
invokeInstanceSuper(java.lang.String file,
int line,
java.lang.String name,
int arity,
boolean hasClosure,
boolean[] splatmap)
Invoke a superclass method from an instance context.
|
void |
invokeOther(java.lang.String file,
int line,
java.lang.String scopeFieldName,
CallBase call,
int arity)
Invoke a method on an object other than self.
|
void |
invokeOtherOneFixnum(java.lang.String file,
int line,
CallBase call,
long fixnum)
Invoke a fixnum-receiving method on an object other than self.
|
void |
invokeOtherOneFloat(java.lang.String file,
int line,
CallBase call,
double flote)
Invoke a float-receiving method on an object other than self.
|
void |
invokeSelf(java.lang.String file,
int line,
java.lang.String scopeFieldName,
CallBase call,
int arity)
Invoke a method on self.
|
void |
invokeUnresolvedSuper(java.lang.String file,
int line,
java.lang.String name,
int arity,
boolean hasClosure,
boolean[] splatmap)
Invoke a superclass method from an unresolved context.
|
void |
invokeZSuper(java.lang.String file,
int line,
java.lang.String name,
int arity,
boolean hasClosure,
boolean[] splatmap)
Invoke a superclass method from a zsuper in a block.
|
void |
kwargsHash(int length)
Construct a Hash based on keyword arguments pasesd to this method, for use in zsuper
Stack required: context, kwargs hash to dup, remaining elements of hash
|
void |
lexicalSearchConst(java.lang.String name)
Lookup a constant from a lexical scope.
|
void |
loadRuntime()
Push the JRuby runtime on the stack.
|
void |
prepareBlock(org.objectweb.asm.Handle handle,
Signature signature,
java.lang.String className)
Prepare a block for a subsequent call.
|
void |
pushBignum(java.math.BigInteger bigint)
Load a Bignum onto the stack.
|
void |
pushBoolean(boolean b)
Load a boolean onto the stack.
|
void |
pushByteList(ByteList bl)
Stack required: none
|
void |
pushDRegexp(java.lang.Runnable callback,
RegexpOptions options,
int arity)
Build a dynamic regexp.
|
void |
pushEncoding(org.jcodings.Encoding encoding)
Push an encoding on the stack.
|
void |
pushFixnum(long l)
Stack required: none
|
void |
pushFloat(double d)
Stack required: none
|
void |
pushFrozenString(ByteList bl,
int cr,
java.lang.String file,
int line)
Stack required: none
|
void |
pushNil()
Load nil onto the stack.
|
void |
pushRegexp(ByteList source,
int options)
Build and save a literal regular expression.
|
void |
pushString(ByteList bl,
int cr)
Stack required: none
|
void |
pushSymbol(ByteList bytes)
Push a symbol on the stack.
|
void |
pushSymbolProc(java.lang.String id)
Push a Symbol.to_proc on the stack.
|
void |
putField(java.lang.String name)
Store instance variable into self.
|
void |
searchConst(java.lang.String name,
boolean noPrivateConsts)
Lookup a constant from current context.
|
void |
searchModuleForConst(java.lang.String name,
boolean noPrivateConsts,
boolean callConstMissing)
Lookup a constant from current module.
|
void |
setGlobalVariable(java.lang.String name,
java.lang.String file,
int line)
Set the global variable with the given name to the value on stack.
|
void |
yield(boolean unwrap)
Yield argument list to a block.
|
void |
yieldSpecific()
Yield to a block.
|
void |
yieldValues(int arity)
Yield a number of flat arguments to a block.
|
bfalse, branchIfNil, branchIfTruthy, btrue, cacheCallSite, endMethod, getClassData, getUniqueSiteName, goTo, invokeHelper, invokeHelper, invokeIRHelper, invokeStatic, invokeVirtual, loadArgs, loadBlock, loadContext, loadFrameClass, loadFrameName, loadLocal, loadSelf, loadSelfBlock, loadStaticScope, mark, newLabel, newLocal, poll, pushHandle, pushObjectClass, pushUndefined, returnValue, startMethod, storeArgs, storeLocal, storeSelfpublic static final java.lang.String SUPER_SPLAT_UNRESOLVED
public static final java.lang.String SUPER_NOSPLAT_UNRESOLVED
public static final java.lang.String SUPER_SPLAT_RESOLVED
public static final java.lang.String SUPER_NOSPLAT_RESOLVED
public IRBytecodeAdapter6(SkinnyMethodAdapter adapter, com.headius.invokebinder.Signature signature, org.jruby.ir.targets.ClassData classData)
public void pushFixnum(long l)
IRBytecodeAdapterpushFixnum in class IRBytecodeAdapterl - long value to push as a Fixnumpublic void pushFloat(double d)
IRBytecodeAdapterpushFloat in class IRBytecodeAdapterd - double value to push as a Floatpublic void pushString(ByteList bl, int cr)
IRBytecodeAdapterpushString in class IRBytecodeAdapterbl - ByteList for the String to pushpublic void pushFrozenString(ByteList bl, int cr, java.lang.String file, int line)
pushFrozenString in class IRBytecodeAdapterbl - ByteList for the String to pushpublic void pushByteList(ByteList bl)
IRBytecodeAdapterpushByteList in class IRBytecodeAdapterbl - ByteList to pushpublic java.lang.String cacheValuePermanentlyLoadContext(java.lang.String what,
java.lang.Class type,
java.lang.Object key,
java.lang.Runnable construction)
public java.lang.String cacheValuePermanently(java.lang.String what,
java.lang.Class type,
java.lang.Object key,
boolean sync,
java.lang.Runnable construction)
public java.lang.String cacheValuePermanently(java.lang.String what,
java.lang.Class type,
java.lang.Object key,
boolean sync,
java.lang.String signature,
java.lang.Runnable loadState,
java.lang.Runnable construction)
public void pushRegexp(ByteList source, int options)
IRBytecodeAdapterpushRegexp in class IRBytecodeAdapteroptions - options for the regexppublic void pushDRegexp(java.lang.Runnable callback,
RegexpOptions options,
int arity)
IRBytecodeAdapterpushDRegexp in class IRBytecodeAdapteroptions - options for the regexparity - number of Strings passed inpublic void pushSymbol(ByteList bytes)
IRBytecodeAdapterpushSymbol in class IRBytecodeAdapterbytes - the ByteList for the symbolpublic void pushSymbolProc(java.lang.String id)
IRBytecodeAdapterpushSymbolProc in class IRBytecodeAdapterid - raw id string for the symbol.public void loadRuntime()
IRBytecodeAdapterloadRuntime in class IRBytecodeAdapterpublic void pushEncoding(org.jcodings.Encoding encoding)
IRBytecodeAdapterpushEncoding in class IRBytecodeAdapterencoding - the encoding to pushpublic void invokeOther(java.lang.String file,
int line,
java.lang.String scopeFieldName,
CallBase call,
int arity)
IRBytecodeAdapterinvokeOther in class IRBytecodeAdaptercall - the call to be invokedpublic void invokeArrayDeref(java.lang.String file,
int line,
CallBase call)
IRBytecodeAdapterinvokeArrayDeref in class IRBytecodeAdapterpublic void invoke(java.lang.String file,
int lineNumber,
java.lang.String scopeFieldName,
CallBase call,
int arity)
public static void buildArrayFromLocals(SkinnyMethodAdapter adapter2, int base, int arity)
public void invokeOtherOneFixnum(java.lang.String file,
int line,
CallBase call,
long fixnum)
IRBytecodeAdapterinvokeOtherOneFixnum in class IRBytecodeAdapterpublic void invokeOtherOneFloat(java.lang.String file,
int line,
CallBase call,
double flote)
IRBytecodeAdapterinvokeOtherOneFloat in class IRBytecodeAdapterpublic void invokeSelf(java.lang.String file,
int line,
java.lang.String scopeFieldName,
CallBase call,
int arity)
IRBytecodeAdapterinvokeSelf in class IRBytecodeAdapterfile - the filename of the script making this callline - the line number where this call appearscall - to be invoked on selfarity - of the call.public void invokeInstanceSuper(java.lang.String file,
int line,
java.lang.String name,
int arity,
boolean hasClosure,
boolean[] splatmap)
IRBytecodeAdapterinvokeInstanceSuper in class IRBytecodeAdapterfile - the filename of the script making this callline - the line number where this call appearsname - name of the method to invokearity - arity of the arguments on the stackhasClosure - whether a block is passedsplatmap - a map of arguments to be splatted back into arg listpublic void invokeClassSuper(java.lang.String file,
int line,
java.lang.String name,
int arity,
boolean hasClosure,
boolean[] splatmap)
IRBytecodeAdapterinvokeClassSuper in class IRBytecodeAdapterfile - the filename of the script making this callline - the line number where this call appearsname - name of the method to invokearity - arity of the arguments on the stackhasClosure - whether a block is passedsplatmap - a map of arguments to be splatted back into arg listpublic void invokeUnresolvedSuper(java.lang.String file,
int line,
java.lang.String name,
int arity,
boolean hasClosure,
boolean[] splatmap)
IRBytecodeAdapterinvokeUnresolvedSuper in class IRBytecodeAdapterfile - the filename of the script making this callline - the line number where this call appearsname - name of the method to invokearity - arity of the arguments on the stackhasClosure - whether a block is passedsplatmap - a map of arguments to be splatted back into arg listpublic void invokeZSuper(java.lang.String file,
int line,
java.lang.String name,
int arity,
boolean hasClosure,
boolean[] splatmap)
IRBytecodeAdapterinvokeZSuper in class IRBytecodeAdapterfile - the filename of the script making this callline - the line number where this call appearsname - name of the method to invokearity - arity of the arguments on the stackhasClosure - whether a block is passedsplatmap - a map of arguments to be splatted back into arg listpublic void searchConst(java.lang.String name,
boolean noPrivateConsts)
IRBytecodeAdaptersearchConst in class IRBytecodeAdaptername - name of the constantnoPrivateConsts - whether to ignore private constantspublic void searchModuleForConst(java.lang.String name,
boolean noPrivateConsts,
boolean callConstMissing)
IRBytecodeAdaptersearchModuleForConst in class IRBytecodeAdaptername - name of the constantnoPrivateConsts - whether to ignore private constantspublic void inheritanceSearchConst(java.lang.String name,
boolean noPrivateConsts)
IRBytecodeAdapterinheritanceSearchConst in class IRBytecodeAdaptername - name of the constantnoPrivateConsts - whether to ignore private constantspublic void lexicalSearchConst(java.lang.String name)
IRBytecodeAdapterlexicalSearchConst in class IRBytecodeAdaptername - name of the constantpublic void pushNil()
IRBytecodeAdapterpushNil in class IRBytecodeAdapterpublic void pushBoolean(boolean b)
IRBytecodeAdapterpushBoolean in class IRBytecodeAdapterb - the boolean to pushpublic void pushBignum(java.math.BigInteger bigint)
IRBytecodeAdapterpushBignum in class IRBytecodeAdapterbigint - the value of the Bignum to pushpublic void putField(java.lang.String name)
IRBytecodeAdapterputField in class IRBytecodeAdaptername - name of variable to storepublic void getField(java.lang.String name)
IRBytecodeAdaptergetField in class IRBytecodeAdaptername - name of variable to loadpublic void array(int length)
IRBytecodeAdapterarray in class IRBytecodeAdapterlength - number of elementspublic void hash(int length)
IRBytecodeAdapterhash in class IRBytecodeAdapterlength - number of element pairspublic void kwargsHash(int length)
IRBytecodeAdapterkwargsHash in class IRBytecodeAdapterlength - number of element pairspublic void checkpoint()
IRBytecodeAdaptercheckpoint in class IRBytecodeAdapterpublic void getGlobalVariable(java.lang.String name,
java.lang.String file,
int line)
IRBytecodeAdaptergetGlobalVariable in class IRBytecodeAdapterpublic void setGlobalVariable(java.lang.String name,
java.lang.String file,
int line)
IRBytecodeAdaptersetGlobalVariable in class IRBytecodeAdapterpublic void yield(boolean unwrap)
IRBytecodeAdapteryield in class IRBytecodeAdapterpublic void yieldSpecific()
IRBytecodeAdapteryieldSpecific in class IRBytecodeAdapterpublic void yieldValues(int arity)
IRBytecodeAdapteryieldValues in class IRBytecodeAdapterpublic void prepareBlock(org.objectweb.asm.Handle handle,
Signature signature,
java.lang.String className)
IRBytecodeAdapterprepareBlock in class IRBytecodeAdapterpublic void callEqq(EQQInstr call)
IRBytecodeAdaptercallEqq in class IRBytecodeAdapterCopyright © 2001-2018 JRuby. All Rights Reserved.