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,
java.lang.String scopeFieldName,
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 |
putField(java.lang.String name)
Store instance variable into self.
|
buildArrayFromLocals, callEqq, getGlobalVariable, inheritanceSearchConst, invoke, invokeAsString, lexicalSearchConst, loadRuntime, prepareBlock, pushBignum, pushBoolean, pushByteList, pushDRegexp, pushEncoding, pushFixnum, pushFloat, pushFrozenString, pushNil, pushRegexp, pushString, 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 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, java.lang.String scopeFieldName, 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 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 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-2020 JRuby. All Rights Reserved.