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, lastLine, 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) |
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)
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,
java.lang.String scopeFieldName,
CallBase call)
Invoke the array dereferencing method ([]) on an object other than self.
|
void |
invokeAsString(java.lang.String file,
java.lang.String scopeFieldName,
CallBase call)
Invoke the to_s method with AsString semantics (tainting, refinements, etc).
|
void |
invokeClassSuper(java.lang.String file,
java.lang.String name,
int arity,
boolean hasClosure,
boolean[] splatmap)
Invoke a superclass method from a class context.
|
void |
invokeInstanceSuper(java.lang.String file,
java.lang.String name,
int arity,
boolean hasClosure,
boolean[] splatmap)
Invoke a superclass method from an instance context.
|
void |
invokeOther(java.lang.String file,
java.lang.String scopeFieldName,
CallBase call,
int arity)
Invoke a method on an object other than self.
|
void |
invokeOtherOneFixnum(java.lang.String file,
CallBase call,
long fixnum)
Invoke a fixnum-receiving method on an object other than self.
|
void |
invokeOtherOneFloat(java.lang.String file,
CallBase call,
double flote)
Invoke a float-receiving method on an object other than self.
|
void |
invokeSelf(java.lang.String file,
java.lang.String scopeFieldName,
CallBase call,
int arity)
Invoke a method on self.
|
void |
invokeUnresolvedSuper(java.lang.String file,
java.lang.String name,
int arity,
boolean hasClosure,
boolean[] splatmap)
Invoke a superclass method from an unresolved context.
|
void |
invokeZSuper(java.lang.String file,
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(ByteList bytes)
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)
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, storeSelf, updateLineNumber
public 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)
IRBytecodeAdapter
pushFixnum
in class IRBytecodeAdapter
l
- long value to push as a Fixnumpublic void pushFloat(double d)
IRBytecodeAdapter
pushFloat
in class IRBytecodeAdapter
d
- double value to push as a Floatpublic void pushString(ByteList bl, int cr)
IRBytecodeAdapter
pushString
in class IRBytecodeAdapter
bl
- ByteList for the String to pushpublic void pushFrozenString(ByteList bl, int cr, java.lang.String file, int line)
IRBytecodeAdapter
pushFrozenString
in class IRBytecodeAdapter
bl
- ByteList for the String to pushpublic void pushByteList(ByteList bl)
IRBytecodeAdapter
pushByteList
in class IRBytecodeAdapter
bl
- ByteList to pushpublic void pushRegexp(ByteList source, int options)
IRBytecodeAdapter
pushRegexp
in class IRBytecodeAdapter
options
- options for the regexppublic void pushDRegexp(java.lang.Runnable callback, RegexpOptions options, int arity)
IRBytecodeAdapter
pushDRegexp
in class IRBytecodeAdapter
options
- options for the regexparity
- number of Strings passed inpublic void pushSymbol(ByteList bytes)
IRBytecodeAdapter
pushSymbol
in class IRBytecodeAdapter
bytes
- the ByteList for the symbolpublic void pushSymbolProc(ByteList bytes)
IRBytecodeAdapter
pushSymbolProc
in class IRBytecodeAdapter
bytes
- the ByteList for the symbolpublic void loadRuntime()
IRBytecodeAdapter
loadRuntime
in class IRBytecodeAdapter
public void pushEncoding(org.jcodings.Encoding encoding)
IRBytecodeAdapter
pushEncoding
in class IRBytecodeAdapter
encoding
- the encoding to pushpublic void invokeOther(java.lang.String file, java.lang.String scopeFieldName, CallBase call, int arity)
IRBytecodeAdapter
invokeOther
in class IRBytecodeAdapter
call
- the call to be invokedpublic void invokeArrayDeref(java.lang.String file, java.lang.String scopeFieldName, CallBase call)
IRBytecodeAdapter
invokeArrayDeref
in class IRBytecodeAdapter
public void invokeAsString(java.lang.String file, java.lang.String scopeFieldName, CallBase call)
IRBytecodeAdapter
invokeAsString
in class IRBytecodeAdapter
public 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, CallBase call, long fixnum)
IRBytecodeAdapter
invokeOtherOneFixnum
in class IRBytecodeAdapter
public void invokeOtherOneFloat(java.lang.String file, CallBase call, double flote)
IRBytecodeAdapter
invokeOtherOneFloat
in class IRBytecodeAdapter
public void invokeSelf(java.lang.String file, java.lang.String scopeFieldName, CallBase call, int arity)
IRBytecodeAdapter
invokeSelf
in class IRBytecodeAdapter
file
- the filename of the script making this callcall
- to be invoked on selfarity
- of the call.public void invokeInstanceSuper(java.lang.String file, java.lang.String name, int arity, boolean hasClosure, boolean[] splatmap)
IRBytecodeAdapter
invokeInstanceSuper
in class IRBytecodeAdapter
file
- the filename of the script making this callname
- 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, java.lang.String name, int arity, boolean hasClosure, boolean[] splatmap)
IRBytecodeAdapter
invokeClassSuper
in class IRBytecodeAdapter
file
- the filename of the script making this callname
- 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, java.lang.String name, int arity, boolean hasClosure, boolean[] splatmap)
IRBytecodeAdapter
invokeUnresolvedSuper
in class IRBytecodeAdapter
file
- the filename of the script making this callname
- 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, java.lang.String name, int arity, boolean hasClosure, boolean[] splatmap)
IRBytecodeAdapter
invokeZSuper
in class IRBytecodeAdapter
file
- the filename of the script making this callname
- 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)
IRBytecodeAdapter
searchConst
in class IRBytecodeAdapter
name
- name of the constantnoPrivateConsts
- whether to ignore private constantspublic void searchModuleForConst(java.lang.String name, boolean noPrivateConsts, boolean callConstMissing)
IRBytecodeAdapter
searchModuleForConst
in class IRBytecodeAdapter
name
- name of the constantnoPrivateConsts
- whether to ignore private constantspublic void inheritanceSearchConst(java.lang.String name, boolean noPrivateConsts)
IRBytecodeAdapter
inheritanceSearchConst
in class IRBytecodeAdapter
name
- name of the constantnoPrivateConsts
- whether to ignore private constantspublic void lexicalSearchConst(java.lang.String name)
IRBytecodeAdapter
lexicalSearchConst
in class IRBytecodeAdapter
name
- name of the constantpublic void pushNil()
IRBytecodeAdapter
pushNil
in class IRBytecodeAdapter
public void pushBoolean(boolean b)
IRBytecodeAdapter
pushBoolean
in class IRBytecodeAdapter
b
- the boolean to pushpublic void pushBignum(java.math.BigInteger bigint)
IRBytecodeAdapter
pushBignum
in class IRBytecodeAdapter
bigint
- the value of the Bignum to pushpublic void putField(java.lang.String name)
IRBytecodeAdapter
putField
in class IRBytecodeAdapter
name
- name of variable to storepublic void getField(java.lang.String name)
IRBytecodeAdapter
getField
in class IRBytecodeAdapter
name
- name of variable to loadpublic void array(int length)
IRBytecodeAdapter
array
in class IRBytecodeAdapter
length
- number of elementspublic void hash(int length)
IRBytecodeAdapter
hash
in class IRBytecodeAdapter
length
- number of element pairspublic void kwargsHash(int length)
IRBytecodeAdapter
kwargsHash
in class IRBytecodeAdapter
length
- number of element pairspublic void checkpoint()
IRBytecodeAdapter
checkpoint
in class IRBytecodeAdapter
public void getGlobalVariable(java.lang.String name, java.lang.String file)
IRBytecodeAdapter
getGlobalVariable
in class IRBytecodeAdapter
public void setGlobalVariable(java.lang.String name, java.lang.String file)
IRBytecodeAdapter
setGlobalVariable
in class IRBytecodeAdapter
public void yield(boolean unwrap)
IRBytecodeAdapter
yield
in class IRBytecodeAdapter
public void yieldSpecific()
IRBytecodeAdapter
yieldSpecific
in class IRBytecodeAdapter
public void yieldValues(int arity)
IRBytecodeAdapter
yieldValues
in class IRBytecodeAdapter
public void prepareBlock(org.objectweb.asm.Handle handle, Signature signature, java.lang.String className)
IRBytecodeAdapter
prepareBlock
in class IRBytecodeAdapter
public void callEqq(EQQInstr call)
IRBytecodeAdapter
callEqq
in class IRBytecodeAdapter
Copyright © 2001-2022 JRuby. All Rights Reserved.