public class org.jruby.ir.interpreter.InterpreterContext
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.jruby.ir.interpreter.InterpreterContext
super_class: java.lang.Object
{
private static final org.jruby.ir.instructions.Instr[] NO_INSTRUCTIONS;
descriptor: [Lorg/jruby/ir/instructions/Instr;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.jruby.ir.interpreter.InterpreterEngine DEFAULT_INTERPRETER;
descriptor: Lorg/jruby/ir/interpreter/InterpreterEngine;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.jruby.ir.interpreter.InterpreterEngine STARTUP_INTERPRETER;
descriptor: Lorg/jruby/ir/interpreter/InterpreterEngine;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
protected int temporaryVariableCount;
descriptor: I
flags: (0x0004) ACC_PROTECTED
protected org.jruby.ir.instructions.Instr[] instructions;
descriptor: [Lorg/jruby/ir/instructions/Instr;
flags: (0x0004) ACC_PROTECTED
protected int[] rescueIPCs;
descriptor: [I
flags: (0x0004) ACC_PROTECTED
protected boolean hasExplicitCallProtocol;
descriptor: Z
flags: (0x0004) ACC_PROTECTED
protected boolean dynamicScopeEliminated;
descriptor: Z
flags: (0x0004) ACC_PROTECTED
private boolean reuseParentDynScope;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean metaClassBodyScope;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private org.jruby.ir.interpreter.InterpreterEngine engine;
descriptor: Lorg/jruby/ir/interpreter/InterpreterEngine;
flags: (0x0002) ACC_PRIVATE
public final java.util.function.Supplier<java.util.List<org.jruby.ir.instructions.Instr>> instructionsCallback;
descriptor: Ljava/util/function/Supplier;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Signature: Ljava/util/function/Supplier<Ljava/util/List<Lorg/jruby/ir/instructions/Instr;>;>;
private java.util.EnumSet<org.jruby.ir.IRFlags> flags;
descriptor: Ljava/util/EnumSet;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/EnumSet<Lorg/jruby/ir/IRFlags;>;
private final org.jruby.ir.IRScope scope;
descriptor: Lorg/jruby/ir/IRScope;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: iconst_0
anewarray org.jruby.ir.instructions.Instr
putstatic org.jruby.ir.interpreter.InterpreterContext.NO_INSTRUCTIONS:[Lorg/jruby/ir/instructions/Instr;
1: new org.jruby.ir.interpreter.InterpreterEngine
dup
invokespecial org.jruby.ir.interpreter.InterpreterEngine.<init>:()V
putstatic org.jruby.ir.interpreter.InterpreterContext.DEFAULT_INTERPRETER:Lorg/jruby/ir/interpreter/InterpreterEngine;
2: new org.jruby.ir.interpreter.StartupInterpreterEngine
dup
invokespecial org.jruby.ir.interpreter.StartupInterpreterEngine.<init>:()V
putstatic org.jruby.ir.interpreter.InterpreterContext.STARTUP_INTERPRETER:Lorg/jruby/ir/interpreter/InterpreterEngine;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.jruby.ir.IRScope, java.util.List<org.jruby.ir.instructions.Instr>, int, java.util.EnumSet<org.jruby.ir.IRFlags>);
descriptor: (Lorg/jruby/ir/IRScope;Ljava/util/List;ILjava/util/EnumSet;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aconst_null
putfield org.jruby.ir.interpreter.InterpreterContext.rescueIPCs:[I
2: aload 0
aload 1
putfield org.jruby.ir.interpreter.InterpreterContext.scope:Lorg/jruby/ir/IRScope;
3: aload 0
aload 2
ifnonnull 4
getstatic org.jruby.ir.interpreter.InterpreterContext.DEFAULT_INTERPRETER:Lorg/jruby/ir/interpreter/InterpreterEngine;
goto 5
StackMap locals: org.jruby.ir.interpreter.InterpreterContext org.jruby.ir.IRScope java.util.List int java.util.EnumSet
StackMap stack: org.jruby.ir.interpreter.InterpreterContext
4: getstatic org.jruby.ir.interpreter.InterpreterContext.STARTUP_INTERPRETER:Lorg/jruby/ir/interpreter/InterpreterEngine;
StackMap locals: org.jruby.ir.interpreter.InterpreterContext org.jruby.ir.IRScope java.util.List int java.util.EnumSet
StackMap stack: org.jruby.ir.interpreter.InterpreterContext org.jruby.ir.interpreter.InterpreterEngine
5: putfield org.jruby.ir.interpreter.InterpreterContext.engine:Lorg/jruby/ir/interpreter/InterpreterEngine;
6: aload 0
aload 1
instanceof org.jruby.ir.IRMetaClassBody
putfield org.jruby.ir.interpreter.InterpreterContext.metaClassBodyScope:Z
7: aload 0
aload 2
invokevirtual org.jruby.ir.interpreter.InterpreterContext.setInstructions:(Ljava/util/List;)V
8: aload 0
aconst_null
putfield org.jruby.ir.interpreter.InterpreterContext.instructionsCallback:Ljava/util/function/Supplier;
9: aload 0
iload 3
putfield org.jruby.ir.interpreter.InterpreterContext.temporaryVariableCount:I
10: aload 0
aload 4
putfield org.jruby.ir.interpreter.InterpreterContext.flags:Ljava/util/EnumSet;
11: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/jruby/ir/interpreter/InterpreterContext;
0 12 1 scope Lorg/jruby/ir/IRScope;
0 12 2 instructions Ljava/util/List<Lorg/jruby/ir/instructions/Instr;>;
0 12 3 temporaryVariableCount I
0 12 4 flags Ljava/util/EnumSet<Lorg/jruby/ir/IRFlags;>;
Signature: (Lorg/jruby/ir/IRScope;Ljava/util/List<Lorg/jruby/ir/instructions/Instr;>;ILjava/util/EnumSet<Lorg/jruby/ir/IRFlags;>;)V
MethodParameters:
Name Flags
scope
instructions
temporaryVariableCount
flags
public void <init>(org.jruby.ir.IRScope, java.util.function.Supplier<java.util.List<org.jruby.ir.instructions.Instr>>, int, java.util.EnumSet<org.jruby.ir.IRFlags>);
descriptor: (Lorg/jruby/ir/IRScope;Ljava/util/function/Supplier;ILjava/util/EnumSet;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aconst_null
putfield org.jruby.ir.interpreter.InterpreterContext.rescueIPCs:[I
2: aload 0
aload 1
putfield org.jruby.ir.interpreter.InterpreterContext.scope:Lorg/jruby/ir/IRScope;
3: aload 0
aload 1
instanceof org.jruby.ir.IRMetaClassBody
putfield org.jruby.ir.interpreter.InterpreterContext.metaClassBodyScope:Z
4: aload 0
aload 2
putfield org.jruby.ir.interpreter.InterpreterContext.instructionsCallback:Ljava/util/function/Supplier;
5: aload 0
iload 3
putfield org.jruby.ir.interpreter.InterpreterContext.temporaryVariableCount:I
6: aload 0
aload 4
putfield org.jruby.ir.interpreter.InterpreterContext.flags:Ljava/util/EnumSet;
7: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/jruby/ir/interpreter/InterpreterContext;
0 8 1 scope Lorg/jruby/ir/IRScope;
0 8 2 instructions Ljava/util/function/Supplier<Ljava/util/List<Lorg/jruby/ir/instructions/Instr;>;>;
0 8 3 temporaryVariableCount I
0 8 4 flags Ljava/util/EnumSet<Lorg/jruby/ir/IRFlags;>;
Signature: (Lorg/jruby/ir/IRScope;Ljava/util/function/Supplier<Ljava/util/List<Lorg/jruby/ir/instructions/Instr;>;>;ILjava/util/EnumSet<Lorg/jruby/ir/IRFlags;>;)V
MethodParameters:
Name Flags
scope
instructions
temporaryVariableCount
flags
protected void initialize();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.ir.interpreter.InterpreterContext.instructions:[Lorg/jruby/ir/instructions/Instr;
ifnonnull 1
aload 0
invokevirtual org.jruby.ir.interpreter.InterpreterContext.getEngine:()Lorg/jruby/ir/interpreter/InterpreterEngine;
pop
1: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/ir/interpreter/InterpreterContext;
public org.jruby.ir.interpreter.InterpreterEngine getEngine();
descriptor: ()Lorg/jruby/ir/interpreter/InterpreterEngine;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.ir.interpreter.InterpreterContext.engine:Lorg/jruby/ir/interpreter/InterpreterEngine;
ifnonnull 5
1: aload 0
aload 0
getfield org.jruby.ir.interpreter.InterpreterContext.instructionsCallback:Ljava/util/function/Supplier;
invokeinterface java.util.function.Supplier.get:()Ljava/lang/Object;
checkcast java.util.List
invokevirtual org.jruby.ir.interpreter.InterpreterContext.setInstructions:(Ljava/util/List;)V
2: aload 0
aload 0
getfield org.jruby.ir.interpreter.InterpreterContext.instructions:[Lorg/jruby/ir/instructions/Instr;
ifnonnull 3
getstatic org.jruby.ir.interpreter.InterpreterContext.DEFAULT_INTERPRETER:Lorg/jruby/ir/interpreter/InterpreterEngine;
goto 4
StackMap locals:
StackMap stack: org.jruby.ir.interpreter.InterpreterContext
3: getstatic org.jruby.ir.interpreter.InterpreterContext.STARTUP_INTERPRETER:Lorg/jruby/ir/interpreter/InterpreterEngine;
StackMap locals: org.jruby.ir.interpreter.InterpreterContext
StackMap stack: org.jruby.ir.interpreter.InterpreterContext org.jruby.ir.interpreter.InterpreterEngine
4: putfield org.jruby.ir.interpreter.InterpreterContext.engine:Lorg/jruby/ir/interpreter/InterpreterEngine;
5: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.ir.interpreter.InterpreterContext.engine:Lorg/jruby/ir/interpreter/InterpreterEngine;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/jruby/ir/interpreter/InterpreterContext;
public org.jruby.ir.instructions.Instr[] getInstructions();
descriptor: ()[Lorg/jruby/ir/instructions/Instr;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.ir.interpreter.InterpreterContext.initialize:()V
1: aload 0
getfield org.jruby.ir.interpreter.InterpreterContext.instructions:[Lorg/jruby/ir/instructions/Instr;
ifnonnull 2
getstatic org.jruby.ir.interpreter.InterpreterContext.NO_INSTRUCTIONS:[Lorg/jruby/ir/instructions/Instr;
goto 3
StackMap locals:
StackMap stack:
2: aload 0
getfield org.jruby.ir.interpreter.InterpreterContext.instructions:[Lorg/jruby/ir/instructions/Instr;
StackMap locals:
StackMap stack: org.jruby.ir.instructions.Instr[]
3: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jruby/ir/interpreter/InterpreterContext;
private void setInstructions(java.util.List<org.jruby.ir.instructions.Instr>);
descriptor: (Ljava/util/List;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
ifnull 1
aload 0
aload 1
invokevirtual org.jruby.ir.interpreter.InterpreterContext.prepareBuildInstructions:(Ljava/util/List;)[Lorg/jruby/ir/instructions/Instr;
goto 2
StackMap locals:
StackMap stack: org.jruby.ir.interpreter.InterpreterContext
1: aconst_null
StackMap locals: org.jruby.ir.interpreter.InterpreterContext java.util.List
StackMap stack: org.jruby.ir.interpreter.InterpreterContext org.jruby.ir.instructions.Instr[]
2: putfield org.jruby.ir.interpreter.InterpreterContext.instructions:[Lorg/jruby/ir/instructions/Instr;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jruby/ir/interpreter/InterpreterContext;
0 4 1 instructions Ljava/util/List<Lorg/jruby/ir/instructions/Instr;>;
Signature: (Ljava/util/List<Lorg/jruby/ir/instructions/Instr;>;)V
MethodParameters:
Name Flags
instructions final
private org.jruby.ir.instructions.Instr[] prepareBuildInstructions(java.util.List<org.jruby.ir.instructions.Instr>);
descriptor: (Ljava/util/List;)[Lorg/jruby/ir/instructions/Instr;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=8, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface java.util.List.size:()I
istore 2
start local 2 1: aload 1
iload 2
anewarray org.jruby.ir.instructions.Instr
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast org.jruby.ir.instructions.Instr[]
astore 3
start local 3 2: iconst_0
istore 4
start local 4 3: goto 7
4: StackMap locals: int org.jruby.ir.instructions.Instr[] int
StackMap stack:
aload 3
iload 4
aaload
astore 5
start local 5 5: aload 5
instanceof org.jruby.ir.instructions.LabelInstr
ifeq 6
aload 5
checkcast org.jruby.ir.instructions.LabelInstr
invokevirtual org.jruby.ir.instructions.LabelInstr.getLabel:()Lorg/jruby/ir/operands/Label;
iload 4
iconst_1
iadd
invokevirtual org.jruby.ir.operands.Label.setTargetPC:(I)V
end local 5 6: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
7: iload 4
iload 2
if_icmplt 4
end local 4 8: new java.util.Stack
dup
invokespecial java.util.Stack.<init>:()V
astore 4
start local 4 9: aload 0
iload 2
newarray 10
putfield org.jruby.ir.interpreter.InterpreterContext.rescueIPCs:[I
10: iconst_m1
istore 5
start local 5 11: iconst_0
istore 6
start local 6 12: goto 25
13: StackMap locals: org.jruby.ir.interpreter.InterpreterContext java.util.List int org.jruby.ir.instructions.Instr[] java.util.Stack int int
StackMap stack:
aload 3
iload 6
aaload
astore 7
start local 7 14: aload 7
instanceof org.jruby.ir.instructions.ExceptionRegionStartMarkerInstr
ifeq 18
15: aload 7
checkcast org.jruby.ir.instructions.ExceptionRegionStartMarkerInstr
invokevirtual org.jruby.ir.instructions.ExceptionRegionStartMarkerInstr.getFirstRescueBlockLabel:()Lorg/jruby/ir/operands/Label;
invokevirtual org.jruby.ir.operands.Label.getTargetPC:()I
istore 5
16: aload 4
iload 5
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.Stack.push:(Ljava/lang/Object;)Ljava/lang/Object;
pop
17: goto 23
StackMap locals: org.jruby.ir.instructions.Instr
StackMap stack:
18: aload 7
instanceof org.jruby.ir.instructions.ExceptionRegionEndMarkerInstr
ifeq 23
19: aload 4
invokevirtual java.util.Stack.pop:()Ljava/lang/Object;
pop
20: aload 4
invokevirtual java.util.Stack.isEmpty:()Z
ifeq 21
iconst_m1
goto 22
StackMap locals:
StackMap stack:
21: aload 4
invokevirtual java.util.Stack.peek:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
StackMap locals:
StackMap stack: int
22: istore 5
23: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.ir.interpreter.InterpreterContext.rescueIPCs:[I
iload 6
iload 5
iastore
end local 7 24: iinc 6 1
StackMap locals:
StackMap stack:
25: iload 6
iload 2
if_icmplt 13
end local 6 26: aload 3
areturn
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 27 0 this Lorg/jruby/ir/interpreter/InterpreterContext;
0 27 1 instructions Ljava/util/List<Lorg/jruby/ir/instructions/Instr;>;
1 27 2 length I
2 27 3 linearizedInstrArray [Lorg/jruby/ir/instructions/Instr;
3 8 4 ipc I
5 6 5 i Lorg/jruby/ir/instructions/Instr;
9 27 4 markers Ljava/util/Stack<Ljava/lang/Integer;>;
11 27 5 rpc I
12 26 6 ipc I
14 24 7 i Lorg/jruby/ir/instructions/Instr;
Signature: (Ljava/util/List<Lorg/jruby/ir/instructions/Instr;>;)[Lorg/jruby/ir/instructions/Instr;
MethodParameters:
Name Flags
instructions
public int[] getRescueIPCs();
descriptor: ()[I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.ir.interpreter.InterpreterContext.rescueIPCs:[I
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/interpreter/InterpreterContext;
public int getRequiredArgsCount();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.ir.interpreter.InterpreterContext.getStaticScope:()Lorg/jruby/parser/StaticScope;
invokevirtual org.jruby.parser.StaticScope.getSignature:()Lorg/jruby/runtime/Signature;
invokevirtual org.jruby.runtime.Signature.required:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/interpreter/InterpreterContext;
public org.jruby.ir.IRScope getScope();
descriptor: ()Lorg/jruby/ir/IRScope;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.ir.interpreter.InterpreterContext.scope:Lorg/jruby/ir/IRScope;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/interpreter/InterpreterContext;
public org.jruby.ir.representations.CFG getCFG();
descriptor: ()Lorg/jruby/ir/representations/CFG;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/interpreter/InterpreterContext;
public int getTemporaryVariableCount();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.ir.interpreter.InterpreterContext.temporaryVariableCount:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/interpreter/InterpreterContext;
public java.lang.Object[] allocateTemporaryVariables();
descriptor: ()[Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.ir.interpreter.InterpreterContext.temporaryVariableCount:I
ifle 1
aload 0
getfield org.jruby.ir.interpreter.InterpreterContext.temporaryVariableCount:I
anewarray java.lang.Object
goto 2
StackMap locals:
StackMap stack:
1: aconst_null
StackMap locals:
StackMap stack: java.lang.Object[]
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/ir/interpreter/InterpreterContext;
public boolean[] allocateTemporaryBooleanVariables();
descriptor: ()[Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/interpreter/InterpreterContext;
public long[] allocateTemporaryFixnumVariables();
descriptor: ()[J
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/interpreter/InterpreterContext;
public double[] allocateTemporaryFloatVariables();
descriptor: ()[D
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/interpreter/InterpreterContext;
public org.jruby.parser.StaticScope getStaticScope();
descriptor: ()Lorg/jruby/parser/StaticScope;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.ir.interpreter.InterpreterContext.scope:Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.getStaticScope:()Lorg/jruby/parser/StaticScope;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/interpreter/InterpreterContext;
public java.lang.String getFileName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.ir.interpreter.InterpreterContext.scope:Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.getFile:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/interpreter/InterpreterContext;
public org.jruby.RubySymbol getName();
descriptor: ()Lorg/jruby/RubySymbol;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.ir.interpreter.InterpreterContext.scope:Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.getManager:()Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getRuntime:()Lorg/jruby/Ruby;
aload 0
getfield org.jruby.ir.interpreter.InterpreterContext.scope:Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.getId:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newSymbol:(Ljava/lang/String;)Lorg/jruby/RubySymbol;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/interpreter/InterpreterContext;
public void computeScopeFlagsFromInstructions();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.ir.interpreter.InterpreterContext.getInstructions:()[Lorg/jruby/ir/instructions/Instr;
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 4
StackMap locals: org.jruby.ir.interpreter.InterpreterContext top int int org.jruby.ir.instructions.Instr[]
StackMap stack:
1: aload 4
iload 2
aaload
astore 1
start local 1 2: aload 1
aload 0
getfield org.jruby.ir.interpreter.InterpreterContext.scope:Lorg/jruby/ir/IRScope;
aload 0
invokevirtual org.jruby.ir.interpreter.InterpreterContext.getFlags:()Ljava/util/EnumSet;
invokevirtual org.jruby.ir.instructions.Instr.computeScopeFlags:(Lorg/jruby/ir/IRScope;Ljava/util/EnumSet;)Z
pop
end local 1 3: iinc 2 1
StackMap locals:
StackMap stack:
4: iload 2
iload 3
if_icmplt 1
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/jruby/ir/interpreter/InterpreterContext;
2 3 1 instr Lorg/jruby/ir/instructions/Instr;
public org.jruby.runtime.DynamicScope newDynamicScope(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/DynamicScope;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.ir.interpreter.InterpreterContext.metaClassBodyScope:Z
ifeq 1
aload 0
invokevirtual org.jruby.ir.interpreter.InterpreterContext.getStaticScope:()Lorg/jruby/parser/StaticScope;
aload 1
invokevirtual org.jruby.runtime.ThreadContext.getCurrentScope:()Lorg/jruby/runtime/DynamicScope;
invokestatic org.jruby.runtime.DynamicScope.newDynamicScope:(Lorg/jruby/parser/StaticScope;Lorg/jruby/runtime/DynamicScope;)Lorg/jruby/runtime/DynamicScope;
areturn
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.ir.interpreter.InterpreterContext.getStaticScope:()Lorg/jruby/parser/StaticScope;
invokestatic org.jruby.runtime.DynamicScope.newDynamicScope:(Lorg/jruby/parser/StaticScope;)Lorg/jruby/runtime/DynamicScope;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/ir/interpreter/InterpreterContext;
0 2 1 context Lorg/jruby/runtime/ThreadContext;
MethodParameters:
Name Flags
context
public boolean hasExplicitCallProtocol();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.ir.interpreter.InterpreterContext.initialize:()V
1: aload 0
getfield org.jruby.ir.interpreter.InterpreterContext.hasExplicitCallProtocol:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/ir/interpreter/InterpreterContext;
public void setExplicitCallProtocol(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.jruby.ir.interpreter.InterpreterContext.hasExplicitCallProtocol:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/ir/interpreter/InterpreterContext;
0 2 1 callProtocol Z
MethodParameters:
Name Flags
callProtocol
public boolean isDynamicScopeEliminated();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.ir.interpreter.InterpreterContext.dynamicScopeEliminated:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/interpreter/InterpreterContext;
public void setDynamicScopeEliminated(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.jruby.ir.interpreter.InterpreterContext.dynamicScopeEliminated:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/ir/interpreter/InterpreterContext;
0 2 1 dynamicScopeEliminated Z
MethodParameters:
Name Flags
dynamicScopeEliminated
public boolean pushNewDynScope();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.ir.interpreter.InterpreterContext.initialize:()V
1: aload 0
getfield org.jruby.ir.interpreter.InterpreterContext.dynamicScopeEliminated:Z
ifne 2
aload 0
getfield org.jruby.ir.interpreter.InterpreterContext.reuseParentDynScope:Z
ifne 2
iconst_1
ireturn
StackMap locals:
StackMap stack:
2: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/ir/interpreter/InterpreterContext;
public boolean reuseParentDynScope();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.ir.interpreter.InterpreterContext.initialize:()V
1: aload 0
getfield org.jruby.ir.interpreter.InterpreterContext.reuseParentDynScope:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/ir/interpreter/InterpreterContext;
public void setReuseParentDynScope(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.jruby.ir.interpreter.InterpreterContext.reuseParentDynScope:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/ir/interpreter/InterpreterContext;
0 2 1 reuseParentDynScope Z
MethodParameters:
Name Flags
reuseParentDynScope
public boolean popDynScope();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.ir.interpreter.InterpreterContext.initialize:()V
1: aload 0
invokevirtual org.jruby.ir.interpreter.InterpreterContext.pushNewDynScope:()Z
ifne 2
aload 0
invokevirtual org.jruby.ir.interpreter.InterpreterContext.reuseParentDynScope:()Z
ifne 2
iconst_0
ireturn
StackMap locals:
StackMap stack:
2: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/ir/interpreter/InterpreterContext;
public boolean receivesKeywordArguments();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.ir.interpreter.InterpreterContext.scope:Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.receivesKeywordArgs:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/interpreter/InterpreterContext;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 1
start local 1 1: aload 1
aload 0
invokevirtual org.jruby.ir.interpreter.InterpreterContext.getFileName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 58
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 0
getfield org.jruby.ir.interpreter.InterpreterContext.scope:Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.getLine:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
pop
2: aload 0
invokevirtual org.jruby.ir.interpreter.InterpreterContext.getName:()Lorg/jruby/RubySymbol;
ifnull 3
aload 1
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 0
invokevirtual org.jruby.ir.interpreter.InterpreterContext.getName:()Lorg/jruby/RubySymbol;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
3: StackMap locals: java.lang.StringBuilder
StackMap stack:
aload 0
invokevirtual org.jruby.ir.interpreter.InterpreterContext.getInstructions:()[Lorg/jruby/ir/instructions/Instr;
ifnonnull 6
4: aload 1
ldc " No Instructions. Full Build before linearizeInstr?"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
5: goto 7
6: StackMap locals:
StackMap stack:
aload 1
aload 0
invokevirtual org.jruby.ir.interpreter.InterpreterContext.toStringInstrs:()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;
pop
7: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/jruby/ir/interpreter/InterpreterContext;
1 8 1 buf Ljava/lang/StringBuilder;
public java.lang.String toStringInstrs();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 1
start local 1 1: aload 0
getfield org.jruby.ir.interpreter.InterpreterContext.instructions:[Lorg/jruby/ir/instructions/Instr;
arraylength
istore 2
start local 2 2: iconst_0
istore 3
start local 3 3: goto 7
4: StackMap locals: java.lang.StringBuilder int int
StackMap stack:
iload 3
ifle 5
aload 1
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
5: StackMap locals:
StackMap stack:
aload 1
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
bipush 9
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 0
getfield org.jruby.ir.interpreter.InterpreterContext.instructions:[Lorg/jruby/ir/instructions/Instr;
iload 3
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
pop
6: iinc 3 1
StackMap locals:
StackMap stack:
7: iload 3
iload 2
if_icmplt 4
end local 3 8: aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/jruby/ir/interpreter/InterpreterContext;
1 9 1 b Ljava/lang/StringBuilder;
2 9 2 length I
3 8 3 i I
public java.util.EnumSet<org.jruby.ir.IRFlags> getFlags();
descriptor: ()Ljava/util/EnumSet;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.ir.interpreter.InterpreterContext.flags:Ljava/util/EnumSet;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/interpreter/InterpreterContext;
Signature: ()Ljava/util/EnumSet<Lorg/jruby/ir/IRFlags;>;
}
SourceFile: "InterpreterContext.java"