public class IRBytecodeAdapter7 extends IRBytecodeAdapter6
IRBytecodeAdapter.BlockPassType
SUPER_NOSPLAT_RESOLVED, SUPER_NOSPLAT_UNRESOLVED, SUPER_SPLAT_RESOLVED, SUPER_SPLAT_UNRESOLVED
adapter, ipc, MAX_ARGUMENTS, signature
Constructor and Description |
---|
IRBytecodeAdapter7(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.
|
void |
branchIfNil(org.objectweb.asm.Label label)
Branch to label if value at top of stack is nil
stack: obj to check for nilness
|
void |
branchIfTruthy(org.objectweb.asm.Label label) |
void |
checkpoint()
Perform a thread event checkpoint.
|
void |
getField(java.lang.String name)
Load instance variable from self.
|
void |
hash(int length)
Construct a Hash from elements on stack.
|
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 |
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(java.lang.String sym,
org.jcodings.Encoding encoding)
Push a symbol on the stack
|
void |
putField(java.lang.String name)
Store instance variable into self.
|
buildArrayFromLocals, cacheValuePermanently, cacheValuePermanently, cacheValuePermanentlyLoadContext, callEqq, getGlobalVariable, inheritanceSearchConst, invoke, lexicalSearchConst, pushSymbol, pushSymbolProc, searchConst, searchModuleForConst, setGlobalVariable, yield, yieldSpecific, yieldValues
bfalse, 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
public IRBytecodeAdapter7(SkinnyMethodAdapter adapter, com.headius.invokebinder.Signature signature, org.jruby.ir.targets.ClassData classData)
public void pushFixnum(long l)
IRBytecodeAdapter
pushFixnum
in class IRBytecodeAdapter6
l
- long value to push as a Fixnumpublic void pushFloat(double d)
IRBytecodeAdapter
pushFloat
in class IRBytecodeAdapter6
d
- double value to push as a Floatpublic void pushString(ByteList bl, int cr)
IRBytecodeAdapter
pushString
in class IRBytecodeAdapter6
bl
- ByteList for the String to pushpublic void pushFrozenString(ByteList bl, int cr, java.lang.String file, int line)
IRBytecodeAdapter6
pushFrozenString
in class IRBytecodeAdapter6
bl
- ByteList for the String to pushpublic void pushByteList(ByteList bl)
IRBytecodeAdapter
pushByteList
in class IRBytecodeAdapter6
bl
- ByteList to pushpublic void pushRegexp(ByteList source, int options)
IRBytecodeAdapter
pushRegexp
in class IRBytecodeAdapter6
options
- options for the regexppublic void pushDRegexp(java.lang.Runnable callback, RegexpOptions options, int arity)
IRBytecodeAdapter
pushDRegexp
in class IRBytecodeAdapter6
options
- options for the regexparity
- number of Strings passed inpublic void pushSymbol(java.lang.String sym, org.jcodings.Encoding encoding)
sym
- the symbol's string identifierpublic void loadRuntime()
IRBytecodeAdapter
loadRuntime
in class IRBytecodeAdapter6
public void pushEncoding(org.jcodings.Encoding encoding)
IRBytecodeAdapter
pushEncoding
in class IRBytecodeAdapter6
encoding
- the encoding to pushpublic void invokeOther(java.lang.String file, int line, java.lang.String scopeFieldName, CallBase call, int arity)
IRBytecodeAdapter
invokeOther
in class IRBytecodeAdapter6
call
- the call to be invokedpublic void invokeArrayDeref(java.lang.String file, int line, CallBase call)
IRBytecodeAdapter
invokeArrayDeref
in class IRBytecodeAdapter6
public void invokeOtherOneFixnum(java.lang.String file, int line, CallBase call, long fixnum)
IRBytecodeAdapter
invokeOtherOneFixnum
in class IRBytecodeAdapter6
public void invokeOtherOneFloat(java.lang.String file, int line, CallBase call, double flote)
IRBytecodeAdapter
invokeOtherOneFloat
in class IRBytecodeAdapter6
public void invokeSelf(java.lang.String file, int line, java.lang.String scopeFieldName, CallBase call, int arity)
IRBytecodeAdapter
invokeSelf
in class IRBytecodeAdapter6
file
- 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)
IRBytecodeAdapter
invokeInstanceSuper
in class IRBytecodeAdapter6
file
- 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)
IRBytecodeAdapter
invokeClassSuper
in class IRBytecodeAdapter6
file
- 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)
IRBytecodeAdapter
invokeUnresolvedSuper
in class IRBytecodeAdapter6
file
- 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)
IRBytecodeAdapter
invokeZSuper
in class IRBytecodeAdapter6
file
- 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 pushNil()
IRBytecodeAdapter
pushNil
in class IRBytecodeAdapter6
public void pushBoolean(boolean b)
IRBytecodeAdapter
pushBoolean
in class IRBytecodeAdapter6
b
- the boolean to pushpublic void pushBignum(java.math.BigInteger bigint)
IRBytecodeAdapter
pushBignum
in class IRBytecodeAdapter6
bigint
- the value of the Bignum to pushpublic void putField(java.lang.String name)
IRBytecodeAdapter
putField
in class IRBytecodeAdapter6
name
- name of variable to storepublic void getField(java.lang.String name)
IRBytecodeAdapter
getField
in class IRBytecodeAdapter6
name
- name of variable to loadpublic void array(int length)
IRBytecodeAdapter
array
in class IRBytecodeAdapter6
length
- number of elementspublic void hash(int length)
IRBytecodeAdapter
hash
in class IRBytecodeAdapter6
length
- number of element pairspublic void kwargsHash(int length)
IRBytecodeAdapter
kwargsHash
in class IRBytecodeAdapter6
length
- number of element pairspublic void checkpoint()
IRBytecodeAdapter
checkpoint
in class IRBytecodeAdapter6
public void prepareBlock(org.objectweb.asm.Handle handle, Signature signature, java.lang.String className)
IRBytecodeAdapter
prepareBlock
in class IRBytecodeAdapter6
public void branchIfNil(org.objectweb.asm.Label label)
IRBytecodeAdapter
branchIfNil
in class IRBytecodeAdapter
public void branchIfTruthy(org.objectweb.asm.Label label)
branchIfTruthy
in class IRBytecodeAdapter
Copyright © 2001-2019 JRuby. All Rights Reserved.