Package org.jruby.ir.targets
Class IRBytecodeAdapter
java.lang.Object
org.jruby.ir.targets.IRBytecodeAdapter
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final ArgumentsCompiler
protected final BlockCompiler
protected final BranchCompiler
protected final CheckpointCompiler
protected final ClassData
protected final ConstantCompiler
protected final DynamicValueCompiler
protected final GlobalVariableCompiler
protected final InstanceVariableCompiler
protected final InvocationCompiler
int
protected final LocalVariableCompiler
static final int
protected final com.headius.invokebinder.Signature
protected final ValueCompiler
protected final YieldCompiler
-
Constructor Summary
ConstructorsConstructorDescriptionIRBytecodeAdapter
(BytecodeMode bytecodeMode, SkinnyMethodAdapter adapter, com.headius.invokebinder.Signature signature, ClassData classData) -
Method Summary
Modifier and TypeMethodDescriptionstatic void
buildArrayFromLocals
(SkinnyMethodAdapter adapter2, int base, int arity) void
The compiler for argument processing or preparation.Block construction compiler.Get the compiler for dynamic branches.Checkpoint compiler.Get the compiler for Ruby constant lookups.Get the compiler for dynamic values.Global variable compiler.Instance variable compiler.Get the compiler for invocations.int
Instance variable compiler.void
getStaticScope
(String field) getUniqueSiteName
(String name) Get the compiler for constant Ruby values.Block yielding compiler.void
goTo
(org.objectweb.asm.Label label) void
invokeHelper
(String name, Class... x) void
invokeHelper
(String name, String sig) void
invokeIRHelper
(String name, String sig) void
invokeStatic
(org.objectweb.asm.Type type, org.objectweb.asm.commons.Method method) void
invokeVirtual
(org.objectweb.asm.Type type, org.objectweb.asm.commons.Method method) void
loadArgs()
void
void
void
void
void
void
loadLocal
(int i) void
loadSelf()
void
void
void
mark
(org.objectweb.asm.Label label) org.objectweb.asm.Label
newLabel()
int
void
outline
(String name, MethodType type, Runnable body) void
pushHandle
(org.objectweb.asm.Handle handle) void
void
void
void
storeLocal
(int i) void
void
updateLineNumber
(int lineNumber)
-
Field Details
-
MAX_ARGUMENTS
public static final int MAX_ARGUMENTS- See Also:
-
adapter
-
signature
protected final com.headius.invokebinder.Signature signature -
classData
-
valueCompiler
-
dynamicValueCompiler
-
invocationCompiler
-
branchCompiler
-
checkpointCompiler
-
constantCompiler
-
instanceVariableCompiler
-
globalVariableCompiler
-
localVariableCompiler
-
yieldCompiler
-
blockCompiler
-
argumentsCompiler
-
ipc
public int ipc
-
-
Constructor Details
-
IRBytecodeAdapter
public IRBytecodeAdapter(BytecodeMode bytecodeMode, SkinnyMethodAdapter adapter, com.headius.invokebinder.Signature signature, ClassData classData)
-
-
Method Details
-
getValueCompiler
Get the compiler for constant Ruby values.- Returns:
- the value compiler
-
getDynamicValueCompiler
Get the compiler for dynamic values.- Returns:
- the dynamic value compiler
-
getInvocationCompiler
Get the compiler for invocations.- Returns:
- the invocation compiler
-
getBranchCompiler
Get the compiler for dynamic branches.- Returns:
- the branch compiler
-
getCheckpointCompiler
Checkpoint compiler.- Returns:
- the checkpoint compiler
-
getConstantCompiler
Get the compiler for Ruby constant lookups.- Returns:
- the constant compiler
-
getInstanceVariableCompiler
Instance variable compiler.- Returns:
- the instance variable compiler
-
getGlobalVariableCompiler
Global variable compiler.- Returns:
- the global variable compiler
-
getLocalVariableCompiler
Instance variable compiler.- Returns:
- the instance variable compiler
-
getYieldCompiler
Block yielding compiler.- Returns:
- the yield compiler
-
getBlockCompiler
Block construction compiler.- Returns:
- the block compiler
-
getArgumentsCompiler
The compiler for argument processing or preparation.- Returns:
- the arguments compiler
-
buildArrayFromLocals
-
getUniqueSiteName
-
getClassData
-
startMethod
public void startMethod() -
endMethod
public void endMethod() -
loadLocal
public void loadLocal(int i) -
loadContext
public void loadContext() -
loadSelfBlock
public void loadSelfBlock() -
loadStaticScope
public void loadStaticScope() -
loadSelf
public void loadSelf() -
loadArgs
public void loadArgs() -
loadBlock
public void loadBlock() -
loadFrameClass
public void loadFrameClass() -
loadFrameName
public void loadFrameName() -
loadFrameBlock
public void loadFrameBlock() -
storeSelf
public void storeSelf() -
storeArgs
public void storeArgs() -
storeLocal
public void storeLocal(int i) -
invokeVirtual
public void invokeVirtual(org.objectweb.asm.Type type, org.objectweb.asm.commons.Method method) -
invokeStatic
public void invokeStatic(org.objectweb.asm.Type type, org.objectweb.asm.commons.Method method) -
invokeHelper
-
invokeHelper
-
invokeIRHelper
-
goTo
public void goTo(org.objectweb.asm.Label label) -
pushHandle
public void pushHandle(org.objectweb.asm.Handle handle) -
mark
public void mark(org.objectweb.asm.Label label) -
returnValue
public void returnValue() -
newLocal
-
newLabel
public org.objectweb.asm.Label newLabel() -
getStaticScope
-
outline
-
updateLineNumber
public void updateLineNumber(int lineNumber) -
getLastLine
public int getLastLine()
-