Package org.jruby.ir.interpreter
Class InterpreterEngine
java.lang.Object
org.jruby.ir.interpreter.InterpreterEngine
- Direct Known Subclasses:
ExitableInterpreterEngine,StartupInterpreterEngine
Base full interpreter. Subclasses can use utility methods here and override what they want. This method requires
that it has fully built and has had a CFG made, etc...
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected static voidextractToMethodToAvoidC2Crash(Instr instr, Throwable t) interpret(ThreadContext context, Block block, IRubyObject self, InterpreterContext interpreterContext, RubyModule implClass, String name, Block blockArg) interpret(ThreadContext context, Block block, IRubyObject self, InterpreterContext interpreterContext, RubyModule implClass, String name, IRubyObject[] args, Block blockArg) interpret(ThreadContext context, Block block, IRubyObject self, InterpreterContext interpreterContext, RubyModule implClass, String name, IRubyObject arg1, Block blockArg) interpret(ThreadContext context, Block block, IRubyObject self, InterpreterContext interpreterContext, RubyModule implClass, String name, IRubyObject arg1, IRubyObject arg2, Block blockArg) interpret(ThreadContext context, Block block, IRubyObject self, InterpreterContext interpreterContext, RubyModule implClass, String name, IRubyObject arg1, IRubyObject arg2, IRubyObject arg3, Block blockArg) interpret(ThreadContext context, Block block, IRubyObject self, InterpreterContext interpreterContext, RubyModule implClass, String name, IRubyObject arg1, IRubyObject arg2, IRubyObject arg3, IRubyObject arg4, Block blockArg) protected static voidinterpretFloatOp(AluInstr instr, Operation op, double[] floats, boolean[] booleans) protected static voidinterpretIntOp(AluInstr instr, Operation op, long[] fixnums, boolean[] booleans) protected static voidprocessBookKeepingOp(ThreadContext context, Block block, Instr instr, Operation operation, String name, IRubyObject[] args, IRubyObject self, Block blockArg, RubyModule implClass, DynamicScope currDynScope, Object[] temp, StaticScope currScope) protected static voidprocessCall(ThreadContext context, Instr instr, Operation operation, DynamicScope currDynScope, StaticScope currScope, Object[] temp, IRubyObject self, String name) protected static voidprocessOtherOp(ThreadContext context, Block block, Instr instr, Operation operation, DynamicScope currDynScope, StaticScope currScope, Object[] temp, IRubyObject self, double[] floats, long[] fixnums, boolean[] booleans) protected static IRubyObjectprocessReturnOp(ThreadContext context, Block block, Instr instr, Operation operation, DynamicScope currDynScope, Object[] temp, IRubyObject self, StaticScope currScope) protected static voidreceiveArg(ThreadContext context, Instr i, Operation operation, IRubyObject self, IRubyObject[] args, boolean ruby2Keywords, StaticScope currScope, DynamicScope currDynScope, Object[] temp, Object exception, Block blockArg) protected static ObjectretrieveOp(Operand r, ThreadContext context, IRubyObject self, DynamicScope currDynScope, StaticScope currScope, Object[] temp) protected static voidsetResult(Object[] temp, DynamicScope currDynScope, Instr instr, Object result) protected static voidsetResult(Object[] temp, DynamicScope currDynScope, Variable resultVar, Object result)
-
Constructor Details
-
InterpreterEngine
public InterpreterEngine()
-
-
Method Details
-
interpret
public IRubyObject interpret(ThreadContext context, Block block, IRubyObject self, InterpreterContext interpreterContext, RubyModule implClass, String name, Block blockArg) -
interpret
public IRubyObject interpret(ThreadContext context, Block block, IRubyObject self, InterpreterContext interpreterContext, RubyModule implClass, String name, IRubyObject arg1, Block blockArg) -
interpret
public IRubyObject interpret(ThreadContext context, Block block, IRubyObject self, InterpreterContext interpreterContext, RubyModule implClass, String name, IRubyObject arg1, IRubyObject arg2, Block blockArg) -
interpret
public IRubyObject interpret(ThreadContext context, Block block, IRubyObject self, InterpreterContext interpreterContext, RubyModule implClass, String name, IRubyObject arg1, IRubyObject arg2, IRubyObject arg3, Block blockArg) -
interpret
public IRubyObject interpret(ThreadContext context, Block block, IRubyObject self, InterpreterContext interpreterContext, RubyModule implClass, String name, IRubyObject arg1, IRubyObject arg2, IRubyObject arg3, IRubyObject arg4, Block blockArg) -
interpret
public IRubyObject interpret(ThreadContext context, Block block, IRubyObject self, InterpreterContext interpreterContext, RubyModule implClass, String name, IRubyObject[] args, Block blockArg) -
interpretIntOp
-
interpretFloatOp
-
receiveArg
protected static void receiveArg(ThreadContext context, Instr i, Operation operation, IRubyObject self, IRubyObject[] args, boolean ruby2Keywords, StaticScope currScope, DynamicScope currDynScope, Object[] temp, Object exception, Block blockArg) -
processCall
protected static void processCall(ThreadContext context, Instr instr, Operation operation, DynamicScope currDynScope, StaticScope currScope, Object[] temp, IRubyObject self, String name) -
processBookKeepingOp
protected static void processBookKeepingOp(ThreadContext context, Block block, Instr instr, Operation operation, String name, IRubyObject[] args, IRubyObject self, Block blockArg, RubyModule implClass, DynamicScope currDynScope, Object[] temp, StaticScope currScope) -
processReturnOp
protected static IRubyObject processReturnOp(ThreadContext context, Block block, Instr instr, Operation operation, DynamicScope currDynScope, Object[] temp, IRubyObject self, StaticScope currScope) -
processOtherOp
protected static void processOtherOp(ThreadContext context, Block block, Instr instr, Operation operation, DynamicScope currDynScope, StaticScope currScope, Object[] temp, IRubyObject self, double[] floats, long[] fixnums, boolean[] booleans) -
extractToMethodToAvoidC2Crash
-
setResult
protected static void setResult(Object[] temp, DynamicScope currDynScope, Variable resultVar, Object result) -
setResult
protected static void setResult(Object[] temp, DynamicScope currDynScope, Instr instr, Object result) -
retrieveOp
protected static Object retrieveOp(Operand r, ThreadContext context, IRubyObject self, DynamicScope currDynScope, StaticScope currScope, Object[] temp)
-