public class org.jruby.ir.interpreter.Interpreter extends org.jruby.ir.IRTranslator<org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.jruby.ir.interpreter.Interpreter
super_class: org.jruby.ir.IRTranslator
{
public static final org.jruby.util.log.Logger LOG;
descriptor: Lorg/jruby/util/log/Logger;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final java.lang.String ROOT;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "<main>"
static int interpInstrsCount;
descriptor: I
flags: (0x0008) ACC_STATIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/jruby/ir/interpreter/Interpreter;
invokestatic org.jruby.util.log.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/jruby/util/log/Logger;
putstatic org.jruby.ir.interpreter.Interpreter.LOG:Lorg/jruby/util/log/Logger;
1: iconst_0
putstatic org.jruby.ir.interpreter.Interpreter.interpInstrsCount:I
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.jruby.ir.IRTranslator.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/interpreter/Interpreter;
public static void dumpStats();
descriptor: ()V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=0, args_size=0
0: invokestatic org.jruby.ir.runtime.IRRuntimeHelpers.isDebug:()Z
ifne 1
invokestatic org.jruby.ir.runtime.IRRuntimeHelpers.inProfileMode:()Z
ifeq 3
StackMap locals:
StackMap stack:
1: getstatic org.jruby.ir.interpreter.Interpreter.interpInstrsCount:I
sipush 10000
if_icmple 3
2: getstatic org.jruby.ir.interpreter.Interpreter.LOG:Lorg/jruby/util/log/Logger;
ldc "-- Interpreted instructions: {}"
iconst_1
anewarray java.lang.Object
dup
iconst_0
getstatic org.jruby.ir.interpreter.Interpreter.interpInstrsCount:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokeinterface org.jruby.util.log.Logger.info:(Ljava/lang/String;[Ljava/lang/Object;)V
3: StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
protected org.jruby.runtime.builtin.IRubyObject execute(org.jruby.Ruby, org.jruby.ir.IRScriptBody, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/ir/IRScriptBody;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokevirtual org.jruby.ir.IRScriptBody.getInterpreterContext:()Lorg/jruby/ir/interpreter/InterpreterContext;
astore 4
start local 4 1: aload 1
invokestatic org.jruby.ir.runtime.IRRuntimeHelpers.shouldPrintIR:(Lorg/jruby/Ruby;)Z
ifeq 4
2: aload 2
iconst_0
invokestatic org.jruby.ir.persistence.IRDumper.printIR:(Lorg/jruby/ir/IRScope;Z)Ljava/io/ByteArrayOutputStream;
astore 5
start local 5 3: getstatic org.jruby.ir.interpreter.Interpreter.LOG:Lorg/jruby/util/log/Logger;
new java.lang.StringBuilder
dup
ldc "Printing simple IR for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual org.jruby.ir.IRScriptBody.getId:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ":\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
new java.lang.String
dup
aload 5
invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
invokespecial java.lang.String.<init>:([B)V
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
invokeinterface org.jruby.util.log.Logger.info:(Ljava/lang/String;[Ljava/lang/Object;)V
end local 5 4: StackMap locals: org.jruby.ir.interpreter.InterpreterContext
StackMap stack:
aload 1
invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
astore 5
start local 5 5: ldc "<main>"
astore 6
start local 6 6: invokestatic org.jruby.ir.runtime.IRRuntimeHelpers.isDebug:()Z
ifeq 7
getstatic org.jruby.ir.interpreter.Interpreter.LOG:Lorg/jruby/util/log/Logger;
ldc "Executing {}"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 4
aastore
invokeinterface org.jruby.util.log.Logger.info:(Ljava/lang/String;[Ljava/lang/Object;)V
7: StackMap locals: org.jruby.runtime.ThreadContext java.lang.String
StackMap stack:
aload 4
invokevirtual org.jruby.ir.interpreter.InterpreterContext.getStaticScope:()Lorg/jruby/parser/StaticScope;
astore 7
start local 7 8: aload 7
invokevirtual org.jruby.parser.StaticScope.getModule:()Lorg/jruby/RubyModule;
astore 8
start local 8 9: aload 8
ifnonnull 11
10: aload 5
invokevirtual org.jruby.runtime.ThreadContext.getRuntime:()Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getObject:()Lorg/jruby/RubyClass;
astore 8
11: StackMap locals: org.jruby.parser.StaticScope org.jruby.RubyModule
StackMap stack:
aload 7
aload 8
invokevirtual org.jruby.parser.StaticScope.setModule:(Lorg/jruby/RubyModule;)V
12: aload 5
aload 7
invokestatic org.jruby.ir.runtime.IRRuntimeHelpers.prepareScriptScope:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/parser/StaticScope;)Lorg/jruby/runtime/DynamicScope;
pop
13: aload 5
aload 3
invokevirtual org.jruby.runtime.ThreadContext.preNodeEval:(Lorg/jruby/runtime/builtin/IRubyObject;)V
14: aload 5
getstatic org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;
invokevirtual org.jruby.runtime.ThreadContext.setCurrentVisibility:(Lorg/jruby/runtime/Visibility;)V
15: aload 5
aload 3
aload 4
aload 8
aload 6
invokestatic org.jruby.ir.interpreter.Interpreter.INTERPRET_ROOT:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/ir/interpreter/InterpreterContext;Lorg/jruby/RubyModule;Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 10
16: aload 2
invokevirtual org.jruby.ir.IRScriptBody.cleanupAfterExecution:()V
17: invokestatic org.jruby.ir.interpreter.Interpreter.dumpStats:()V
18: aload 5
invokevirtual org.jruby.runtime.ThreadContext.popScope:()V
19: aload 5
invokevirtual org.jruby.runtime.ThreadContext.postNodeEval:()V
20: aload 10
areturn
21: StackMap locals:
StackMap stack: org.jruby.ir.runtime.IRBreakJump
pop
22: getstatic org.jruby.ir.operands.IRException.BREAK_LocalJumpError:Lorg/jruby/ir/operands/IRException;
aload 5
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.ir.operands.IRException.getException:(Lorg/jruby/Ruby;)Ljava/lang/RuntimeException;
athrow
23: StackMap locals:
StackMap stack: java.lang.Throwable
astore 9
24: aload 2
invokevirtual org.jruby.ir.IRScriptBody.cleanupAfterExecution:()V
25: invokestatic org.jruby.ir.interpreter.Interpreter.dumpStats:()V
26: aload 5
invokevirtual org.jruby.runtime.ThreadContext.popScope:()V
27: aload 5
invokevirtual org.jruby.runtime.ThreadContext.postNodeEval:()V
28: aload 9
athrow
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lorg/jruby/ir/interpreter/Interpreter;
0 29 1 runtime Lorg/jruby/Ruby;
0 29 2 irScope Lorg/jruby/ir/IRScriptBody;
0 29 3 self Lorg/jruby/runtime/builtin/IRubyObject;
1 29 4 ic Lorg/jruby/ir/interpreter/InterpreterContext;
3 4 5 baos Ljava/io/ByteArrayOutputStream;
5 29 5 context Lorg/jruby/runtime/ThreadContext;
6 29 6 name Ljava/lang/String;
8 29 7 scope Lorg/jruby/parser/StaticScope;
9 29 8 currModule Lorg/jruby/RubyModule;
Exception table:
from to target type
15 16 21 Class org.jruby.ir.runtime.IRBreakJump
15 16 23 any
21 23 23 any
MethodParameters:
Name Flags
runtime
irScope
self
public static org.jruby.runtime.builtin.IRubyObject INTERPRET_ROOT(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.ir.interpreter.InterpreterContext, org.jruby.RubyModule, java.lang.String);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/ir/interpreter/InterpreterContext;Lorg/jruby/RubyModule;Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=9, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 4
aload 2
invokevirtual org.jruby.ir.interpreter.InterpreterContext.getFileName:()Ljava/lang/String;
aload 0
invokevirtual org.jruby.runtime.ThreadContext.getLine:()I
invokestatic org.jruby.runtime.ThreadContext.pushBacktrace:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Ljava/lang/String;I)V
1: aload 2
invokevirtual org.jruby.ir.interpreter.InterpreterContext.getEngine:()Lorg/jruby/ir/interpreter/InterpreterEngine;
aload 0
aconst_null
aload 1
aload 2
aload 3
aload 4
getstatic org.jruby.runtime.builtin.IRubyObject.NULL_ARRAY:[Lorg/jruby/runtime/builtin/IRubyObject;
getstatic org.jruby.runtime.Block.NULL_BLOCK:Lorg/jruby/runtime/Block;
invokevirtual org.jruby.ir.interpreter.InterpreterEngine.interpret:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/ir/interpreter/InterpreterContext;Lorg/jruby/RubyModule;Ljava/lang/String;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 6
2: aload 0
invokestatic org.jruby.runtime.ThreadContext.popBacktrace:(Lorg/jruby/runtime/ThreadContext;)V
3: aload 6
areturn
4: StackMap locals:
StackMap stack: java.lang.Throwable
astore 5
5: aload 0
invokestatic org.jruby.runtime.ThreadContext.popBacktrace:(Lorg/jruby/runtime/ThreadContext;)V
6: aload 5
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 context Lorg/jruby/runtime/ThreadContext;
0 7 1 self Lorg/jruby/runtime/builtin/IRubyObject;
0 7 2 ic Lorg/jruby/ir/interpreter/InterpreterContext;
0 7 3 clazz Lorg/jruby/RubyModule;
0 7 4 name Ljava/lang/String;
Exception table:
from to target type
0 2 4 any
MethodParameters:
Name Flags
context
self
ic
clazz
name
public static org.jruby.runtime.builtin.IRubyObject INTERPRET_EVAL(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.ir.interpreter.InterpreterContext, org.jruby.RubyModule, org.jruby.runtime.builtin.IRubyObject[], java.lang.String, org.jruby.runtime.Block);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/ir/interpreter/InterpreterContext;Lorg/jruby/RubyModule;[Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=9, locals=9, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
aload 5
aload 2
invokevirtual org.jruby.ir.interpreter.InterpreterContext.getFileName:()Ljava/lang/String;
aload 0
invokevirtual org.jruby.runtime.ThreadContext.getLine:()I
invokestatic org.jruby.runtime.ThreadContext.pushBacktrace:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Ljava/lang/String;I)V
1: aload 2
invokevirtual org.jruby.ir.interpreter.InterpreterContext.getEngine:()Lorg/jruby/ir/interpreter/InterpreterEngine;
aload 0
aconst_null
aload 1
aload 2
aload 3
aload 5
aload 4
aload 6
invokevirtual org.jruby.ir.interpreter.InterpreterEngine.interpret:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/ir/interpreter/InterpreterContext;Lorg/jruby/RubyModule;Ljava/lang/String;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 8
2: aload 0
invokestatic org.jruby.runtime.ThreadContext.popBacktrace:(Lorg/jruby/runtime/ThreadContext;)V
3: aload 8
areturn
4: StackMap locals:
StackMap stack: java.lang.Throwable
astore 7
5: aload 0
invokestatic org.jruby.runtime.ThreadContext.popBacktrace:(Lorg/jruby/runtime/ThreadContext;)V
6: aload 7
athrow
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 context Lorg/jruby/runtime/ThreadContext;
0 7 1 self Lorg/jruby/runtime/builtin/IRubyObject;
0 7 2 ic Lorg/jruby/ir/interpreter/InterpreterContext;
0 7 3 clazz Lorg/jruby/RubyModule;
0 7 4 args [Lorg/jruby/runtime/builtin/IRubyObject;
0 7 5 name Ljava/lang/String;
0 7 6 blockArg Lorg/jruby/runtime/Block;
Exception table:
from to target type
0 2 4 any
MethodParameters:
Name Flags
context
self
ic
clazz
args
name
blockArg
public static org.jruby.runtime.builtin.IRubyObject INTERPRET_BLOCK(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.runtime.builtin.IRubyObject, org.jruby.ir.interpreter.InterpreterContext, org.jruby.runtime.builtin.IRubyObject[], java.lang.String, org.jruby.runtime.Block);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/ir/interpreter/InterpreterContext;[Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=9, locals=9, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
aload 5
aload 3
invokevirtual org.jruby.ir.interpreter.InterpreterContext.getFileName:()Ljava/lang/String;
aload 0
invokevirtual org.jruby.runtime.ThreadContext.getLine:()I
invokestatic org.jruby.runtime.ThreadContext.pushBacktrace:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Ljava/lang/String;I)V
1: aload 3
invokevirtual org.jruby.ir.interpreter.InterpreterContext.getEngine:()Lorg/jruby/ir/interpreter/InterpreterEngine;
aload 0
aload 1
aload 2
aload 3
aconst_null
aload 5
aload 4
aload 6
invokevirtual org.jruby.ir.interpreter.InterpreterEngine.interpret:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/ir/interpreter/InterpreterContext;Lorg/jruby/RubyModule;Ljava/lang/String;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 8
2: aload 0
invokestatic org.jruby.runtime.ThreadContext.popBacktrace:(Lorg/jruby/runtime/ThreadContext;)V
3: aload 8
areturn
4: StackMap locals:
StackMap stack: java.lang.Throwable
astore 7
5: aload 0
invokestatic org.jruby.runtime.ThreadContext.popBacktrace:(Lorg/jruby/runtime/ThreadContext;)V
6: aload 7
athrow
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 context Lorg/jruby/runtime/ThreadContext;
0 7 1 block Lorg/jruby/runtime/Block;
0 7 2 self Lorg/jruby/runtime/builtin/IRubyObject;
0 7 3 ic Lorg/jruby/ir/interpreter/InterpreterContext;
0 7 4 args [Lorg/jruby/runtime/builtin/IRubyObject;
0 7 5 name Ljava/lang/String;
0 7 6 blockArg Lorg/jruby/runtime/Block;
Exception table:
from to target type
0 2 4 any
MethodParameters:
Name Flags
context
block
self
ic
args
name
blockArg
public static org.jruby.runtime.builtin.IRubyObject evalSimple(org.jruby.runtime.ThreadContext, org.jruby.RubyModule, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyString, java.lang.String, int, org.jruby.EvalType);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyModule;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyString;Ljava/lang/String;ILorg/jruby/EvalType;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=9, locals=12, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 7
start local 7 1: aload 0
invokevirtual org.jruby.runtime.ThreadContext.getCurrentScope:()Lorg/jruby/runtime/DynamicScope;
astore 8
start local 8 2: new org.jruby.runtime.scope.ManyVarsDynamicScope
dup
aload 7
invokevirtual org.jruby.Ruby.getStaticScopeFactory:()Lorg/jruby/parser/StaticScopeFactory;
aload 8
invokevirtual org.jruby.runtime.DynamicScope.getStaticScope:()Lorg/jruby/parser/StaticScope;
invokevirtual org.jruby.parser.StaticScopeFactory.newEvalScope:(Lorg/jruby/parser/StaticScope;)Lorg/jruby/parser/StaticScope;
aload 8
invokespecial org.jruby.runtime.scope.ManyVarsDynamicScope.<init>:(Lorg/jruby/parser/StaticScope;Lorg/jruby/runtime/DynamicScope;)V
astore 9
start local 9 3: aload 9
invokevirtual org.jruby.runtime.DynamicScope.getStaticScope:()Lorg/jruby/parser/StaticScope;
aload 1
invokevirtual org.jruby.parser.StaticScope.setModule:(Lorg/jruby/RubyModule;)V
4: aload 0
aload 2
invokevirtual org.jruby.runtime.ThreadContext.pushEvalSimpleFrame:(Lorg/jruby/runtime/builtin/IRubyObject;)V
5: aload 0
aload 9
aload 2
aload 3
aload 4
iload 5
ldc "(eval)"
getstatic org.jruby.runtime.Block.NULL_BLOCK:Lorg/jruby/runtime/Block;
aload 6
invokestatic org.jruby.ir.interpreter.Interpreter.evalCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/DynamicScope;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;ILjava/lang/String;Lorg/jruby/runtime/Block;Lorg/jruby/EvalType;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 11
6: aload 0
invokevirtual org.jruby.runtime.ThreadContext.popFrame:()V
7: aload 11
areturn
8: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyModule org.jruby.runtime.builtin.IRubyObject org.jruby.RubyString java.lang.String int org.jruby.EvalType org.jruby.Ruby org.jruby.runtime.DynamicScope org.jruby.runtime.DynamicScope
StackMap stack: java.lang.Throwable
astore 10
9: aload 0
invokevirtual org.jruby.runtime.ThreadContext.popFrame:()V
10: aload 10
athrow
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 context Lorg/jruby/runtime/ThreadContext;
0 11 1 under Lorg/jruby/RubyModule;
0 11 2 self Lorg/jruby/runtime/builtin/IRubyObject;
0 11 3 src Lorg/jruby/RubyString;
0 11 4 file Ljava/lang/String;
0 11 5 lineNumber I
0 11 6 evalType Lorg/jruby/EvalType;
1 11 7 runtime Lorg/jruby/Ruby;
2 11 8 parentScope Lorg/jruby/runtime/DynamicScope;
3 11 9 evalScope Lorg/jruby/runtime/DynamicScope;
Exception table:
from to target type
5 6 8 any
MethodParameters:
Name Flags
context
under
self
src
file
lineNumber
evalType
private static org.jruby.runtime.builtin.IRubyObject evalCommon(org.jruby.runtime.ThreadContext, org.jruby.runtime.DynamicScope, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, java.lang.String, int, java.lang.String, org.jruby.runtime.Block, org.jruby.EvalType);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/DynamicScope;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;ILjava/lang/String;Lorg/jruby/runtime/Block;Lorg/jruby/EvalType;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=12, args_size=9
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 0: aload 1
invokevirtual org.jruby.runtime.DynamicScope.getStaticScope:()Lorg/jruby/parser/StaticScope;
pop
1: aload 0
aload 1
aload 3
aload 4
iload 5
aload 8
invokestatic org.jruby.ir.interpreter.Interpreter.prepareIC:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/DynamicScope;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;ILorg/jruby/EvalType;)Lorg/jruby/ir/interpreter/InterpreterContext;
astore 9
start local 9 2: aload 1
aload 8
invokevirtual org.jruby.runtime.DynamicScope.setEvalType:(Lorg/jruby/EvalType;)V
3: aload 0
aload 1
invokevirtual org.jruby.runtime.ThreadContext.pushScope:(Lorg/jruby/runtime/DynamicScope;)V
4: aload 1
invokevirtual org.jruby.runtime.DynamicScope.growIfNeeded:()V
5: aload 0
aload 2
aload 9
aload 9
invokevirtual org.jruby.ir.interpreter.InterpreterContext.getStaticScope:()Lorg/jruby/parser/StaticScope;
invokevirtual org.jruby.parser.StaticScope.getModule:()Lorg/jruby/RubyModule;
getstatic org.jruby.runtime.builtin.IRubyObject.NULL_ARRAY:[Lorg/jruby/runtime/builtin/IRubyObject;
aload 6
aload 7
invokestatic org.jruby.ir.interpreter.Interpreter.INTERPRET_EVAL:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/ir/interpreter/InterpreterContext;Lorg/jruby/RubyModule;[Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 11
6: aload 1
invokevirtual org.jruby.runtime.DynamicScope.clearEvalType:()V
7: aload 0
invokevirtual org.jruby.runtime.ThreadContext.popScope:()V
8: aload 11
areturn
9: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.DynamicScope org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject java.lang.String int java.lang.String org.jruby.runtime.Block org.jruby.EvalType org.jruby.ir.interpreter.InterpreterContext
StackMap stack: java.lang.Throwable
astore 10
10: aload 1
invokevirtual org.jruby.runtime.DynamicScope.clearEvalType:()V
11: aload 0
invokevirtual org.jruby.runtime.ThreadContext.popScope:()V
12: aload 10
athrow
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 context Lorg/jruby/runtime/ThreadContext;
0 13 1 evalScope Lorg/jruby/runtime/DynamicScope;
0 13 2 self Lorg/jruby/runtime/builtin/IRubyObject;
0 13 3 src Lorg/jruby/runtime/builtin/IRubyObject;
0 13 4 file Ljava/lang/String;
0 13 5 lineNumber I
0 13 6 name Ljava/lang/String;
0 13 7 blockArg Lorg/jruby/runtime/Block;
0 13 8 evalType Lorg/jruby/EvalType;
2 13 9 ic Lorg/jruby/ir/interpreter/InterpreterContext;
Exception table:
from to target type
4 6 9 any
MethodParameters:
Name Flags
context
evalScope
self
src
file
lineNumber
name
blockArg
evalType
public static org.jruby.runtime.builtin.IRubyObject evalWithBinding(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Binding);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Binding;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=9, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 4
start local 4 1: aload 3
aload 4
invokevirtual org.jruby.runtime.Binding.getEvalScope:(Lorg/jruby/Ruby;)Lorg/jruby/runtime/DynamicScope;
astore 5
start local 5 2: aload 5
invokevirtual org.jruby.runtime.DynamicScope.getStaticScope:()Lorg/jruby/parser/StaticScope;
invokevirtual org.jruby.parser.StaticScope.determineModule:()Lorg/jruby/RubyModule;
pop
3: aload 0
aload 3
invokevirtual org.jruby.runtime.ThreadContext.preEvalWithBinding:(Lorg/jruby/runtime/Binding;)Lorg/jruby/runtime/Frame;
astore 6
start local 6 4: aload 0
aload 5
aload 1
aload 2
aload 3
invokevirtual org.jruby.runtime.Binding.getFile:()Ljava/lang/String;
5: aload 3
invokevirtual org.jruby.runtime.Binding.getLine:()I
aload 3
invokevirtual org.jruby.runtime.Binding.getMethod:()Ljava/lang/String;
aload 3
invokevirtual org.jruby.runtime.Binding.getFrame:()Lorg/jruby/runtime/Frame;
invokevirtual org.jruby.runtime.Frame.getBlock:()Lorg/jruby/runtime/Block;
getstatic org.jruby.EvalType.BINDING_EVAL:Lorg/jruby/EvalType;
6: invokestatic org.jruby.ir.interpreter.Interpreter.evalCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/DynamicScope;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;ILjava/lang/String;Lorg/jruby/runtime/Block;Lorg/jruby/EvalType;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 8
7: aload 0
aload 3
aload 6
invokevirtual org.jruby.runtime.ThreadContext.postEvalWithBinding:(Lorg/jruby/runtime/Binding;Lorg/jruby/runtime/Frame;)V
8: aload 8
areturn
9: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.Binding org.jruby.Ruby org.jruby.runtime.DynamicScope org.jruby.runtime.Frame
StackMap stack: java.lang.Throwable
astore 7
10: aload 0
aload 3
aload 6
invokevirtual org.jruby.runtime.ThreadContext.postEvalWithBinding:(Lorg/jruby/runtime/Binding;Lorg/jruby/runtime/Frame;)V
11: aload 7
athrow
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 context Lorg/jruby/runtime/ThreadContext;
0 12 1 self Lorg/jruby/runtime/builtin/IRubyObject;
0 12 2 src Lorg/jruby/runtime/builtin/IRubyObject;
0 12 3 binding Lorg/jruby/runtime/Binding;
1 12 4 runtime Lorg/jruby/Ruby;
2 12 5 evalScope Lorg/jruby/runtime/DynamicScope;
4 12 6 lastFrame Lorg/jruby/runtime/Frame;
Exception table:
from to target type
4 7 9 any
MethodParameters:
Name Flags
context
self
src
binding
private static org.jruby.ir.interpreter.InterpreterContext prepareIC(org.jruby.runtime.ThreadContext, org.jruby.runtime.DynamicScope, org.jruby.runtime.builtin.IRubyObject, java.lang.String, int, org.jruby.EvalType);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/DynamicScope;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;ILorg/jruby/EvalType;)Lorg/jruby/ir/interpreter/InterpreterContext;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=12, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 6
start local 6 1: aload 1
invokevirtual org.jruby.runtime.DynamicScope.getStaticScope:()Lorg/jruby/parser/StaticScope;
invokevirtual org.jruby.parser.StaticScope.getEnclosingScope:()Lorg/jruby/parser/StaticScope;
invokevirtual org.jruby.parser.StaticScope.getIRScope:()Lorg/jruby/ir/IRScope;
astore 7
start local 7 2: aload 6
aload 2
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
aload 3
aload 1
iload 4
invokevirtual org.jruby.Ruby.parseEval:(Lorg/jruby/util/ByteList;Ljava/lang/String;Lorg/jruby/runtime/DynamicScope;I)Lorg/jruby/ast/Node;
checkcast org.jruby.ast.RootNode
astore 8
start local 8 3: aload 1
invokevirtual org.jruby.runtime.DynamicScope.getStaticScope:()Lorg/jruby/parser/StaticScope;
astore 9
start local 9 4: new org.jruby.ir.IREvalScript
dup
aload 6
invokevirtual org.jruby.Ruby.getIRManager:()Lorg/jruby/ir/IRManager;
aload 7
aload 3
iload 4
aload 9
aload 5
invokespecial org.jruby.ir.IREvalScript.<init>:(Lorg/jruby/ir/IRManager;Lorg/jruby/ir/IRScope;Ljava/lang/String;ILorg/jruby/parser/StaticScope;Lorg/jruby/EvalType;)V
astore 10
start local 10 5: aload 9
invokevirtual org.jruby.parser.StaticScope.getOverlayModuleForRead:()Lorg/jruby/RubyModule;
ifnull 7
6: aload 10
invokevirtual org.jruby.ir.IREvalScript.setIsMaybeUsingRefinements:()V
7: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.DynamicScope org.jruby.runtime.builtin.IRubyObject java.lang.String int org.jruby.EvalType org.jruby.Ruby org.jruby.ir.IRScope org.jruby.ast.RootNode org.jruby.parser.StaticScope org.jruby.ir.IREvalScript
StackMap stack:
aload 9
aload 10
invokevirtual org.jruby.parser.StaticScope.setIRScope:(Lorg/jruby/ir/IRScope;)V
8: aload 6
invokevirtual org.jruby.Ruby.getIRManager:()Lorg/jruby/ir/IRManager;
aload 10
invokestatic org.jruby.ir.IRBuilder.topIRBuilder:(Lorg/jruby/ir/IRManager;Lorg/jruby/ir/IRScope;)Lorg/jruby/ir/IRBuilder;
aload 8
invokevirtual org.jruby.ir.IRBuilder.buildEvalRoot:(Lorg/jruby/ast/RootNode;)Lorg/jruby/ir/interpreter/InterpreterContext;
astore 11
start local 11 9: invokestatic org.jruby.ir.runtime.IRRuntimeHelpers.isDebug:()Z
ifeq 10
getstatic org.jruby.ir.interpreter.Interpreter.LOG:Lorg/jruby/util/log/Logger;
aload 10
invokevirtual org.jruby.ir.IREvalScript.debugOutput:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
invokeinterface org.jruby.util.log.Logger.info:(Ljava/lang/String;[Ljava/lang/Object;)V
10: StackMap locals: org.jruby.ir.interpreter.InterpreterContext
StackMap stack:
aload 11
areturn
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 context Lorg/jruby/runtime/ThreadContext;
0 11 1 evalScope Lorg/jruby/runtime/DynamicScope;
0 11 2 src Lorg/jruby/runtime/builtin/IRubyObject;
0 11 3 file Ljava/lang/String;
0 11 4 lineNumber I
0 11 5 evalType Lorg/jruby/EvalType;
1 11 6 runtime Lorg/jruby/Ruby;
2 11 7 containingIRScope Lorg/jruby/ir/IRScope;
3 11 8 rootNode Lorg/jruby/ast/RootNode;
4 11 9 staticScope Lorg/jruby/parser/StaticScope;
5 11 10 script Lorg/jruby/ir/IREvalScript;
9 11 11 ic Lorg/jruby/ir/interpreter/InterpreterContext;
MethodParameters:
Name Flags
context
evalScope
src
file
lineNumber
evalType
protected java.lang.Object execute(org.jruby.Ruby, org.jruby.ir.IRScriptBody, java.lang.Object);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/ir/IRScriptBody;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=4, locals=4, args_size=4
0: aload 0
aload 1
aload 2
aload 3
checkcast org.jruby.runtime.builtin.IRubyObject
invokevirtual org.jruby.ir.interpreter.Interpreter.execute:(Lorg/jruby/Ruby;Lorg/jruby/ir/IRScriptBody;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Lorg/jruby/ir/IRTranslator<Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;>;
SourceFile: "Interpreter.java"