public class org.jruby.ir.IRBuilder
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.jruby.ir.IRBuilder
super_class: java.lang.Object
{
static final org.jruby.ir.operands.UnexecutableNil U_NIL;
descriptor: Lorg/jruby/ir/operands/UnexecutableNil;
flags: (0x0018) ACC_STATIC, ACC_FINAL
private java.util.Stack<org.jruby.ir.IRBuilder$RescueBlockInfo> activeRescueBlockStack;
descriptor: Ljava/util/Stack;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Stack<Lorg/jruby/ir/IRBuilder$RescueBlockInfo;>;
private java.util.Stack<org.jruby.ir.IRBuilder$EnsureBlockInfo> activeEnsureBlockStack;
descriptor: Ljava/util/Stack;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Stack<Lorg/jruby/ir/IRBuilder$EnsureBlockInfo;>;
private java.util.Stack<org.jruby.ir.IRBuilder$EnsureBlockInfo> ensureBodyBuildStack;
descriptor: Ljava/util/Stack;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Stack<Lorg/jruby/ir/IRBuilder$EnsureBlockInfo;>;
private java.util.Stack<org.jruby.ir.operands.Label> activeRescuers;
descriptor: Ljava/util/Stack;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Stack<Lorg/jruby/ir/operands/Label;>;
private java.util.Stack<org.jruby.ir.IRBuilder$IRLoop> loopStack;
descriptor: Ljava/util/Stack;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Stack<Lorg/jruby/ir/IRBuilder$IRLoop;>;
private int _lastProcessedLineNum;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean needsLineNumInfo;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
public boolean underscoreVariableSeen;
descriptor: Z
flags: (0x0001) ACC_PUBLIC
protected org.jruby.ir.IRBuilder parent;
descriptor: Lorg/jruby/ir/IRBuilder;
flags: (0x0004) ACC_PROTECTED
protected org.jruby.ir.IRManager manager;
descriptor: Lorg/jruby/ir/IRManager;
flags: (0x0004) ACC_PROTECTED
protected org.jruby.ir.IRScope scope;
descriptor: Lorg/jruby/ir/IRScope;
flags: (0x0004) ACC_PROTECTED
protected java.util.List<org.jruby.ir.instructions.Instr> instructions;
descriptor: Ljava/util/List;
flags: (0x0004) ACC_PROTECTED
Signature: Ljava/util/List<Lorg/jruby/ir/instructions/Instr;>;
protected java.util.List<java.lang.Object> argumentDescriptions;
descriptor: Ljava/util/List;
flags: (0x0004) ACC_PROTECTED
Signature: Ljava/util/List<Ljava/lang/Object;>;
protected boolean needsCodeCoverage;
descriptor: Z
flags: (0x0004) ACC_PROTECTED
private boolean executesOnce;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
protected int afterPrologueIndex;
descriptor: I
flags: (0x0004) ACC_PROTECTED
private org.jruby.ir.operands.TemporaryVariable yieldClosureVariable;
descriptor: Lorg/jruby/ir/operands/TemporaryVariable;
flags: (0x0002) ACC_PRIVATE
private org.jruby.ir.operands.Variable currentModuleVariable;
descriptor: Lorg/jruby/ir/operands/Variable;
flags: (0x0002) ACC_PRIVATE
private org.jruby.ir.operands.Variable currentScopeVariable;
descriptor: Lorg/jruby/ir/operands/Variable;
flags: (0x0002) ACC_PRIVATE
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
private static volatile int[] $SWITCH_TABLE$org$jruby$ast$NodeType;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/jruby/ir/IRBuilder;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic org.jruby.ir.IRBuilder.$assertionsDisabled:Z
3: getstatic org.jruby.ir.operands.UnexecutableNil.U_NIL:Lorg/jruby/ir/operands/UnexecutableNil;
putstatic org.jruby.ir.IRBuilder.U_NIL:Lorg/jruby/ir/operands/UnexecutableNil;
return
LocalVariableTable:
Start End Slot Name Signature
public static org.jruby.ast.Node buildAST(boolean, java.lang.String);
descriptor: (ZLjava/lang/String;)Lorg/jruby/ast/Node;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=10, args_size=2
start local 0 start local 1 0: invokestatic org.jruby.Ruby.getGlobalRuntime:()Lorg/jruby/Ruby;
astore 2
start local 2 1: iload 0
ifeq 2
aload 2
aload 1
invokestatic org.jruby.util.ByteList.create:(Ljava/lang/CharSequence;)Lorg/jruby/util/ByteList;
ldc "-e"
aconst_null
iconst_0
iconst_0
invokevirtual org.jruby.Ruby.parse:(Lorg/jruby/util/ByteList;Ljava/lang/String;Lorg/jruby/runtime/DynamicScope;IZ)Lorg/jruby/ast/Node;
areturn
2: StackMap locals: org.jruby.Ruby
StackMap stack:
aconst_null
astore 3
start local 3 3: new java.io.File
dup
aload 1
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 4
start local 4 4: new java.io.FileInputStream
dup
aload 4
invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
astore 3
5: aload 4
invokevirtual java.io.File.length:()J
lstore 5
start local 5 6: lload 5
l2i
newarray 8
astore 7
start local 7 7: aload 3
aload 7
invokevirtual java.io.FileInputStream.read:([B)I
pop
8: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "-- processing "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " --"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
9: aload 2
new org.jruby.util.ByteList
dup
aload 7
invokespecial org.jruby.util.ByteList.<init>:([B)V
aload 1
aconst_null
iconst_0
iconst_0
invokevirtual org.jruby.Ruby.parse:(Lorg/jruby/util/ByteList;Ljava/lang/String;Lorg/jruby/runtime/DynamicScope;IZ)Lorg/jruby/ast/Node;
astore 9
10: aload 3
ifnull 13
aload 3
invokevirtual java.io.FileInputStream.close:()V
11: goto 13
StackMap locals: int java.lang.String org.jruby.Ruby java.io.FileInputStream java.io.File long byte[] top org.jruby.ast.Node
StackMap stack: java.lang.Exception
12: pop
13: StackMap locals:
StackMap stack:
aload 9
areturn
end local 7 end local 5 end local 4 14: StackMap locals: int java.lang.String org.jruby.Ruby java.io.FileInputStream
StackMap stack: java.io.IOException
astore 4
start local 4 15: new java.lang.RuntimeException
dup
aload 4
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 4 16: StackMap locals:
StackMap stack: java.lang.Throwable
astore 8
17: aload 3
ifnull 20
aload 3
invokevirtual java.io.FileInputStream.close:()V
18: goto 20
StackMap locals: int java.lang.String org.jruby.Ruby java.io.FileInputStream top top top top java.lang.Throwable
StackMap stack: java.lang.Exception
19: pop
20: StackMap locals:
StackMap stack:
aload 8
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 isCommandLineScript Z
0 21 1 arg Ljava/lang/String;
1 21 2 ruby Lorg/jruby/Ruby;
3 21 3 fis Ljava/io/FileInputStream;
4 14 4 file Ljava/io/File;
6 14 5 size J
7 14 7 bytes [B
15 16 4 ioe Ljava/io/IOException;
Exception table:
from to target type
10 11 12 Class java.lang.Exception
3 10 14 Class java.io.IOException
3 10 16 any
14 16 16 any
17 18 19 Class java.lang.Exception
MethodParameters:
Name Flags
isCommandLineScript
arg
public org.jruby.ir.IRBuilder$IRLoop getCurrentLoop();
descriptor: ()Lorg/jruby/ir/IRBuilder$IRLoop;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.ir.IRBuilder.loopStack:Ljava/util/Stack;
invokevirtual java.util.Stack.isEmpty:()Z
ifeq 1
aconst_null
goto 2
StackMap locals:
StackMap stack:
1: aload 0
getfield org.jruby.ir.IRBuilder.loopStack:Ljava/util/Stack;
invokevirtual java.util.Stack.peek:()Ljava/lang/Object;
checkcast org.jruby.ir.IRBuilder$IRLoop
StackMap locals:
StackMap stack: org.jruby.ir.IRBuilder$IRLoop
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/ir/IRBuilder;
public void <init>(org.jruby.ir.IRManager, org.jruby.ir.IRScope, org.jruby.ir.IRBuilder);
descriptor: (Lorg/jruby/ir/IRManager;Lorg/jruby/ir/IRScope;Lorg/jruby/ir/IRBuilder;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.Stack
dup
invokespecial java.util.Stack.<init>:()V
putfield org.jruby.ir.IRBuilder.activeRescueBlockStack:Ljava/util/Stack;
2: aload 0
new java.util.Stack
dup
invokespecial java.util.Stack.<init>:()V
putfield org.jruby.ir.IRBuilder.activeEnsureBlockStack:Ljava/util/Stack;
3: aload 0
new java.util.Stack
dup
invokespecial java.util.Stack.<init>:()V
putfield org.jruby.ir.IRBuilder.ensureBodyBuildStack:Ljava/util/Stack;
4: aload 0
new java.util.Stack
dup
invokespecial java.util.Stack.<init>:()V
putfield org.jruby.ir.IRBuilder.activeRescuers:Ljava/util/Stack;
5: aload 0
new java.util.Stack
dup
invokespecial java.util.Stack.<init>:()V
putfield org.jruby.ir.IRBuilder.loopStack:Ljava/util/Stack;
6: aload 0
iconst_m1
putfield org.jruby.ir.IRBuilder._lastProcessedLineNum:I
7: aload 0
iconst_0
putfield org.jruby.ir.IRBuilder.needsLineNumInfo:Z
8: aload 0
iconst_0
putfield org.jruby.ir.IRBuilder.underscoreVariableSeen:Z
9: aload 0
iconst_1
putfield org.jruby.ir.IRBuilder.executesOnce:Z
10: aload 0
iconst_0
putfield org.jruby.ir.IRBuilder.afterPrologueIndex:I
11: aload 0
aconst_null
putfield org.jruby.ir.IRBuilder.yieldClosureVariable:Lorg/jruby/ir/operands/TemporaryVariable;
12: aload 0
aconst_null
putfield org.jruby.ir.IRBuilder.currentModuleVariable:Lorg/jruby/ir/operands/Variable;
13: aload 0
aload 1
putfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
14: aload 0
aload 2
putfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
15: aload 0
aload 3
putfield org.jruby.ir.IRBuilder.parent:Lorg/jruby/ir/IRBuilder;
16: aload 0
new java.util.ArrayList
dup
bipush 50
invokespecial java.util.ArrayList.<init>:(I)V
putfield org.jruby.ir.IRBuilder.instructions:Ljava/util/List;
17: aload 0
getfield org.jruby.ir.IRBuilder.activeRescuers:Ljava/util/Stack;
getstatic org.jruby.ir.operands.Label.UNRESCUED_REGION_LABEL:Lorg/jruby/ir/operands/Label;
invokevirtual java.util.Stack.push:(Ljava/lang/Object;)Ljava/lang/Object;
pop
18: aload 3
ifnull 19
aload 0
aload 3
getfield org.jruby.ir.IRBuilder.executesOnce:Z
putfield org.jruby.ir.IRBuilder.executesOnce:Z
19: StackMap locals: org.jruby.ir.IRBuilder org.jruby.ir.IRManager org.jruby.ir.IRScope org.jruby.ir.IRBuilder
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lorg/jruby/ir/IRBuilder;
0 20 1 manager Lorg/jruby/ir/IRManager;
0 20 2 scope Lorg/jruby/ir/IRScope;
0 20 3 parent Lorg/jruby/ir/IRBuilder;
MethodParameters:
Name Flags
manager
scope
parent
private boolean needsCodeCoverage();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.ir.IRBuilder.needsCodeCoverage:Z
ifne 2
aload 0
getfield org.jruby.ir.IRBuilder.parent:Lorg/jruby/ir/IRBuilder;
ifnull 1
aload 0
getfield org.jruby.ir.IRBuilder.parent:Lorg/jruby/ir/IRBuilder;
invokevirtual org.jruby.ir.IRBuilder.needsCodeCoverage:()Z
ifne 2
StackMap locals:
StackMap stack:
1: 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/IRBuilder;
public void addArgumentDescription(org.jruby.runtime.ArgumentType, org.jruby.RubySymbol);
descriptor: (Lorg/jruby/runtime/ArgumentType;Lorg/jruby/RubySymbol;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.jruby.ir.IRBuilder.argumentDescriptions:Ljava/util/List;
ifnonnull 1
aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield org.jruby.ir.IRBuilder.argumentDescriptions:Ljava/util/List;
1: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.ir.IRBuilder.argumentDescriptions:Ljava/util/List;
aload 1
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
2: aload 0
getfield org.jruby.ir.IRBuilder.argumentDescriptions:Ljava/util/List;
aload 2
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jruby/ir/IRBuilder;
0 4 1 type Lorg/jruby/runtime/ArgumentType;
0 4 2 name Lorg/jruby/RubySymbol;
MethodParameters:
Name Flags
type
name
public void addInstr(org.jruby.ir.instructions.Instr);
descriptor: (Lorg/jruby/ir/instructions/Instr;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.ir.IRBuilder.needsLineNumInfo:Z
ifeq 7
1: aload 0
iconst_0
putfield org.jruby.ir.IRBuilder.needsLineNumInfo:Z
2: aload 0
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
aload 0
getfield org.jruby.ir.IRBuilder._lastProcessedLineNum:I
invokevirtual org.jruby.ir.IRManager.newLineNumber:(I)Lorg/jruby/ir/instructions/LineNumberInstr;
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
3: getstatic org.jruby.RubyInstanceConfig.FULL_TRACE_ENABLED:Z
ifeq 7
4: aload 0
new org.jruby.ir.instructions.TraceInstr
dup
getstatic org.jruby.runtime.RubyEvent.LINE:Lorg/jruby/runtime/RubyEvent;
aload 0
invokevirtual org.jruby.ir.IRBuilder.methodNameFor:()Lorg/jruby/RubySymbol;
aload 0
invokevirtual org.jruby.ir.IRBuilder.getFileName:()Ljava/lang/String;
aload 0
getfield org.jruby.ir.IRBuilder._lastProcessedLineNum:I
iconst_1
iadd
invokespecial org.jruby.ir.instructions.TraceInstr.<init>:(Lorg/jruby/runtime/RubyEvent;Lorg/jruby/RubySymbol;Ljava/lang/String;I)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
5: aload 0
invokevirtual org.jruby.ir.IRBuilder.needsCodeCoverage:()Z
ifeq 7
6: aload 0
new org.jruby.ir.instructions.TraceInstr
dup
getstatic org.jruby.runtime.RubyEvent.COVERAGE:Lorg/jruby/runtime/RubyEvent;
aload 0
invokevirtual org.jruby.ir.IRBuilder.methodNameFor:()Lorg/jruby/RubySymbol;
aload 0
invokevirtual org.jruby.ir.IRBuilder.getFileName:()Ljava/lang/String;
aload 0
getfield org.jruby.ir.IRBuilder._lastProcessedLineNum:I
iconst_1
iadd
invokespecial org.jruby.ir.instructions.TraceInstr.<init>:(Lorg/jruby/runtime/RubyEvent;Lorg/jruby/RubySymbol;Ljava/lang/String;I)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
7: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.ir.IRBuilder.ensureBodyBuildStack:Ljava/util/Stack;
invokevirtual java.util.Stack.empty:()Z
ifeq 12
8: aload 1
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.instructions.Instr.computeScopeFlags:(Lorg/jruby/ir/IRScope;)Z
pop
9: aload 0
invokevirtual org.jruby.ir.IRBuilder.hasListener:()Z
ifeq 10
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getIRScopeListener:()Lorg/jruby/ir/listeners/IRScopeListener;
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
aload 1
aload 0
getfield org.jruby.ir.IRBuilder.instructions:Ljava/util/List;
invokeinterface java.util.List.size:()I
invokeinterface org.jruby.ir.listeners.IRScopeListener.addedInstr:(Lorg/jruby/ir/IRScope;Lorg/jruby/ir/instructions/Instr;I)V
10: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.ir.IRBuilder.instructions:Ljava/util/List;
aload 1
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
11: goto 13
12: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.ir.IRBuilder.ensureBodyBuildStack:Ljava/util/Stack;
invokevirtual java.util.Stack.peek:()Ljava/lang/Object;
checkcast org.jruby.ir.IRBuilder$EnsureBlockInfo
aload 1
invokevirtual org.jruby.ir.IRBuilder$EnsureBlockInfo.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
13: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/jruby/ir/IRBuilder;
0 14 1 instr Lorg/jruby/ir/instructions/Instr;
MethodParameters:
Name Flags
instr
public void addInstrAtBeginning(org.jruby.ir.instructions.Instr);
descriptor: (Lorg/jruby/ir/instructions/Instr;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.ir.IRBuilder.ensureBodyBuildStack:Ljava/util/Stack;
invokevirtual java.util.Stack.empty:()Z
ifeq 5
1: aload 1
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.instructions.Instr.computeScopeFlags:(Lorg/jruby/ir/IRScope;)Z
pop
2: aload 0
invokevirtual org.jruby.ir.IRBuilder.hasListener:()Z
ifeq 3
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getIRScopeListener:()Lorg/jruby/ir/listeners/IRScopeListener;
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
aload 1
iconst_0
invokeinterface org.jruby.ir.listeners.IRScopeListener.addedInstr:(Lorg/jruby/ir/IRScope;Lorg/jruby/ir/instructions/Instr;I)V
3: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.ir.IRBuilder.instructions:Ljava/util/List;
iconst_0
aload 1
invokeinterface java.util.List.add:(ILjava/lang/Object;)V
4: goto 6
5: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.ir.IRBuilder.ensureBodyBuildStack:Ljava/util/Stack;
invokevirtual java.util.Stack.peek:()Ljava/lang/Object;
checkcast org.jruby.ir.IRBuilder$EnsureBlockInfo
aload 1
invokevirtual org.jruby.ir.IRBuilder$EnsureBlockInfo.addInstrAtBeginning:(Lorg/jruby/ir/instructions/Instr;)V
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/jruby/ir/IRBuilder;
0 7 1 instr Lorg/jruby/ir/instructions/Instr;
MethodParameters:
Name Flags
instr
private void emitEnsureBlocks(org.jruby.ir.IRBuilder$IRLoop);
descriptor: (Lorg/jruby/ir/IRBuilder$IRLoop;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.ir.IRBuilder.activeEnsureBlockStack:Ljava/util/Stack;
invokevirtual java.util.Stack.size:()I
istore 2
start local 2 1: aload 0
getfield org.jruby.ir.IRBuilder.activeEnsureBlockStack:Ljava/util/Stack;
iload 2
anewarray org.jruby.ir.IRBuilder$EnsureBlockInfo
invokevirtual java.util.Stack.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast org.jruby.ir.IRBuilder$EnsureBlockInfo[]
astore 3
start local 3 2: iload 2
iconst_1
isub
istore 4
start local 4 3: goto 8
4: StackMap locals: int org.jruby.ir.IRBuilder$EnsureBlockInfo[] int
StackMap stack:
aload 3
iload 4
aaload
astore 5
start local 5 5: aload 1
ifnull 6
aload 5
getfield org.jruby.ir.IRBuilder$EnsureBlockInfo.innermostLoop:Lorg/jruby/ir/IRBuilder$IRLoop;
aload 1
if_acmpeq 6
goto 9
6: StackMap locals: org.jruby.ir.IRBuilder$EnsureBlockInfo
StackMap stack:
aload 5
aload 0
invokevirtual org.jruby.ir.IRBuilder$EnsureBlockInfo.cloneIntoHostScope:(Lorg/jruby/ir/IRBuilder;)V
end local 5 7: iinc 4 -1
StackMap locals:
StackMap stack:
8: iload 4
ifge 4
end local 4 9: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/jruby/ir/IRBuilder;
0 10 1 loop Lorg/jruby/ir/IRBuilder$IRLoop;
1 10 2 n I
2 10 3 ebArray [Lorg/jruby/ir/IRBuilder$EnsureBlockInfo;
3 9 4 i I
5 7 5 ebi Lorg/jruby/ir/IRBuilder$EnsureBlockInfo;
MethodParameters:
Name Flags
loop
private void determineIfWeNeedLineNumber(org.jruby.ast.Node);
descriptor: (Lorg/jruby/ast/Node;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.jruby.ast.Node.isNewline:()Z
ifeq 5
1: aload 1
invokevirtual org.jruby.ast.Node.getLine:()I
istore 2
start local 2 2: iload 2
aload 0
getfield org.jruby.ir.IRBuilder._lastProcessedLineNum:I
if_icmpeq 5
3: aload 0
iconst_1
putfield org.jruby.ir.IRBuilder.needsLineNumInfo:Z
4: aload 0
iload 2
putfield org.jruby.ir.IRBuilder._lastProcessedLineNum:I
end local 2 5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/jruby/ir/IRBuilder;
0 6 1 node Lorg/jruby/ast/Node;
2 5 2 currLineNum I
MethodParameters:
Name Flags
node
private org.jruby.ir.operands.Operand buildOperand(org.jruby.ir.operands.Variable, org.jruby.ast.Node);
descriptor: (Lorg/jruby/ir/operands/Variable;Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
invokevirtual org.jruby.ir.IRBuilder.determineIfWeNeedLineNumber:(Lorg/jruby/ast/Node;)V
1: invokestatic org.jruby.ir.IRBuilder.$SWITCH_TABLE$org$jruby$ast$NodeType:()[I
aload 2
invokevirtual org.jruby.ast.Node.getNodeType:()Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
iaload
tableswitch { // 1 - 115
1: 2
2: 3
3: 4
4: 96
5: 96
6: 6
7: 96
8: 8
9: 9
10: 10
11: 96
12: 96
13: 11
14: 96
15: 12
16: 13
17: 14
18: 15
19: 17
20: 96
21: 16
22: 18
23: 19
24: 21
25: 22
26: 23
27: 24
28: 25
29: 26
30: 27
31: 28
32: 29
33: 30
34: 31
35: 32
36: 34
37: 35
38: 36
39: 37
40: 38
41: 39
42: 40
43: 41
44: 42
45: 43
46: 44
47: 45
48: 46
49: 47
50: 96
51: 48
52: 96
53: 51
54: 52
55: 53
56: 54
57: 55
58: 56
59: 96
60: 58
61: 60
62: 96
63: 59
64: 61
65: 63
66: 64
67: 65
68: 66
69: 67
70: 68
71: 70
72: 71
73: 72
74: 73
75: 74
76: 75
77: 77
78: 96
79: 78
80: 79
81: 96
82: 80
83: 81
84: 82
85: 83
86: 84
87: 85
88: 86
89: 87
90: 88
91: 90
92: 89
93: 92
94: 93
95: 94
96: 96
97: 95
98: 96
99: 76
100: 7
101: 5
102: 96
103: 96
104: 49
105: 57
106: 96
107: 33
108: 50
109: 96
110: 96
111: 96
112: 69
113: 20
114: 96
115: 62
default: 96
}
2: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.AliasNode
invokevirtual org.jruby.ir.IRBuilder.buildAlias:(Lorg/jruby/ast/AliasNode;)Lorg/jruby/ir/operands/Operand;
areturn
3: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.AndNode
invokevirtual org.jruby.ir.IRBuilder.buildAnd:(Lorg/jruby/ast/AndNode;)Lorg/jruby/ir/operands/Operand;
areturn
4: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.ArgsCatNode
invokevirtual org.jruby.ir.IRBuilder.buildArgsCat:(Lorg/jruby/ast/ArgsCatNode;)Lorg/jruby/ir/operands/Operand;
areturn
5: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.ArgsPushNode
invokevirtual org.jruby.ir.IRBuilder.buildArgsPush:(Lorg/jruby/ast/ArgsPushNode;)Lorg/jruby/ir/operands/Operand;
areturn
6: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.ArrayNode
iconst_0
invokevirtual org.jruby.ir.IRBuilder.buildArray:(Lorg/jruby/ast/ArrayNode;Z)Lorg/jruby/ir/operands/Operand;
areturn
7: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
checkcast org.jruby.ast.AttrAssignNode
invokevirtual org.jruby.ir.IRBuilder.buildAttrAssign:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ast/AttrAssignNode;)Lorg/jruby/ir/operands/Operand;
areturn
8: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
checkcast org.jruby.ast.BackRefNode
invokevirtual org.jruby.ir.IRBuilder.buildBackref:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ast/BackRefNode;)Lorg/jruby/ir/operands/Operand;
areturn
9: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.BeginNode
invokevirtual org.jruby.ir.IRBuilder.buildBegin:(Lorg/jruby/ast/BeginNode;)Lorg/jruby/ir/operands/Operand;
areturn
10: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.BignumNode
invokevirtual org.jruby.ir.IRBuilder.buildBignum:(Lorg/jruby/ast/BignumNode;)Lorg/jruby/ir/operands/Operand;
areturn
11: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.BlockNode
invokevirtual org.jruby.ir.IRBuilder.buildBlock:(Lorg/jruby/ast/BlockNode;)Lorg/jruby/ir/operands/Operand;
areturn
12: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.BreakNode
invokevirtual org.jruby.ir.IRBuilder.buildBreak:(Lorg/jruby/ast/BreakNode;)Lorg/jruby/ir/operands/Operand;
areturn
13: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
checkcast org.jruby.ast.CallNode
aconst_null
aconst_null
invokevirtual org.jruby.ir.IRBuilder.buildCall:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ast/CallNode;Lorg/jruby/ir/operands/Label;Lorg/jruby/ir/operands/Label;)Lorg/jruby/ir/operands/Operand;
areturn
14: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.CaseNode
invokevirtual org.jruby.ir.IRBuilder.buildCase:(Lorg/jruby/ast/CaseNode;)Lorg/jruby/ir/operands/Operand;
areturn
15: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.ClassNode
invokevirtual org.jruby.ir.IRBuilder.buildClass:(Lorg/jruby/ast/ClassNode;)Lorg/jruby/ir/operands/Operand;
areturn
16: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.ClassVarNode
invokevirtual org.jruby.ir.IRBuilder.buildClassVar:(Lorg/jruby/ast/ClassVarNode;)Lorg/jruby/ir/operands/Operand;
areturn
17: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.ClassVarAsgnNode
invokevirtual org.jruby.ir.IRBuilder.buildClassVarAsgn:(Lorg/jruby/ast/ClassVarAsgnNode;)Lorg/jruby/ir/operands/Operand;
areturn
18: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.Colon2Node
invokevirtual org.jruby.ir.IRBuilder.buildColon2:(Lorg/jruby/ast/Colon2Node;)Lorg/jruby/ir/operands/Operand;
areturn
19: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.Colon3Node
invokevirtual org.jruby.ir.IRBuilder.buildColon3:(Lorg/jruby/ast/Colon3Node;)Lorg/jruby/ir/operands/Operand;
areturn
20: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.ComplexNode
invokevirtual org.jruby.ir.IRBuilder.buildComplex:(Lorg/jruby/ast/ComplexNode;)Lorg/jruby/ir/operands/Operand;
areturn
21: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.ConstDeclNode
invokevirtual org.jruby.ir.IRBuilder.buildConstDecl:(Lorg/jruby/ast/ConstDeclNode;)Lorg/jruby/ir/operands/Operand;
areturn
22: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.ConstNode
invokevirtual org.jruby.ast.ConstNode.getName:()Lorg/jruby/RubySymbol;
invokevirtual org.jruby.ir.IRBuilder.searchConst:(Lorg/jruby/RubySymbol;)Lorg/jruby/ir/operands/Operand;
areturn
23: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.DAsgnNode
invokevirtual org.jruby.ir.IRBuilder.buildDAsgn:(Lorg/jruby/ast/DAsgnNode;)Lorg/jruby/ir/operands/Operand;
areturn
24: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.DefinedNode
invokevirtual org.jruby.ast.DefinedNode.getExpressionNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.buildGetDefinition:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
areturn
25: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.MethodDefNode
invokevirtual org.jruby.ir.IRBuilder.buildDefn:(Lorg/jruby/ast/MethodDefNode;)Lorg/jruby/ir/operands/Operand;
areturn
26: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.DefsNode
invokevirtual org.jruby.ir.IRBuilder.buildDefs:(Lorg/jruby/ast/DefsNode;)Lorg/jruby/ir/operands/Operand;
areturn
27: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.DotNode
invokevirtual org.jruby.ir.IRBuilder.buildDot:(Lorg/jruby/ast/DotNode;)Lorg/jruby/ir/operands/Operand;
areturn
28: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
checkcast org.jruby.ast.DRegexpNode
invokevirtual org.jruby.ir.IRBuilder.buildDRegexp:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ast/DRegexpNode;)Lorg/jruby/ir/operands/Operand;
areturn
29: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
checkcast org.jruby.ast.DStrNode
invokevirtual org.jruby.ir.IRBuilder.buildDStr:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ast/DStrNode;)Lorg/jruby/ir/operands/Operand;
areturn
30: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
checkcast org.jruby.ast.DSymbolNode
invokevirtual org.jruby.ir.IRBuilder.buildDSymbol:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ast/DSymbolNode;)Lorg/jruby/ir/operands/Operand;
areturn
31: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.DVarNode
invokevirtual org.jruby.ir.IRBuilder.buildDVar:(Lorg/jruby/ast/DVarNode;)Lorg/jruby/ir/operands/Operand;
areturn
32: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
checkcast org.jruby.ast.DXStrNode
invokevirtual org.jruby.ir.IRBuilder.buildDXStr:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ast/DXStrNode;)Lorg/jruby/ir/operands/Operand;
areturn
33: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.EncodingNode
invokevirtual org.jruby.ir.IRBuilder.buildEncoding:(Lorg/jruby/ast/EncodingNode;)Lorg/jruby/ir/operands/Operand;
areturn
34: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.EnsureNode
invokevirtual org.jruby.ir.IRBuilder.buildEnsureNode:(Lorg/jruby/ast/EnsureNode;)Lorg/jruby/ir/operands/Operand;
areturn
35: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.EvStrNode
invokevirtual org.jruby.ir.IRBuilder.buildEvStr:(Lorg/jruby/ast/EvStrNode;)Lorg/jruby/ir/operands/Operand;
areturn
36: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.ir.IRBuilder.buildFalse:()Lorg/jruby/ir/operands/Operand;
areturn
37: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
checkcast org.jruby.ast.FCallNode
invokevirtual org.jruby.ir.IRBuilder.buildFCall:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ast/FCallNode;)Lorg/jruby/ir/operands/Operand;
areturn
38: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.FixnumNode
invokevirtual org.jruby.ir.IRBuilder.buildFixnum:(Lorg/jruby/ast/FixnumNode;)Lorg/jruby/ir/operands/Operand;
areturn
39: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.FlipNode
invokevirtual org.jruby.ir.IRBuilder.buildFlip:(Lorg/jruby/ast/FlipNode;)Lorg/jruby/ir/operands/Operand;
areturn
40: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.FloatNode
invokevirtual org.jruby.ir.IRBuilder.buildFloat:(Lorg/jruby/ast/FloatNode;)Lorg/jruby/ir/operands/Operand;
areturn
41: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.ForNode
invokevirtual org.jruby.ir.IRBuilder.buildFor:(Lorg/jruby/ast/ForNode;)Lorg/jruby/ir/operands/Operand;
areturn
42: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.GlobalAsgnNode
invokevirtual org.jruby.ir.IRBuilder.buildGlobalAsgn:(Lorg/jruby/ast/GlobalAsgnNode;)Lorg/jruby/ir/operands/Operand;
areturn
43: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
checkcast org.jruby.ast.GlobalVarNode
invokevirtual org.jruby.ir.IRBuilder.buildGlobalVar:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ast/GlobalVarNode;)Lorg/jruby/ir/operands/Operand;
areturn
44: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.HashNode
invokevirtual org.jruby.ir.IRBuilder.buildHash:(Lorg/jruby/ast/HashNode;)Lorg/jruby/ir/operands/Operand;
areturn
45: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
checkcast org.jruby.ast.IfNode
invokevirtual org.jruby.ir.IRBuilder.buildIf:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ast/IfNode;)Lorg/jruby/ir/operands/Operand;
areturn
46: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.InstAsgnNode
invokevirtual org.jruby.ir.IRBuilder.buildInstAsgn:(Lorg/jruby/ast/InstAsgnNode;)Lorg/jruby/ir/operands/Operand;
areturn
47: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.InstVarNode
invokevirtual org.jruby.ir.IRBuilder.buildInstVar:(Lorg/jruby/ast/InstVarNode;)Lorg/jruby/ir/operands/Operand;
areturn
48: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.IterNode
invokevirtual org.jruby.ir.IRBuilder.buildIter:(Lorg/jruby/ast/IterNode;)Lorg/jruby/ir/operands/Operand;
areturn
49: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.LambdaNode
invokevirtual org.jruby.ir.IRBuilder.buildLambda:(Lorg/jruby/ast/LambdaNode;)Lorg/jruby/ir/operands/Operand;
areturn
50: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.LiteralNode
invokevirtual org.jruby.ir.IRBuilder.buildLiteral:(Lorg/jruby/ast/LiteralNode;)Lorg/jruby/ir/operands/Operand;
areturn
51: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.LocalAsgnNode
invokevirtual org.jruby.ir.IRBuilder.buildLocalAsgn:(Lorg/jruby/ast/LocalAsgnNode;)Lorg/jruby/ir/operands/Operand;
areturn
52: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.LocalVarNode
invokevirtual org.jruby.ir.IRBuilder.buildLocalVar:(Lorg/jruby/ast/LocalVarNode;)Lorg/jruby/ir/operands/Operand;
areturn
53: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
checkcast org.jruby.ast.Match2Node
invokevirtual org.jruby.ir.IRBuilder.buildMatch2:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ast/Match2Node;)Lorg/jruby/ir/operands/Operand;
areturn
54: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
checkcast org.jruby.ast.Match3Node
invokevirtual org.jruby.ir.IRBuilder.buildMatch3:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ast/Match3Node;)Lorg/jruby/ir/operands/Operand;
areturn
55: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
checkcast org.jruby.ast.MatchNode
invokevirtual org.jruby.ir.IRBuilder.buildMatch:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ast/MatchNode;)Lorg/jruby/ir/operands/Operand;
areturn
56: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.ModuleNode
invokevirtual org.jruby.ir.IRBuilder.buildModule:(Lorg/jruby/ast/ModuleNode;)Lorg/jruby/ir/operands/Operand;
areturn
57: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.MultipleAsgnNode
invokevirtual org.jruby.ir.IRBuilder.buildMultipleAsgn19:(Lorg/jruby/ast/MultipleAsgnNode;)Lorg/jruby/ir/operands/Operand;
areturn
58: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.NextNode
invokevirtual org.jruby.ir.IRBuilder.buildNext:(Lorg/jruby/ast/NextNode;)Lorg/jruby/ir/operands/Operand;
areturn
59: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.NthRefNode
invokevirtual org.jruby.ir.IRBuilder.buildNthRef:(Lorg/jruby/ast/NthRefNode;)Lorg/jruby/ir/operands/Operand;
areturn
60: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.ir.IRBuilder.buildNil:()Lorg/jruby/ir/operands/Operand;
areturn
61: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.OpAsgnAndNode
invokevirtual org.jruby.ir.IRBuilder.buildOpAsgnAnd:(Lorg/jruby/ast/OpAsgnAndNode;)Lorg/jruby/ir/operands/Operand;
areturn
62: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.OpAsgnConstDeclNode
invokevirtual org.jruby.ir.IRBuilder.buildOpAsgnConstDeclNode:(Lorg/jruby/ast/OpAsgnConstDeclNode;)Lorg/jruby/ir/operands/Operand;
areturn
63: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.OpAsgnNode
invokevirtual org.jruby.ir.IRBuilder.buildOpAsgn:(Lorg/jruby/ast/OpAsgnNode;)Lorg/jruby/ir/operands/Operand;
areturn
64: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.OpAsgnOrNode
invokevirtual org.jruby.ir.IRBuilder.buildOpAsgnOr:(Lorg/jruby/ast/OpAsgnOrNode;)Lorg/jruby/ir/operands/Operand;
areturn
65: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.OpElementAsgnNode
invokevirtual org.jruby.ir.IRBuilder.buildOpElementAsgn:(Lorg/jruby/ast/OpElementAsgnNode;)Lorg/jruby/ir/operands/Operand;
areturn
66: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.OrNode
invokevirtual org.jruby.ir.IRBuilder.buildOr:(Lorg/jruby/ast/OrNode;)Lorg/jruby/ir/operands/Operand;
areturn
67: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.PreExeNode
invokevirtual org.jruby.ir.IRBuilder.buildPreExe:(Lorg/jruby/ast/PreExeNode;)Lorg/jruby/ir/operands/Operand;
areturn
68: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.PostExeNode
invokevirtual org.jruby.ir.IRBuilder.buildPostExe:(Lorg/jruby/ast/PostExeNode;)Lorg/jruby/ir/operands/Operand;
areturn
69: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.RationalNode
invokevirtual org.jruby.ir.IRBuilder.buildRational:(Lorg/jruby/ast/RationalNode;)Lorg/jruby/ir/operands/Operand;
areturn
70: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.RedoNode
invokevirtual org.jruby.ir.IRBuilder.buildRedo:(Lorg/jruby/ast/RedoNode;)Lorg/jruby/ir/operands/Operand;
areturn
71: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.RegexpNode
invokevirtual org.jruby.ir.IRBuilder.buildRegexp:(Lorg/jruby/ast/RegexpNode;)Lorg/jruby/ir/operands/Operand;
areturn
72: StackMap locals:
StackMap stack:
new org.jruby.compiler.NotCompilableException
dup
new java.lang.StringBuilder
dup
ldc "rescue body is handled by rescue compilation at: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.getFile:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual org.jruby.ast.Node.getLine:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.jruby.compiler.NotCompilableException.<init>:(Ljava/lang/String;)V
athrow
73: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.RescueNode
invokevirtual org.jruby.ir.IRBuilder.buildRescue:(Lorg/jruby/ast/RescueNode;)Lorg/jruby/ir/operands/Operand;
areturn
74: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.ir.IRBuilder.buildRetry:()Lorg/jruby/ir/operands/Operand;
areturn
75: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.ReturnNode
invokevirtual org.jruby.ir.IRBuilder.buildReturn:(Lorg/jruby/ast/ReturnNode;)Lorg/jruby/ir/operands/Operand;
areturn
76: StackMap locals:
StackMap stack:
new org.jruby.compiler.NotCompilableException
dup
new java.lang.StringBuilder
dup
ldc "Use buildRoot(); Root node at: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.getFile:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual org.jruby.ast.Node.getLine:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.jruby.compiler.NotCompilableException.<init>:(Ljava/lang/String;)V
athrow
77: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.SClassNode
invokevirtual org.jruby.ir.IRBuilder.buildSClass:(Lorg/jruby/ast/SClassNode;)Lorg/jruby/ir/operands/Operand;
areturn
78: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.ir.IRBuilder.buildSelf:()Lorg/jruby/ir/operands/Variable;
areturn
79: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.SplatNode
invokevirtual org.jruby.ir.IRBuilder.buildSplat:(Lorg/jruby/ast/SplatNode;)Lorg/jruby/ir/operands/Operand;
areturn
80: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.StrNode
invokevirtual org.jruby.ir.IRBuilder.buildStr:(Lorg/jruby/ast/StrNode;)Lorg/jruby/ir/operands/Operand;
areturn
81: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.SuperNode
invokevirtual org.jruby.ir.IRBuilder.buildSuper:(Lorg/jruby/ast/SuperNode;)Lorg/jruby/ir/operands/Operand;
areturn
82: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.SValueNode
invokevirtual org.jruby.ir.IRBuilder.buildSValue:(Lorg/jruby/ast/SValueNode;)Lorg/jruby/ir/operands/Operand;
areturn
83: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.SymbolNode
invokevirtual org.jruby.ir.IRBuilder.buildSymbol:(Lorg/jruby/ast/SymbolNode;)Lorg/jruby/ir/operands/Operand;
areturn
84: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.ir.IRBuilder.buildTrue:()Lorg/jruby/ir/operands/Operand;
areturn
85: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual org.jruby.ir.IRBuilder.buildUndef:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
areturn
86: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.UntilNode
invokevirtual org.jruby.ir.IRBuilder.buildUntil:(Lorg/jruby/ast/UntilNode;)Lorg/jruby/ir/operands/Operand;
areturn
87: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.VAliasNode
invokevirtual org.jruby.ir.IRBuilder.buildVAlias:(Lorg/jruby/ast/VAliasNode;)Lorg/jruby/ir/operands/Operand;
areturn
88: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
checkcast org.jruby.ast.VCallNode
invokevirtual org.jruby.ir.IRBuilder.buildVCall:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ast/VCallNode;)Lorg/jruby/ir/operands/Operand;
areturn
89: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.WhileNode
invokevirtual org.jruby.ir.IRBuilder.buildWhile:(Lorg/jruby/ast/WhileNode;)Lorg/jruby/ir/operands/Operand;
areturn
90: StackMap locals:
StackMap stack:
getstatic org.jruby.ir.IRBuilder.$assertionsDisabled:Z
ifne 91
new java.lang.AssertionError
dup
ldc "When nodes are handled by case node compilation."
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
StackMap locals:
StackMap stack:
91: aconst_null
areturn
92: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.XStrNode
invokevirtual org.jruby.ir.IRBuilder.buildXStr:(Lorg/jruby/ast/XStrNode;)Lorg/jruby/ir/operands/Operand;
areturn
93: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.YieldNode
aload 1
invokevirtual org.jruby.ir.IRBuilder.buildYield:(Lorg/jruby/ast/YieldNode;Lorg/jruby/ir/operands/Variable;)Lorg/jruby/ir/operands/Operand;
areturn
94: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.jruby.ir.IRBuilder.buildZArray:(Lorg/jruby/ir/operands/Variable;)Lorg/jruby/ir/operands/Operand;
areturn
95: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.jruby.ast.ZSuperNode
invokevirtual org.jruby.ir.IRBuilder.buildZSuper:(Lorg/jruby/ast/ZSuperNode;)Lorg/jruby/ir/operands/Operand;
areturn
96: StackMap locals:
StackMap stack:
new org.jruby.compiler.NotCompilableException
dup
new java.lang.StringBuilder
dup
ldc "Unknown node encountered in builder: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.jruby.compiler.NotCompilableException.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 97 0 this Lorg/jruby/ir/IRBuilder;
0 97 1 result Lorg/jruby/ir/operands/Variable;
0 97 2 node Lorg/jruby/ast/Node;
Exceptions:
throws org.jruby.compiler.NotCompilableException
MethodParameters:
Name Flags
result
node
private boolean hasListener();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getIRScopeListener:()Lorg/jruby/ir/listeners/IRScopeListener;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/ir/IRBuilder;
public org.jruby.ir.IRBuilder newIRBuilder(org.jruby.ir.IRManager, org.jruby.ir.IRScope);
descriptor: (Lorg/jruby/ir/IRManager;Lorg/jruby/ir/IRScope;)Lorg/jruby/ir/IRBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new org.jruby.ir.IRBuilder
dup
aload 1
aload 2
aload 0
invokespecial org.jruby.ir.IRBuilder.<init>:(Lorg/jruby/ir/IRManager;Lorg/jruby/ir/IRScope;Lorg/jruby/ir/IRBuilder;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/IRBuilder;
0 1 1 manager Lorg/jruby/ir/IRManager;
0 1 2 newScope Lorg/jruby/ir/IRScope;
MethodParameters:
Name Flags
manager
newScope
public static org.jruby.ir.IRBuilder topIRBuilder(org.jruby.ir.IRManager, org.jruby.ir.IRScope);
descriptor: (Lorg/jruby/ir/IRManager;Lorg/jruby/ir/IRScope;)Lorg/jruby/ir/IRBuilder;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: new org.jruby.ir.IRBuilder
dup
aload 0
aload 1
aconst_null
invokespecial org.jruby.ir.IRBuilder.<init>:(Lorg/jruby/ir/IRManager;Lorg/jruby/ir/IRScope;Lorg/jruby/ir/IRBuilder;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 manager Lorg/jruby/ir/IRManager;
0 1 1 newScope Lorg/jruby/ir/IRScope;
MethodParameters:
Name Flags
manager
newScope
public org.jruby.ir.operands.Operand build(org.jruby.ast.Node);
descriptor: (Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aconst_null
aload 1
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/IRBuilder;
0 1 1 node Lorg/jruby/ast/Node;
MethodParameters:
Name Flags
node
public org.jruby.ir.operands.Operand build(org.jruby.ir.operands.Variable, org.jruby.ast.Node);
descriptor: (Lorg/jruby/ir/operands/Variable;Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnonnull 1
aconst_null
areturn
1: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.ir.IRBuilder.executesOnce:Z
istore 3
start local 3 2: aload 0
getfield org.jruby.ir.IRBuilder.executesOnce:Z
ifeq 3
aload 0
aload 2
invokevirtual org.jruby.ast.Node.executesOnce:()Z
putfield org.jruby.ir.IRBuilder.executesOnce:Z
3: StackMap locals: int
StackMap stack:
aload 0
invokevirtual org.jruby.ir.IRBuilder.hasListener:()Z
ifeq 4
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getIRScopeListener:()Lorg/jruby/ir/listeners/IRScopeListener;
aload 2
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
invokeinterface org.jruby.ir.listeners.IRScopeListener.startBuildOperand:(Lorg/jruby/ast/Node;Lorg/jruby/ir/IRScope;)V
4: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual org.jruby.ir.IRBuilder.buildOperand:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 4
start local 4 5: aload 0
invokevirtual org.jruby.ir.IRBuilder.hasListener:()Z
ifeq 6
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getIRScopeListener:()Lorg/jruby/ir/listeners/IRScopeListener;
aload 2
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
aload 4
invokeinterface org.jruby.ir.listeners.IRScopeListener.endBuildOperand:(Lorg/jruby/ast/Node;Lorg/jruby/ir/IRScope;Lorg/jruby/ir/operands/Operand;)V
6: StackMap locals: org.jruby.ir.operands.Operand
StackMap stack:
aload 4
astore 6
7: aload 0
iload 3
putfield org.jruby.ir.IRBuilder.executesOnce:Z
8: aload 6
areturn
end local 4 9: StackMap locals: org.jruby.ir.IRBuilder org.jruby.ir.operands.Variable org.jruby.ast.Node int
StackMap stack: java.lang.Throwable
astore 5
10: aload 0
iload 3
putfield org.jruby.ir.IRBuilder.executesOnce:Z
11: aload 5
athrow
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/IRBuilder;
0 12 1 result Lorg/jruby/ir/operands/Variable;
0 12 2 node Lorg/jruby/ast/Node;
2 12 3 savedExecuteOnce Z
5 9 4 operand Lorg/jruby/ir/operands/Operand;
Exception table:
from to target type
2 7 9 any
MethodParameters:
Name Flags
result
node
private org.jruby.ir.interpreter.InterpreterContext buildLambdaInner(org.jruby.ast.LambdaNode);
descriptor: (Lorg/jruby/ast/LambdaNode;)Lorg/jruby/ir/interpreter/InterpreterContext;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.jruby.ir.IRBuilder.prepareImplicitState:()V
1: aload 0
invokevirtual org.jruby.ir.IRBuilder.addCurrentScopeAndModule:()V
2: aload 0
aload 1
invokevirtual org.jruby.ir.IRBuilder.receiveBlockArgs:(Lorg/jruby/ast/IterNode;)V
3: aload 1
invokevirtual org.jruby.ast.LambdaNode.getBody:()Lorg/jruby/ast/Node;
ifnonnull 4
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getNil:()Lorg/jruby/ir/operands/Nil;
goto 5
StackMap locals:
StackMap stack:
4: aload 0
aload 1
invokevirtual org.jruby.ast.LambdaNode.getBody:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
StackMap locals:
StackMap stack: org.jruby.ir.operands.Operand
5: astore 2
start local 2 6: aload 2
getstatic org.jruby.ir.IRBuilder.U_NIL:Lorg/jruby/ir/operands/UnexecutableNil;
if_acmpeq 7
aload 0
new org.jruby.ir.instructions.ReturnInstr
dup
aload 2
invokespecial org.jruby.ir.instructions.ReturnInstr.<init>:(Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
7: StackMap locals: org.jruby.ir.operands.Operand
StackMap stack:
aload 0
invokevirtual org.jruby.ir.IRBuilder.handleBreakAndReturnsInLambdas:()V
8: aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
aload 0
getfield org.jruby.ir.IRBuilder.instructions:Ljava/util/List;
invokevirtual org.jruby.ir.IRScope.allocateInterpreterContext:(Ljava/util/List;)Lorg/jruby/ir/interpreter/InterpreterContext;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/jruby/ir/IRBuilder;
0 9 1 node Lorg/jruby/ast/LambdaNode;
6 9 2 closureRetVal Lorg/jruby/ir/operands/Operand;
MethodParameters:
Name Flags
node
public org.jruby.ir.operands.Operand buildLambda(org.jruby.ast.LambdaNode);
descriptor: (Lorg/jruby/ast/LambdaNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=5, args_size=2
start local 0 start local 1 0: new org.jruby.ir.IRClosure
dup
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
aload 1
invokevirtual org.jruby.ast.LambdaNode.getLine:()I
aload 1
invokevirtual org.jruby.ast.LambdaNode.getScope:()Lorg/jruby/parser/StaticScope;
aload 1
invokestatic org.jruby.runtime.Signature.from:(Lorg/jruby/ast/IterNode;)Lorg/jruby/runtime/Signature;
aload 0
getfield org.jruby.ir.IRBuilder.needsCodeCoverage:Z
invokespecial org.jruby.ir.IRClosure.<init>:(Lorg/jruby/ir/IRManager;Lorg/jruby/ir/IRScope;ILorg/jruby/parser/StaticScope;Lorg/jruby/runtime/Signature;Z)V
astore 2
start local 2 1: aload 0
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
aload 2
invokevirtual org.jruby.ir.IRBuilder.newIRBuilder:(Lorg/jruby/ir/IRManager;Lorg/jruby/ir/IRScope;)Lorg/jruby/ir/IRBuilder;
aload 1
invokevirtual org.jruby.ir.IRBuilder.buildLambdaInner:(Lorg/jruby/ast/LambdaNode;)Lorg/jruby/ir/interpreter/InterpreterContext;
pop
2: aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 3
start local 3 3: new org.jruby.ir.operands.WrappedIRClosure
dup
aload 2
invokevirtual org.jruby.ir.IRClosure.getSelf:()Lorg/jruby/ir/operands/Variable;
aload 2
invokespecial org.jruby.ir.operands.WrappedIRClosure.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/IRClosure;)V
astore 4
start local 4 4: aload 0
new org.jruby.ir.instructions.BuildLambdaInstr
dup
aload 3
aload 4
invokespecial org.jruby.ir.instructions.BuildLambdaInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/WrappedIRClosure;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
5: aload 3
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/jruby/ir/IRBuilder;
0 6 1 node Lorg/jruby/ast/LambdaNode;
1 6 2 closure Lorg/jruby/ir/IRClosure;
3 6 3 lambda Lorg/jruby/ir/operands/Variable;
4 6 4 lambdaBody Lorg/jruby/ir/operands/WrappedIRClosure;
MethodParameters:
Name Flags
node
public org.jruby.ir.operands.Operand buildEncoding(org.jruby.ast.EncodingNode);
descriptor: (Lorg/jruby/ast/EncodingNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 2
start local 2 1: aload 0
new org.jruby.ir.instructions.GetEncodingInstr
dup
aload 2
aload 1
invokevirtual org.jruby.ast.EncodingNode.getEncoding:()Lorg/jcodings/Encoding;
invokespecial org.jruby.ir.instructions.GetEncodingInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jcodings/Encoding;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
2: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/ir/IRBuilder;
0 3 1 node Lorg/jruby/ast/EncodingNode;
1 3 2 ret Lorg/jruby/ir/operands/Variable;
MethodParameters:
Name Flags
node
public org.jruby.ir.operands.Operand buildMultipleAsgn19(org.jruby.ast.MultipleAsgnNode);
descriptor: (Lorg/jruby/ast/MultipleAsgnNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.jruby.ast.MultipleAsgnNode.getValueNode:()Lorg/jruby/ast/Node;
astore 2
start local 2 1: aload 0
aload 2
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 3
start local 3 2: aload 0
aload 3
invokevirtual org.jruby.ir.IRBuilder.getValueInTemporaryVariable:(Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/operands/Variable;
astore 4
start local 4 3: aload 2
instanceof org.jruby.ast.ArrayNode
ifeq 6
4: aload 0
aload 1
aconst_null
aload 4
invokevirtual org.jruby.ir.IRBuilder.buildMultipleAsgn19Assignment:(Lorg/jruby/ast/MultipleAsgnNode;Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;)V
5: goto 9
6: StackMap locals: org.jruby.ast.Node org.jruby.ir.operands.Operand org.jruby.ir.operands.Variable
StackMap stack:
aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 5
start local 5 7: aload 0
new org.jruby.ir.instructions.ToAryInstr
dup
aload 5
aload 4
invokespecial org.jruby.ir.instructions.ToAryInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
8: aload 0
aload 1
aconst_null
aload 5
invokevirtual org.jruby.ir.IRBuilder.buildMultipleAsgn19Assignment:(Lorg/jruby/ast/MultipleAsgnNode;Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;)V
end local 5 9: StackMap locals:
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/jruby/ir/IRBuilder;
0 10 1 multipleAsgnNode Lorg/jruby/ast/MultipleAsgnNode;
1 10 2 valueNode Lorg/jruby/ast/Node;
2 10 3 values Lorg/jruby/ir/operands/Operand;
3 10 4 ret Lorg/jruby/ir/operands/Variable;
7 9 5 tmp Lorg/jruby/ir/operands/Variable;
MethodParameters:
Name Flags
multipleAsgnNode
protected org.jruby.ir.operands.Variable copyAndReturnValue(org.jruby.ir.operands.Operand);
descriptor: (Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/operands/Variable;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new org.jruby.ir.instructions.CopyInstr
dup
aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
aload 1
invokespecial org.jruby.ir.instructions.CopyInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addResultInstr:(Lorg/jruby/ir/instructions/ResultInstr;)Lorg/jruby/ir/operands/Variable;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/IRBuilder;
0 1 1 val Lorg/jruby/ir/operands/Operand;
MethodParameters:
Name Flags
val
protected org.jruby.ir.operands.Operand buildWithOrder(org.jruby.ast.Node, boolean);
descriptor: (Lorg/jruby/ast/Node;Z)Lorg/jruby/ir/operands/Operand;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 3
start local 3 1: iload 2
ifeq 2
aload 3
instanceof org.jruby.ir.operands.ImmutableLiteral
ifne 2
aload 0
aload 3
invokevirtual org.jruby.ir.IRBuilder.copyAndReturnValue:(Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/operands/Variable;
goto 3
StackMap locals: org.jruby.ir.operands.Operand
StackMap stack:
2: aload 3
StackMap locals:
StackMap stack: org.jruby.ir.operands.Operand
3: areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jruby/ir/IRBuilder;
0 4 1 node Lorg/jruby/ast/Node;
0 4 2 preserveOrder Z
1 4 3 value Lorg/jruby/ir/operands/Operand;
MethodParameters:
Name Flags
node
preserveOrder
protected org.jruby.ir.operands.Operand buildLazyWithOrder(org.jruby.ast.CallNode, org.jruby.ir.operands.Label, org.jruby.ir.operands.Label, boolean);
descriptor: (Lorg/jruby/ast/CallNode;Lorg/jruby/ir/operands/Label;Lorg/jruby/ir/operands/Label;Z)Lorg/jruby/ir/operands/Operand;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aconst_null
aload 1
aload 2
aload 3
invokevirtual org.jruby.ir.IRBuilder.buildCall:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ast/CallNode;Lorg/jruby/ir/operands/Label;Lorg/jruby/ir/operands/Label;)Lorg/jruby/ir/operands/Operand;
astore 5
start local 5 1: iload 4
ifeq 2
aload 5
instanceof org.jruby.ir.operands.ImmutableLiteral
ifne 2
aload 0
aload 5
invokevirtual org.jruby.ir.IRBuilder.copyAndReturnValue:(Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/operands/Variable;
goto 3
StackMap locals: org.jruby.ir.operands.Operand
StackMap stack:
2: aload 5
StackMap locals:
StackMap stack: org.jruby.ir.operands.Operand
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 4 0 this Lorg/jruby/ir/IRBuilder;
0 4 1 node Lorg/jruby/ast/CallNode;
0 4 2 lazyLabel Lorg/jruby/ir/operands/Label;
0 4 3 endLabel Lorg/jruby/ir/operands/Label;
0 4 4 preserveOrder Z
1 4 5 value Lorg/jruby/ir/operands/Operand;
MethodParameters:
Name Flags
node
lazyLabel
endLabel
preserveOrder
protected org.jruby.ir.operands.Variable getValueInTemporaryVariable(org.jruby.ir.operands.Operand);
descriptor: (Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/operands/Variable;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 1
aload 1
instanceof org.jruby.ir.operands.TemporaryVariable
ifeq 1
aload 1
checkcast org.jruby.ir.operands.Variable
areturn
1: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.jruby.ir.IRBuilder.copyAndReturnValue:(Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/operands/Variable;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/ir/IRBuilder;
0 2 1 val Lorg/jruby/ir/operands/Operand;
MethodParameters:
Name Flags
val
protected org.jruby.ir.operands.Operand buildAttrAssignCallArgs(java.util.List<org.jruby.ir.operands.Operand>, org.jruby.ast.Node, boolean);
descriptor: (Ljava/util/List;Lorg/jruby/ast/Node;Z)Lorg/jruby/ir/operands/Operand;
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
ifnonnull 1
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getNil:()Lorg/jruby/ir/operands/Nil;
areturn
1: StackMap locals:
StackMap stack:
invokestatic org.jruby.ir.IRBuilder.$SWITCH_TABLE$org$jruby$ast$NodeType:()[I
aload 2
invokevirtual org.jruby.ast.Node.getNodeType:()Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
iaload
lookupswitch { // 3
6: 2
80: 17
101: 10
default: 20
}
2: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getNil:()Lorg/jruby/ir/operands/Nil;
astore 4
start local 4 3: aload 2
checkcast org.jruby.ast.ListNode
invokevirtual org.jruby.ast.ListNode.children:()[Lorg/jruby/ast/Node;
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 8
StackMap locals: org.jruby.ir.IRBuilder java.util.List org.jruby.ast.Node int org.jruby.ir.operands.Operand top int int org.jruby.ast.Node[]
StackMap stack:
4: aload 8
iload 6
aaload
astore 5
start local 5 5: aload 0
aload 5
iload 3
invokevirtual org.jruby.ir.IRBuilder.buildWithOrder:(Lorg/jruby/ast/Node;Z)Lorg/jruby/ir/operands/Operand;
astore 4
6: aload 1
aload 4
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 5 7: iinc 6 1
StackMap locals:
StackMap stack:
8: iload 6
iload 7
if_icmplt 4
9: aload 4
areturn
end local 4 10: StackMap locals: org.jruby.ir.IRBuilder java.util.List org.jruby.ast.Node int
StackMap stack:
aload 2
checkcast org.jruby.ast.ArgsPushNode
astore 4
start local 4 11: aload 0
aload 4
invokevirtual org.jruby.ast.ArgsPushNode.getFirstNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 5
start local 5 12: aload 0
aload 4
invokevirtual org.jruby.ast.ArgsPushNode.getSecondNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 6
start local 6 13: aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 7
start local 7 14: aload 0
new org.jruby.ir.instructions.BuildCompoundArrayInstr
dup
aload 7
aload 5
aload 6
iconst_1
invokespecial org.jruby.ir.instructions.BuildCompoundArrayInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;Z)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
15: aload 1
new org.jruby.ir.operands.Splat
dup
aload 7
invokespecial org.jruby.ir.operands.Splat.<init>:(Lorg/jruby/ir/operands/Operand;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
16: aload 6
areturn
end local 7 end local 6 end local 5 end local 4 17: StackMap locals:
StackMap stack:
new org.jruby.ir.operands.Splat
dup
aload 0
aload 2
checkcast org.jruby.ast.SplatNode
invokevirtual org.jruby.ir.IRBuilder.buildSplat:(Lorg/jruby/ast/SplatNode;)Lorg/jruby/ir/operands/Operand;
invokespecial org.jruby.ir.operands.Splat.<init>:(Lorg/jruby/ir/operands/Operand;)V
astore 4
start local 4 18: aload 1
aload 4
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
19: aload 4
areturn
end local 4 20: StackMap locals:
StackMap stack:
new org.jruby.compiler.NotCompilableException
dup
new java.lang.StringBuilder
dup
ldc "Invalid node for attrassign call args: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
21: ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.getFile:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual org.jruby.ast.Node.getLine:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
22: invokespecial org.jruby.compiler.NotCompilableException.<init>:(Ljava/lang/String;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lorg/jruby/ir/IRBuilder;
0 23 1 argsList Ljava/util/List<Lorg/jruby/ir/operands/Operand;>;
0 23 2 args Lorg/jruby/ast/Node;
0 23 3 containsAssignment Z
3 10 4 last Lorg/jruby/ir/operands/Operand;
5 7 5 n Lorg/jruby/ast/Node;
11 17 4 argsPushNode Lorg/jruby/ast/ArgsPushNode;
12 17 5 lhs Lorg/jruby/ir/operands/Operand;
13 17 6 rhs Lorg/jruby/ir/operands/Operand;
14 17 7 res Lorg/jruby/ir/operands/Variable;
18 20 4 rhs Lorg/jruby/ir/operands/Splat;
Signature: (Ljava/util/List<Lorg/jruby/ir/operands/Operand;>;Lorg/jruby/ast/Node;Z)Lorg/jruby/ir/operands/Operand;
MethodParameters:
Name Flags
argsList
args
containsAssignment
protected org.jruby.ir.operands.Operand[] buildCallArgs(org.jruby.ast.Node);
descriptor: (Lorg/jruby/ast/Node;)[Lorg/jruby/ir/operands/Operand;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aconst_null
invokevirtual org.jruby.ir.IRBuilder.buildCallArgsExcept:(Lorg/jruby/ast/Node;Lorg/jruby/ast/Node;)[Lorg/jruby/ir/operands/Operand;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/IRBuilder;
0 1 1 args Lorg/jruby/ast/Node;
MethodParameters:
Name Flags
args
protected org.jruby.ir.operands.Operand[] buildCallArgsExcept(org.jruby.ast.Node, org.jruby.ast.Node);
descriptor: (Lorg/jruby/ast/Node;Lorg/jruby/ast/Node;)[Lorg/jruby/ir/operands/Operand;
flags: (0x0004) ACC_PROTECTED
Code:
stack=11, locals=8, args_size=3
start local 0 start local 1 start local 2 0: invokestatic org.jruby.ir.IRBuilder.$SWITCH_TABLE$org$jruby$ast$NodeType:()[I
aload 1
invokevirtual org.jruby.ast.Node.getNodeType:()Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
iaload
lookupswitch { // 4
3: 1
6: 2
80: 14
101: 1
default: 15
}
1: StackMap locals:
StackMap stack:
iconst_1
anewarray org.jruby.ir.operands.Operand
dup
iconst_0
new org.jruby.ir.operands.Splat
dup
aload 0
new org.jruby.ir.instructions.BuildSplatInstr
dup
aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
aload 0
aload 1
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
iconst_0
invokespecial org.jruby.ir.instructions.BuildSplatInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;Z)V
invokevirtual org.jruby.ir.IRBuilder.addResultInstr:(Lorg/jruby/ir/instructions/ResultInstr;)Lorg/jruby/ir/operands/Variable;
invokespecial org.jruby.ir.operands.Splat.<init>:(Lorg/jruby/ir/operands/Operand;)V
aastore
areturn
2: StackMap locals:
StackMap stack:
aload 1
checkcast org.jruby.ast.ListNode
invokevirtual org.jruby.ast.ListNode.children:()[Lorg/jruby/ast/Node;
astore 3
start local 3 3: aload 3
arraylength
aload 2
ifnull 4
iconst_1
goto 5
StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.Node org.jruby.ast.Node org.jruby.ast.Node[]
StackMap stack: int
4: iconst_0
StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.Node org.jruby.ast.Node org.jruby.ast.Node[]
StackMap stack: int int
5: isub
istore 4
start local 4 6: iload 4
anewarray org.jruby.ir.operands.Operand
astore 5
start local 5 7: aload 1
invokevirtual org.jruby.ast.Node.containsVariableAssignment:()Z
istore 6
start local 6 8: iconst_0
istore 7
start local 7 9: goto 12
10: StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.Node org.jruby.ast.Node org.jruby.ast.Node[] int org.jruby.ir.operands.Operand[] int int
StackMap stack:
aload 5
iload 7
aload 0
aload 3
iload 7
aaload
iload 6
invokevirtual org.jruby.ir.IRBuilder.buildWithOrder:(Lorg/jruby/ast/Node;Z)Lorg/jruby/ir/operands/Operand;
aastore
11: iinc 7 1
StackMap locals:
StackMap stack:
12: iload 7
iload 4
if_icmplt 10
end local 7 13: aload 5
areturn
end local 6 end local 5 end local 4 end local 3 14: StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.Node org.jruby.ast.Node
StackMap stack:
iconst_1
anewarray org.jruby.ir.operands.Operand
dup
iconst_0
new org.jruby.ir.operands.Splat
dup
aload 0
new org.jruby.ir.instructions.BuildSplatInstr
dup
aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
aload 0
aload 1
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
iconst_0
invokespecial org.jruby.ir.instructions.BuildSplatInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;Z)V
invokevirtual org.jruby.ir.IRBuilder.addResultInstr:(Lorg/jruby/ir/instructions/ResultInstr;)Lorg/jruby/ir/operands/Variable;
invokespecial org.jruby.ir.operands.Splat.<init>:(Lorg/jruby/ir/operands/Operand;)V
aastore
areturn
15: StackMap locals:
StackMap stack:
new org.jruby.compiler.NotCompilableException
dup
new java.lang.StringBuilder
dup
ldc "Invalid node for call args: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
16: aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.getFile:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual org.jruby.ast.Node.getLine:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
17: invokespecial org.jruby.compiler.NotCompilableException.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/jruby/ir/IRBuilder;
0 18 1 args Lorg/jruby/ast/Node;
0 18 2 excludeKeywordArg Lorg/jruby/ast/Node;
3 14 3 children [Lorg/jruby/ast/Node;
6 14 4 numberOfArgs I
7 14 5 builtArgs [Lorg/jruby/ir/operands/Operand;
8 14 6 hasAssignments Z
9 13 7 i I
MethodParameters:
Name Flags
args
excludeKeywordArg
public org.jruby.ir.operands.Operand[] setupCallArgs(org.jruby.ast.Node);
descriptor: (Lorg/jruby/ast/Node;)[Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 1
getstatic org.jruby.ir.operands.Operand.EMPTY_ARRAY:[Lorg/jruby/ir/operands/Operand;
goto 2
StackMap locals:
StackMap stack:
1: aload 0
aload 1
invokevirtual org.jruby.ir.IRBuilder.buildCallArgs:(Lorg/jruby/ast/Node;)[Lorg/jruby/ir/operands/Operand;
StackMap locals:
StackMap stack: org.jruby.ir.operands.Operand[]
2: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/ir/IRBuilder;
0 3 1 args Lorg/jruby/ast/Node;
MethodParameters:
Name Flags
args
public static org.jruby.ir.operands.Operand[] addArg(org.jruby.ir.operands.Operand[], org.jruby.ir.operands.Operand);
descriptor: ([Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;)[Lorg/jruby/ir/operands/Operand;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
arraylength
iconst_1
iadd
anewarray org.jruby.ir.operands.Operand
astore 2
start local 2 1: aload 0
iconst_0
aload 2
iconst_0
aload 0
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
2: aload 2
aload 0
arraylength
aload 1
aastore
3: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 args [Lorg/jruby/ir/operands/Operand;
0 4 1 extraArg Lorg/jruby/ir/operands/Operand;
1 4 2 newArgs [Lorg/jruby/ir/operands/Operand;
MethodParameters:
Name Flags
args
extraArg
public void buildAssignment(org.jruby.ast.Node, org.jruby.ir.operands.Variable);
descriptor: (Lorg/jruby/ast/Node;Lorg/jruby/ir/operands/Variable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: invokestatic org.jruby.ir.IRBuilder.$SWITCH_TABLE$org$jruby$ast$NodeType:()[I
aload 1
invokevirtual org.jruby.ast.Node.getNodeType:()Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
iaload
lookupswitch { // 9
19: 3
24: 5
26: 7
44: 11
48: 13
53: 15
96: 19
100: 1
105: 20
default: 24
}
1: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual org.jruby.ir.IRBuilder.buildAttrAssignAssignment:(Lorg/jruby/ast/Node;Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/operands/Operand;
pop
2: goto 25
3: StackMap locals:
StackMap stack:
aload 0
new org.jruby.ir.instructions.PutClassVariableInstr
dup
aload 0
invokevirtual org.jruby.ir.IRBuilder.classVarDefinitionContainer:()Lorg/jruby/ir/operands/Operand;
aload 1
checkcast org.jruby.ast.ClassVarAsgnNode
invokevirtual org.jruby.ast.ClassVarAsgnNode.getName:()Lorg/jruby/RubySymbol;
aload 2
invokespecial org.jruby.ir.instructions.PutClassVariableInstr.<init>:(Lorg/jruby/ir/operands/Operand;Lorg/jruby/RubySymbol;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
4: goto 25
5: StackMap locals:
StackMap stack:
aload 0
aload 1
checkcast org.jruby.ast.ConstDeclNode
aload 2
invokevirtual org.jruby.ir.IRBuilder.buildConstDeclAssignment:(Lorg/jruby/ast/ConstDeclNode;Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/operands/Operand;
pop
6: goto 25
7: StackMap locals:
StackMap stack:
aload 1
checkcast org.jruby.ast.DAsgnNode
astore 3
start local 3 8: aload 3
invokevirtual org.jruby.ast.DAsgnNode.getDepth:()I
istore 4
start local 4 9: aload 0
new org.jruby.ir.instructions.CopyInstr
dup
aload 0
aload 3
invokevirtual org.jruby.ast.DAsgnNode.getName:()Lorg/jruby/RubySymbol;
iload 4
invokevirtual org.jruby.ir.IRBuilder.getLocalVariable:(Lorg/jruby/RubySymbol;I)Lorg/jruby/ir/operands/LocalVariable;
aload 2
invokespecial org.jruby.ir.instructions.CopyInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
10: goto 25
end local 4 end local 3 11: StackMap locals:
StackMap stack:
aload 0
new org.jruby.ir.instructions.PutGlobalVarInstr
dup
aload 1
checkcast org.jruby.ast.GlobalAsgnNode
invokevirtual org.jruby.ast.GlobalAsgnNode.getName:()Lorg/jruby/RubySymbol;
aload 2
invokespecial org.jruby.ir.instructions.PutGlobalVarInstr.<init>:(Lorg/jruby/RubySymbol;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
12: goto 25
13: StackMap locals:
StackMap stack:
aload 0
new org.jruby.ir.instructions.PutFieldInstr
dup
aload 0
invokevirtual org.jruby.ir.IRBuilder.buildSelf:()Lorg/jruby/ir/operands/Variable;
aload 1
checkcast org.jruby.ast.InstAsgnNode
invokevirtual org.jruby.ast.InstAsgnNode.getName:()Lorg/jruby/RubySymbol;
aload 2
invokespecial org.jruby.ir.instructions.PutFieldInstr.<init>:(Lorg/jruby/ir/operands/Operand;Lorg/jruby/RubySymbol;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
14: goto 25
15: StackMap locals:
StackMap stack:
aload 1
checkcast org.jruby.ast.LocalAsgnNode
astore 3
start local 3 16: aload 3
invokevirtual org.jruby.ast.LocalAsgnNode.getDepth:()I
istore 4
start local 4 17: aload 0
new org.jruby.ir.instructions.CopyInstr
dup
aload 0
aload 3
invokevirtual org.jruby.ast.LocalAsgnNode.getName:()Lorg/jruby/RubySymbol;
iload 4
invokevirtual org.jruby.ir.IRBuilder.getLocalVariable:(Lorg/jruby/RubySymbol;I)Lorg/jruby/ir/operands/LocalVariable;
aload 2
invokespecial org.jruby.ir.instructions.CopyInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
18: goto 25
end local 4 end local 3 19: StackMap locals:
StackMap stack:
new org.jruby.compiler.NotCompilableException
dup
new java.lang.StringBuilder
dup
ldc "Shouldn't get here; zeroarg does not do assignment: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.jruby.compiler.NotCompilableException.<init>:(Ljava/lang/String;)V
athrow
20: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 3
start local 3 21: aload 0
new org.jruby.ir.instructions.ToAryInstr
dup
aload 3
aload 2
invokespecial org.jruby.ir.instructions.ToAryInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
22: aload 0
aload 1
checkcast org.jruby.ast.MultipleAsgnNode
aconst_null
aload 3
invokevirtual org.jruby.ir.IRBuilder.buildMultipleAsgn19Assignment:(Lorg/jruby/ast/MultipleAsgnNode;Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;)V
23: goto 25
end local 3 24: StackMap locals:
StackMap stack:
new org.jruby.compiler.NotCompilableException
dup
new java.lang.StringBuilder
dup
ldc "Can't build assignment node: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.jruby.compiler.NotCompilableException.<init>:(Ljava/lang/String;)V
athrow
25: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lorg/jruby/ir/IRBuilder;
0 26 1 node Lorg/jruby/ast/Node;
0 26 2 rhsVal Lorg/jruby/ir/operands/Variable;
8 11 3 variable Lorg/jruby/ast/DAsgnNode;
9 11 4 depth I
16 19 3 localVariable Lorg/jruby/ast/LocalAsgnNode;
17 19 4 depth I
21 24 3 tmp Lorg/jruby/ir/operands/Variable;
MethodParameters:
Name Flags
node
rhsVal
protected org.jruby.ir.operands.LocalVariable getBlockArgVariable(org.jruby.RubySymbol, int);
descriptor: (Lorg/jruby/RubySymbol;I)Lorg/jruby/ir/operands/LocalVariable;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
instanceof org.jruby.ir.IRFor
ifne 1
new org.jruby.compiler.NotCompilableException
dup
ldc "Cannot ask for block-arg variable in 1.9 mode"
invokespecial org.jruby.compiler.NotCompilableException.<init>:(Ljava/lang/String;)V
athrow
1: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
invokevirtual org.jruby.ir.IRBuilder.getLocalVariable:(Lorg/jruby/RubySymbol;I)Lorg/jruby/ir/operands/LocalVariable;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/ir/IRBuilder;
0 2 1 name Lorg/jruby/RubySymbol;
0 2 2 depth I
MethodParameters:
Name Flags
name
depth
protected void receiveBlockArg(org.jruby.ir.operands.Variable, org.jruby.ir.operands.Operand, int, boolean);
descriptor: (Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;IZ)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
ifnull 4
1: iload 4
ifeq 2
aload 0
new org.jruby.ir.instructions.RestArgMultipleAsgnInstr
dup
aload 1
aload 2
iload 3
invokespecial org.jruby.ir.instructions.RestArgMultipleAsgnInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;I)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
goto 7
2: StackMap locals:
StackMap stack:
aload 0
new org.jruby.ir.instructions.ReqdArgMultipleAsgnInstr
dup
aload 1
aload 2
iload 3
invokespecial org.jruby.ir.instructions.ReqdArgMultipleAsgnInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;I)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
3: goto 7
4: StackMap locals:
StackMap stack:
aload 0
iload 4
ifeq 5
new org.jruby.ir.instructions.ReceiveRestArgInstr
dup
aload 1
iload 3
iload 3
invokespecial org.jruby.ir.instructions.ReceiveRestArgInstr.<init>:(Lorg/jruby/ir/operands/Variable;II)V
goto 6
StackMap locals:
StackMap stack: org.jruby.ir.IRBuilder
5: new org.jruby.ir.instructions.ReceivePreReqdArgInstr
dup
aload 1
iload 3
invokespecial org.jruby.ir.instructions.ReceivePreReqdArgInstr.<init>:(Lorg/jruby/ir/operands/Variable;I)V
StackMap locals: org.jruby.ir.IRBuilder org.jruby.ir.operands.Variable org.jruby.ir.operands.Operand int int
StackMap stack: org.jruby.ir.IRBuilder org.jruby.ir.instructions.ReceiveArgBase
6: invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
7: StackMap locals:
StackMap stack:
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/IRBuilder;
0 8 1 v Lorg/jruby/ir/operands/Variable;
0 8 2 argsArray Lorg/jruby/ir/operands/Operand;
0 8 3 argIndex I
0 8 4 isSplat Z
MethodParameters:
Name Flags
v
argsArray
argIndex
isSplat
public void buildVersionSpecificBlockArgsAssignment(org.jruby.ast.Node);
descriptor: (Lorg/jruby/ast/Node;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
instanceof org.jruby.ir.IRFor
ifne 1
new org.jruby.compiler.NotCompilableException
dup
new java.lang.StringBuilder
dup
ldc "Should not have come here for block args assignment in 1.9 mode: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.jruby.compiler.NotCompilableException.<init>:(Ljava/lang/String;)V
athrow
1: StackMap locals:
StackMap stack:
invokestatic org.jruby.ir.IRBuilder.$SWITCH_TABLE$org$jruby$ast$NodeType:()[I
aload 1
invokevirtual org.jruby.ast.Node.getNodeType:()Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
iaload
tableswitch { // 105 - 105
105: 2
default: 11
}
2: StackMap locals:
StackMap stack:
aload 1
checkcast org.jruby.ast.MultipleAsgnNode
invokevirtual org.jruby.ast.MultipleAsgnNode.getPre:()Lorg/jruby/ast/ListNode;
astore 2
start local 2 3: iconst_0
istore 3
start local 3 4: aload 2
invokevirtual org.jruby.ast.ListNode.children:()[Lorg/jruby/ast/Node;
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 9
StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.Node org.jruby.ast.ListNode int top int int org.jruby.ast.Node[]
StackMap stack:
5: aload 7
iload 5
aaload
astore 4
start local 4 6: aload 0
aload 4
aconst_null
iload 3
iconst_0
invokevirtual org.jruby.ir.IRBuilder.buildBlockArgsAssignment:(Lorg/jruby/ast/Node;Lorg/jruby/ir/operands/Operand;IZ)V
7: iinc 3 1
end local 4 8: iinc 5 1
StackMap locals:
StackMap stack:
9: iload 5
iload 6
if_icmplt 5
10: goto 12
end local 3 end local 2 11: StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.Node
StackMap stack:
new org.jruby.compiler.NotCompilableException
dup
new java.lang.StringBuilder
dup
ldc "Can't build assignment node: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.jruby.compiler.NotCompilableException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/jruby/ir/IRBuilder;
0 13 1 node Lorg/jruby/ast/Node;
3 11 2 sourceArray Lorg/jruby/ast/ListNode;
4 11 3 i I
6 8 4 an Lorg/jruby/ast/Node;
MethodParameters:
Name Flags
node
public void buildBlockArgsAssignment(org.jruby.ast.Node, org.jruby.ir.operands.Operand, int, boolean);
descriptor: (Lorg/jruby/ast/Node;Lorg/jruby/ir/operands/Operand;IZ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: invokestatic org.jruby.ir.IRBuilder.$SWITCH_TABLE$org$jruby$ast$NodeType:()[I
aload 1
invokevirtual org.jruby.ast.Node.getNodeType:()Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
iaload
lookupswitch { // 8
19: 9
24: 13
26: 5
44: 17
48: 21
53: 25
96: 29
100: 1
default: 30
}
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 5
start local 5 2: aload 0
aload 5
aload 2
iload 3
iload 4
invokevirtual org.jruby.ir.IRBuilder.receiveBlockArg:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;IZ)V
3: aload 0
aload 1
aload 5
invokevirtual org.jruby.ir.IRBuilder.buildAttrAssignAssignment:(Lorg/jruby/ast/Node;Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/operands/Operand;
pop
4: goto 31
end local 5 5: StackMap locals:
StackMap stack:
aload 1
checkcast org.jruby.ast.DAsgnNode
astore 6
start local 6 6: aload 0
aload 6
invokevirtual org.jruby.ast.DAsgnNode.getName:()Lorg/jruby/RubySymbol;
aload 6
invokevirtual org.jruby.ast.DAsgnNode.getDepth:()I
invokevirtual org.jruby.ir.IRBuilder.getBlockArgVariable:(Lorg/jruby/RubySymbol;I)Lorg/jruby/ir/operands/LocalVariable;
astore 5
start local 5 7: aload 0
aload 5
aload 2
iload 3
iload 4
invokevirtual org.jruby.ir.IRBuilder.receiveBlockArg:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;IZ)V
8: goto 31
end local 6 end local 5 9: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 5
start local 5 10: aload 0
aload 5
aload 2
iload 3
iload 4
invokevirtual org.jruby.ir.IRBuilder.receiveBlockArg:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;IZ)V
11: aload 0
new org.jruby.ir.instructions.PutClassVariableInstr
dup
aload 0
invokevirtual org.jruby.ir.IRBuilder.classVarDefinitionContainer:()Lorg/jruby/ir/operands/Operand;
aload 1
checkcast org.jruby.ast.ClassVarAsgnNode
invokevirtual org.jruby.ast.ClassVarAsgnNode.getName:()Lorg/jruby/RubySymbol;
aload 5
invokespecial org.jruby.ir.instructions.PutClassVariableInstr.<init>:(Lorg/jruby/ir/operands/Operand;Lorg/jruby/RubySymbol;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
12: goto 31
end local 5 13: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 5
start local 5 14: aload 0
aload 5
aload 2
iload 3
iload 4
invokevirtual org.jruby.ir.IRBuilder.receiveBlockArg:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;IZ)V
15: aload 0
aload 1
checkcast org.jruby.ast.ConstDeclNode
aload 5
invokevirtual org.jruby.ir.IRBuilder.buildConstDeclAssignment:(Lorg/jruby/ast/ConstDeclNode;Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/operands/Operand;
pop
16: goto 31
end local 5 17: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 5
start local 5 18: aload 0
aload 5
aload 2
iload 3
iload 4
invokevirtual org.jruby.ir.IRBuilder.receiveBlockArg:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;IZ)V
19: aload 0
new org.jruby.ir.instructions.PutGlobalVarInstr
dup
aload 1
checkcast org.jruby.ast.GlobalAsgnNode
invokevirtual org.jruby.ast.GlobalAsgnNode.getName:()Lorg/jruby/RubySymbol;
aload 5
invokespecial org.jruby.ir.instructions.PutGlobalVarInstr.<init>:(Lorg/jruby/RubySymbol;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
20: goto 31
end local 5 21: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 5
start local 5 22: aload 0
aload 5
aload 2
iload 3
iload 4
invokevirtual org.jruby.ir.IRBuilder.receiveBlockArg:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;IZ)V
23: aload 0
new org.jruby.ir.instructions.PutFieldInstr
dup
aload 0
invokevirtual org.jruby.ir.IRBuilder.buildSelf:()Lorg/jruby/ir/operands/Variable;
aload 1
checkcast org.jruby.ast.InstAsgnNode
invokevirtual org.jruby.ast.InstAsgnNode.getName:()Lorg/jruby/RubySymbol;
aload 5
invokespecial org.jruby.ir.instructions.PutFieldInstr.<init>:(Lorg/jruby/ir/operands/Operand;Lorg/jruby/RubySymbol;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
24: goto 31
end local 5 25: StackMap locals:
StackMap stack:
aload 1
checkcast org.jruby.ast.LocalAsgnNode
astore 6
start local 6 26: aload 0
aload 6
invokevirtual org.jruby.ast.LocalAsgnNode.getName:()Lorg/jruby/RubySymbol;
aload 6
invokevirtual org.jruby.ast.LocalAsgnNode.getDepth:()I
invokevirtual org.jruby.ir.IRBuilder.getBlockArgVariable:(Lorg/jruby/RubySymbol;I)Lorg/jruby/ir/operands/LocalVariable;
astore 5
start local 5 27: aload 0
aload 5
aload 2
iload 3
iload 4
invokevirtual org.jruby.ir.IRBuilder.receiveBlockArg:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;IZ)V
28: goto 31
end local 6 end local 5 29: StackMap locals:
StackMap stack:
new org.jruby.compiler.NotCompilableException
dup
new java.lang.StringBuilder
dup
ldc "Shouldn't get here; zeroarg does not do assignment: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.jruby.compiler.NotCompilableException.<init>:(Ljava/lang/String;)V
athrow
30: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.jruby.ir.IRBuilder.buildVersionSpecificBlockArgsAssignment:(Lorg/jruby/ast/Node;)V
31: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Lorg/jruby/ir/IRBuilder;
0 32 1 node Lorg/jruby/ast/Node;
0 32 2 argsArray Lorg/jruby/ir/operands/Operand;
0 32 3 argIndex I
0 32 4 isSplat Z
2 5 5 v Lorg/jruby/ir/operands/Variable;
7 9 5 v Lorg/jruby/ir/operands/Variable;
10 13 5 v Lorg/jruby/ir/operands/Variable;
14 17 5 v Lorg/jruby/ir/operands/Variable;
18 21 5 v Lorg/jruby/ir/operands/Variable;
22 25 5 v Lorg/jruby/ir/operands/Variable;
27 29 5 v Lorg/jruby/ir/operands/Variable;
6 9 6 dynamicAsgn Lorg/jruby/ast/DAsgnNode;
26 29 6 localVariable Lorg/jruby/ast/LocalAsgnNode;
MethodParameters:
Name Flags
node
argsArray
argIndex
isSplat
public org.jruby.ir.operands.Operand buildAlias(org.jruby.ast.AliasNode);
descriptor: (Lorg/jruby/ast/AliasNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.jruby.ast.AliasNode.getNewName:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 2
start local 2 1: aload 0
aload 1
invokevirtual org.jruby.ast.AliasNode.getOldName:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 3
start local 3 2: aload 0
new org.jruby.ir.instructions.AliasInstr
dup
aload 2
aload 3
invokespecial org.jruby.ir.instructions.AliasInstr.<init>:(Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
3: aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getNil:()Lorg/jruby/ir/operands/Nil;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jruby/ir/IRBuilder;
0 4 1 alias Lorg/jruby/ast/AliasNode;
1 4 2 newName Lorg/jruby/ir/operands/Operand;
2 4 3 oldName Lorg/jruby/ir/operands/Operand;
MethodParameters:
Name Flags
alias final
public org.jruby.ir.operands.Operand buildAnd(org.jruby.ast.AndNode);
descriptor: (Lorg/jruby/ast/AndNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.jruby.ast.AndNode.getFirstNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ast.Node.getNodeType:()Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.alwaysTrue:()Z
ifeq 3
1: aload 0
aload 1
invokevirtual org.jruby.ast.AndNode.getFirstNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
pop
2: aload 0
aload 1
invokevirtual org.jruby.ast.AndNode.getSecondNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
areturn
3: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.jruby.ast.AndNode.getFirstNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ast.Node.getNodeType:()Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.alwaysFalse:()Z
ifeq 5
4: aload 0
aload 1
invokevirtual org.jruby.ast.AndNode.getFirstNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
areturn
5: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.ir.IRBuilder.getNewLabel:()Lorg/jruby/ir/operands/Label;
astore 2
start local 2 6: aload 0
aload 1
invokevirtual org.jruby.ast.AndNode.getFirstNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 3
start local 3 7: aload 0
aload 3
invokevirtual org.jruby.ir.IRBuilder.getValueInTemporaryVariable:(Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/operands/Variable;
astore 4
start local 4 8: aload 0
aload 3
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getFalse:()Lorg/jruby/ir/operands/Boolean;
aload 2
invokestatic org.jruby.ir.IRBuilder.createBranch:(Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Label;)Lorg/jruby/ir/instructions/Instr;
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
9: aload 0
aload 1
invokevirtual org.jruby.ast.AndNode.getSecondNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 5
start local 5 10: aload 0
new org.jruby.ir.instructions.CopyInstr
dup
aload 4
aload 5
invokespecial org.jruby.ir.instructions.CopyInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
11: aload 0
new org.jruby.ir.instructions.LabelInstr
dup
aload 2
invokespecial org.jruby.ir.instructions.LabelInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
12: aload 4
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 13 0 this Lorg/jruby/ir/IRBuilder;
0 13 1 andNode Lorg/jruby/ast/AndNode;
6 13 2 l Lorg/jruby/ir/operands/Label;
7 13 3 v1 Lorg/jruby/ir/operands/Operand;
8 13 4 ret Lorg/jruby/ir/operands/Variable;
10 13 5 v2 Lorg/jruby/ir/operands/Operand;
MethodParameters:
Name Flags
andNode final
public org.jruby.ir.operands.Operand buildArray(org.jruby.ast.ArrayNode, boolean);
descriptor: (Lorg/jruby/ast/ArrayNode;Z)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.jruby.ast.ArrayNode.children:()[Lorg/jruby/ast/Node;
astore 3
start local 3 1: aload 3
arraylength
anewarray org.jruby.ir.operands.Operand
astore 4
start local 4 2: aload 1
invokevirtual org.jruby.ast.ArrayNode.containsVariableAssignment:()Z
istore 5
start local 5 3: iconst_0
istore 6
start local 6 4: goto 7
5: StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.ArrayNode int org.jruby.ast.Node[] org.jruby.ir.operands.Operand[] int int
StackMap stack:
aload 4
iload 6
aload 0
aload 3
iload 6
aaload
iload 5
invokevirtual org.jruby.ir.IRBuilder.buildWithOrder:(Lorg/jruby/ast/Node;Z)Lorg/jruby/ir/operands/Operand;
aastore
6: iinc 6 1
StackMap locals:
StackMap stack:
7: iload 6
aload 3
arraylength
if_icmplt 5
end local 6 8: new org.jruby.ir.operands.Array
dup
aload 4
invokespecial org.jruby.ir.operands.Array.<init>:([Lorg/jruby/ir/operands/Operand;)V
astore 6
start local 6 9: iload 2
ifeq 10
aload 6
goto 11
StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.ArrayNode int org.jruby.ast.Node[] org.jruby.ir.operands.Operand[] int org.jruby.ir.operands.Operand
StackMap stack:
10: aload 0
aload 6
invokevirtual org.jruby.ir.IRBuilder.copyAndReturnValue:(Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/operands/Variable;
StackMap locals:
StackMap stack: org.jruby.ir.operands.Operand
11: areturn
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 this Lorg/jruby/ir/IRBuilder;
0 12 1 node Lorg/jruby/ast/ArrayNode;
0 12 2 operandOnly Z
1 12 3 nodes [Lorg/jruby/ast/Node;
2 12 4 elts [Lorg/jruby/ir/operands/Operand;
3 12 5 containsAssignments Z
4 8 6 i I
9 12 6 array Lorg/jruby/ir/operands/Operand;
MethodParameters:
Name Flags
node
operandOnly
public org.jruby.ir.operands.Operand buildArgsCat(org.jruby.ast.ArgsCatNode);
descriptor: (Lorg/jruby/ast/ArgsCatNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.jruby.ast.ArgsCatNode.getFirstNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 2
start local 2 1: aload 0
aload 1
invokevirtual org.jruby.ast.ArgsCatNode.getSecondNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 3
start local 3 2: aload 0
new org.jruby.ir.instructions.BuildCompoundArrayInstr
dup
aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
aload 2
aload 3
iconst_0
invokespecial org.jruby.ir.instructions.BuildCompoundArrayInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;Z)V
invokevirtual org.jruby.ir.IRBuilder.addResultInstr:(Lorg/jruby/ir/instructions/ResultInstr;)Lorg/jruby/ir/operands/Variable;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/ir/IRBuilder;
0 3 1 argsCatNode Lorg/jruby/ast/ArgsCatNode;
1 3 2 lhs Lorg/jruby/ir/operands/Operand;
2 3 3 rhs Lorg/jruby/ir/operands/Operand;
MethodParameters:
Name Flags
argsCatNode final
public org.jruby.ir.operands.Operand buildArgsPush(org.jruby.ast.ArgsPushNode);
descriptor: (Lorg/jruby/ast/ArgsPushNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.jruby.ast.ArgsPushNode.getFirstNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 2
start local 2 1: aload 0
aload 1
invokevirtual org.jruby.ast.ArgsPushNode.getSecondNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 3
start local 3 2: aload 0
new org.jruby.ir.instructions.BuildCompoundArrayInstr
dup
aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
aload 2
aload 3
iconst_1
invokespecial org.jruby.ir.instructions.BuildCompoundArrayInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;Z)V
invokevirtual org.jruby.ir.IRBuilder.addResultInstr:(Lorg/jruby/ir/instructions/ResultInstr;)Lorg/jruby/ir/operands/Variable;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/ir/IRBuilder;
0 3 1 node Lorg/jruby/ast/ArgsPushNode;
1 3 2 lhs Lorg/jruby/ir/operands/Operand;
2 3 3 rhs Lorg/jruby/ir/operands/Operand;
MethodParameters:
Name Flags
node final
private org.jruby.ir.operands.Operand buildAttrAssign(org.jruby.ir.operands.Variable, org.jruby.ast.AttrAssignNode);
descriptor: (Lorg/jruby/ir/operands/Variable;Lorg/jruby/ast/AttrAssignNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual org.jruby.ast.AttrAssignNode.containsVariableAssignment:()Z
istore 3
start local 3 1: aload 0
aload 2
invokevirtual org.jruby.ast.AttrAssignNode.getReceiverNode:()Lorg/jruby/ast/Node;
iload 3
invokevirtual org.jruby.ir.IRBuilder.buildWithOrder:(Lorg/jruby/ast/Node;Z)Lorg/jruby/ir/operands/Operand;
astore 4
start local 4 2: aconst_null
astore 5
start local 5 3: aconst_null
astore 6
start local 6 4: aload 1
ifnonnull 5
aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 1
5: StackMap locals: org.jruby.ir.IRBuilder org.jruby.ir.operands.Variable org.jruby.ast.AttrAssignNode int org.jruby.ir.operands.Operand org.jruby.ir.operands.Label org.jruby.ir.operands.Label
StackMap stack:
aload 2
invokevirtual org.jruby.ast.AttrAssignNode.isLazy:()Z
ifeq 9
6: aload 0
invokevirtual org.jruby.ir.IRBuilder.getNewLabel:()Lorg/jruby/ir/operands/Label;
astore 5
7: aload 0
invokevirtual org.jruby.ir.IRBuilder.getNewLabel:()Lorg/jruby/ir/operands/Label;
astore 6
8: aload 0
new org.jruby.ir.instructions.BNilInstr
dup
aload 5
aload 4
invokespecial org.jruby.ir.instructions.BNilInstr.<init>:(Lorg/jruby/ir/operands/Label;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
9: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 7
start local 7 10: aload 2
invokevirtual org.jruby.ast.AttrAssignNode.getArgsNode:()Lorg/jruby/ast/Node;
astore 8
start local 8 11: aload 0
aload 7
aload 8
iload 3
invokevirtual org.jruby.ir.IRBuilder.buildAttrAssignCallArgs:(Ljava/util/List;Lorg/jruby/ast/Node;Z)Lorg/jruby/ir/operands/Operand;
astore 9
start local 9 12: aload 0
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
aload 4
aload 2
invokevirtual org.jruby.ast.AttrAssignNode.getName:()Lorg/jruby/RubySymbol;
aload 7
aload 7
invokeinterface java.util.List.size:()I
anewarray org.jruby.ir.operands.Operand
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast org.jruby.ir.operands.Operand[]
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.maybeUsingRefinements:()Z
invokestatic org.jruby.ir.instructions.AttrAssignInstr.create:(Lorg/jruby/ir/IRScope;Lorg/jruby/ir/operands/Operand;Lorg/jruby/RubySymbol;[Lorg/jruby/ir/operands/Operand;Z)Lorg/jruby/ir/instructions/AttrAssignInstr;
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
13: aload 0
new org.jruby.ir.instructions.CopyInstr
dup
aload 1
aload 9
invokespecial org.jruby.ir.instructions.CopyInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
14: aload 2
invokevirtual org.jruby.ast.AttrAssignNode.isLazy:()Z
ifeq 19
15: aload 0
new org.jruby.ir.instructions.JumpInstr
dup
aload 6
invokespecial org.jruby.ir.instructions.JumpInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
16: aload 0
new org.jruby.ir.instructions.LabelInstr
dup
aload 5
invokespecial org.jruby.ir.instructions.LabelInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
17: aload 0
new org.jruby.ir.instructions.CopyInstr
dup
aload 1
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getNil:()Lorg/jruby/ir/operands/Nil;
invokespecial org.jruby.ir.instructions.CopyInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
18: aload 0
new org.jruby.ir.instructions.LabelInstr
dup
aload 6
invokespecial org.jruby.ir.instructions.LabelInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
19: StackMap locals: java.util.List org.jruby.ast.Node org.jruby.ir.operands.Operand
StackMap stack:
aload 1
areturn
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 20 0 this Lorg/jruby/ir/IRBuilder;
0 20 1 result Lorg/jruby/ir/operands/Variable;
0 20 2 attrAssignNode Lorg/jruby/ast/AttrAssignNode;
1 20 3 containsAssignment Z
2 20 4 obj Lorg/jruby/ir/operands/Operand;
3 20 5 lazyLabel Lorg/jruby/ir/operands/Label;
4 20 6 endLabel Lorg/jruby/ir/operands/Label;
10 20 7 args Ljava/util/List<Lorg/jruby/ir/operands/Operand;>;
11 20 8 argsNode Lorg/jruby/ast/Node;
12 20 9 lastArg Lorg/jruby/ir/operands/Operand;
MethodParameters:
Name Flags
result
attrAssignNode
public org.jruby.ir.operands.Operand buildAttrAssignAssignment(org.jruby.ast.Node, org.jruby.ir.operands.Operand);
descriptor: (Lorg/jruby/ast/Node;Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
checkcast org.jruby.ast.AttrAssignNode
astore 3
start local 3 1: aload 0
aload 3
invokevirtual org.jruby.ast.AttrAssignNode.getReceiverNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 4
start local 4 2: aload 0
aload 3
invokevirtual org.jruby.ast.AttrAssignNode.getArgsNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.setupCallArgs:(Lorg/jruby/ast/Node;)[Lorg/jruby/ir/operands/Operand;
astore 5
start local 5 3: aload 5
aload 2
invokestatic org.jruby.ir.IRBuilder.addArg:([Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;)[Lorg/jruby/ir/operands/Operand;
astore 5
4: aload 0
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
aload 4
aload 3
invokevirtual org.jruby.ast.AttrAssignNode.getName:()Lorg/jruby/RubySymbol;
aload 5
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.maybeUsingRefinements:()Z
invokestatic org.jruby.ir.instructions.AttrAssignInstr.create:(Lorg/jruby/ir/IRScope;Lorg/jruby/ir/operands/Operand;Lorg/jruby/RubySymbol;[Lorg/jruby/ir/operands/Operand;Z)Lorg/jruby/ir/instructions/AttrAssignInstr;
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
5: aload 2
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 6 0 this Lorg/jruby/ir/IRBuilder;
0 6 1 node Lorg/jruby/ast/Node;
0 6 2 value Lorg/jruby/ir/operands/Operand;
1 6 3 attrAssignNode Lorg/jruby/ast/AttrAssignNode;
2 6 4 obj Lorg/jruby/ir/operands/Operand;
3 6 5 args [Lorg/jruby/ir/operands/Operand;
MethodParameters:
Name Flags
node
value
public org.jruby.ir.operands.Operand buildBackref(org.jruby.ir.operands.Variable, org.jruby.ast.BackRefNode);
descriptor: (Lorg/jruby/ir/operands/Variable;Lorg/jruby/ast/BackRefNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 1
aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 1
1: StackMap locals:
StackMap stack:
aload 0
new org.jruby.ir.instructions.BuildBackrefInstr
dup
aload 1
aload 2
invokevirtual org.jruby.ast.BackRefNode.getType:()C
invokespecial org.jruby.ir.instructions.BuildBackrefInstr.<init>:(Lorg/jruby/ir/operands/Variable;C)V
invokevirtual org.jruby.ir.IRBuilder.addResultInstr:(Lorg/jruby/ir/instructions/ResultInstr;)Lorg/jruby/ir/operands/Variable;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/ir/IRBuilder;
0 2 1 result Lorg/jruby/ir/operands/Variable;
0 2 2 node Lorg/jruby/ast/BackRefNode;
MethodParameters:
Name Flags
result
node
public org.jruby.ir.operands.Operand buildBegin(org.jruby.ast.BeginNode);
descriptor: (Lorg/jruby/ast/BeginNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.jruby.ast.BeginNode.getBodyNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/IRBuilder;
0 1 1 beginNode Lorg/jruby/ast/BeginNode;
MethodParameters:
Name Flags
beginNode
public org.jruby.ir.operands.Operand buildBignum(org.jruby.ast.BignumNode);
descriptor: (Lorg/jruby/ast/BignumNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: new org.jruby.ir.operands.Bignum
dup
aload 1
invokevirtual org.jruby.ast.BignumNode.getValue:()Ljava/math/BigInteger;
invokespecial org.jruby.ir.operands.Bignum.<init>:(Ljava/math/BigInteger;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/IRBuilder;
0 1 1 node Lorg/jruby/ast/BignumNode;
MethodParameters:
Name Flags
node
public org.jruby.ir.operands.Operand buildBlock(org.jruby.ast.BlockNode);
descriptor: (Lorg/jruby/ast/BlockNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=7, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 1
invokevirtual org.jruby.ast.BlockNode.children:()[Lorg/jruby/ast/Node;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 5
StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.BlockNode org.jruby.ir.operands.Operand top int int org.jruby.ast.Node[]
StackMap stack:
2: aload 6
iload 4
aaload
astore 3
start local 3 3: aload 0
aload 3
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 2
end local 3 4: iinc 4 1
StackMap locals:
StackMap stack:
5: iload 4
iload 5
if_icmplt 2
6: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/jruby/ir/IRBuilder;
0 7 1 node Lorg/jruby/ast/BlockNode;
1 7 2 retVal Lorg/jruby/ir/operands/Operand;
3 4 3 child Lorg/jruby/ast/Node;
MethodParameters:
Name Flags
node
public org.jruby.ir.operands.Operand buildBreak(org.jruby.ast.BreakNode);
descriptor: (Lorg/jruby/ast/BreakNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.jruby.ir.IRBuilder.getCurrentLoop:()Lorg/jruby/ir/IRBuilder$IRLoop;
astore 2
start local 2 1: aload 2
ifnull 6
2: aload 0
getfield org.jruby.ir.IRBuilder.activeEnsureBlockStack:Ljava/util/Stack;
invokevirtual java.util.Stack.empty:()Z
ifne 3
aload 0
aload 2
invokevirtual org.jruby.ir.IRBuilder.emitEnsureBlocks:(Lorg/jruby/ir/IRBuilder$IRLoop;)V
3: StackMap locals: org.jruby.ir.IRBuilder$IRLoop
StackMap stack:
aload 0
new org.jruby.ir.instructions.CopyInstr
dup
aload 2
getfield org.jruby.ir.IRBuilder$IRLoop.loopResult:Lorg/jruby/ir/operands/Variable;
aload 0
aload 1
invokevirtual org.jruby.ast.BreakNode.getValueNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
invokespecial org.jruby.ir.instructions.CopyInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
4: aload 0
new org.jruby.ir.instructions.JumpInstr
dup
aload 2
getfield org.jruby.ir.IRBuilder$IRLoop.loopEndLabel:Lorg/jruby/ir/operands/Label;
invokespecial org.jruby.ir.instructions.JumpInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
5: goto 14
6: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
instanceof org.jruby.ir.IRClosure
ifeq 13
7: aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.getLexicalParent:()Lorg/jruby/ir/IRScope;
astore 3
start local 3 8: aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
instanceof org.jruby.ir.IREvalScript
ifne 9
aload 3
ifnonnull 11
9: StackMap locals: org.jruby.ir.IRScope
StackMap stack:
aload 0
aload 1
ldc "Can't escape from eval with redo"
invokevirtual org.jruby.ir.IRBuilder.throwSyntaxError:(Lorg/jruby/ast/Node;Ljava/lang/String;)V
10: goto 14
11: StackMap locals:
StackMap stack:
aload 0
new org.jruby.ir.instructions.BreakInstr
dup
aload 0
aload 1
invokevirtual org.jruby.ast.BreakNode.getValueNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
aload 3
invokevirtual org.jruby.ir.IRScope.getId:()Ljava/lang/String;
invokespecial org.jruby.ir.instructions.BreakInstr.<init>:(Lorg/jruby/ir/operands/Operand;Ljava/lang/String;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
end local 3 12: goto 14
13: StackMap locals:
StackMap stack:
aload 0
aload 1
ldc "Invalid break"
invokevirtual org.jruby.ir.IRBuilder.throwSyntaxError:(Lorg/jruby/ast/Node;Ljava/lang/String;)V
14: StackMap locals:
StackMap stack:
getstatic org.jruby.ir.IRBuilder.U_NIL:Lorg/jruby/ir/operands/UnexecutableNil;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/jruby/ir/IRBuilder;
0 15 1 breakNode Lorg/jruby/ast/BreakNode;
1 15 2 currLoop Lorg/jruby/ir/IRBuilder$IRLoop;
8 12 3 returnScope Lorg/jruby/ir/IRScope;
MethodParameters:
Name Flags
breakNode
private void throwSyntaxError(org.jruby.ast.Node, java.lang.String);
descriptor: (Lorg/jruby/ast/Node;Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: new java.lang.StringBuilder
dup
aload 0
invokevirtual org.jruby.ir.IRBuilder.getFileName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual org.jruby.ast.Node.getLine:()I
iconst_1
iadd
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
start local 3 1: aload 0
getfield org.jruby.ir.IRBuilder.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 3
invokevirtual org.jruby.Ruby.newSyntaxError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/ir/IRBuilder;
0 2 1 node Lorg/jruby/ast/Node;
0 2 2 message Ljava/lang/String;
1 2 3 errorMessage Ljava/lang/String;
MethodParameters:
Name Flags
node
message
private void handleNonlocalReturnInMethod();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=6, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.ir.IRBuilder.getNewLabel:()Lorg/jruby/ir/operands/Label;
astore 1
start local 1 1: aload 0
invokevirtual org.jruby.ir.IRBuilder.getNewLabel:()Lorg/jruby/ir/operands/Label;
astore 2
start local 2 2: aload 0
invokevirtual org.jruby.ir.IRBuilder.getNewLabel:()Lorg/jruby/ir/operands/Label;
astore 3
start local 3 3: aload 0
new org.jruby.ir.instructions.ExceptionRegionStartMarkerInstr
dup
aload 3
invokespecial org.jruby.ir.instructions.ExceptionRegionStartMarkerInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstrAtBeginning:(Lorg/jruby/ir/instructions/Instr;)V
4: aload 0
new org.jruby.ir.instructions.LabelInstr
dup
aload 1
invokespecial org.jruby.ir.instructions.LabelInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstrAtBeginning:(Lorg/jruby/ir/instructions/Instr;)V
5: aload 0
new org.jruby.ir.instructions.ExceptionRegionEndMarkerInstr
dup
invokespecial org.jruby.ir.instructions.ExceptionRegionEndMarkerInstr.<init>:()V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
6: aload 0
new org.jruby.ir.instructions.LabelInstr
dup
aload 3
invokespecial org.jruby.ir.instructions.LabelInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
7: aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 4
start local 4 8: aload 0
new org.jruby.ir.instructions.ReceiveJRubyExceptionInstr
dup
aload 4
invokespecial org.jruby.ir.instructions.ReceiveJRubyExceptionInstr.<init>:(Lorg/jruby/ir/operands/Variable;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
9: aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 5
start local 5 10: aload 0
new org.jruby.ir.instructions.RuntimeHelperCall
dup
aload 5
getstatic org.jruby.ir.instructions.RuntimeHelperCall$Methods.HANDLE_NONLOCAL_RETURN:Lorg/jruby/ir/instructions/RuntimeHelperCall$Methods;
iconst_1
anewarray org.jruby.ir.operands.Operand
dup
iconst_0
aload 4
aastore
invokespecial org.jruby.ir.instructions.RuntimeHelperCall.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/instructions/RuntimeHelperCall$Methods;[Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
11: aload 0
new org.jruby.ir.instructions.ReturnInstr
dup
aload 5
invokespecial org.jruby.ir.instructions.ReturnInstr.<init>:(Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
12: aload 0
new org.jruby.ir.instructions.LabelInstr
dup
aload 2
invokespecial org.jruby.ir.instructions.LabelInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
13: return
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 14 0 this Lorg/jruby/ir/IRBuilder;
1 14 1 rBeginLabel Lorg/jruby/ir/operands/Label;
2 14 2 rEndLabel Lorg/jruby/ir/operands/Label;
3 14 3 gebLabel Lorg/jruby/ir/operands/Label;
8 14 4 exc Lorg/jruby/ir/operands/Variable;
10 14 5 ret Lorg/jruby/ir/operands/Variable;
private org.jruby.ir.operands.Operand receiveBreakException(org.jruby.ir.operands.Operand, org.jruby.ir.IRBuilder$CodeBlock);
descriptor: (Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/IRBuilder$CodeBlock;)Lorg/jruby/ir/operands/Operand;
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnull 3
1: aload 1
instanceof org.jruby.ir.operands.WrappedIRClosure
ifeq 3
2: aload 1
checkcast org.jruby.ir.operands.WrappedIRClosure
invokevirtual org.jruby.ir.operands.WrappedIRClosure.getClosure:()Lorg/jruby/ir/IRClosure;
getfield org.jruby.ir.IRClosure.flags:Ljava/util/EnumSet;
getstatic org.jruby.ir.IRFlags.HAS_BREAK_INSTRS:Lorg/jruby/ir/IRFlags;
invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
ifne 4
3: StackMap locals:
StackMap stack:
aload 2
invokeinterface org.jruby.ir.IRBuilder$CodeBlock.run:()Lorg/jruby/ir/operands/Operand;
areturn
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.ir.IRBuilder.getNewLabel:()Lorg/jruby/ir/operands/Label;
astore 3
start local 3 5: aload 0
invokevirtual org.jruby.ir.IRBuilder.getNewLabel:()Lorg/jruby/ir/operands/Label;
astore 4
start local 4 6: aload 0
invokevirtual org.jruby.ir.IRBuilder.getNewLabel:()Lorg/jruby/ir/operands/Label;
astore 5
start local 5 7: aload 0
new org.jruby.ir.instructions.LabelInstr
dup
aload 3
invokespecial org.jruby.ir.instructions.LabelInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
8: aload 0
new org.jruby.ir.instructions.ExceptionRegionStartMarkerInstr
dup
aload 5
invokespecial org.jruby.ir.instructions.ExceptionRegionStartMarkerInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
9: aload 2
invokeinterface org.jruby.ir.IRBuilder$CodeBlock.run:()Lorg/jruby/ir/operands/Operand;
checkcast org.jruby.ir.operands.Variable
astore 6
start local 6 10: aload 0
new org.jruby.ir.instructions.JumpInstr
dup
aload 4
invokespecial org.jruby.ir.instructions.JumpInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
11: aload 0
new org.jruby.ir.instructions.ExceptionRegionEndMarkerInstr
dup
invokespecial org.jruby.ir.instructions.ExceptionRegionEndMarkerInstr.<init>:()V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
12: aload 0
new org.jruby.ir.instructions.LabelInstr
dup
aload 5
invokespecial org.jruby.ir.instructions.LabelInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
13: aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 7
start local 7 14: aload 0
new org.jruby.ir.instructions.ReceiveJRubyExceptionInstr
dup
aload 7
invokespecial org.jruby.ir.instructions.ReceiveJRubyExceptionInstr.<init>:(Lorg/jruby/ir/operands/Variable;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
15: aload 0
new org.jruby.ir.instructions.RuntimeHelperCall
dup
aload 6
getstatic org.jruby.ir.instructions.RuntimeHelperCall$Methods.HANDLE_PROPAGATED_BREAK:Lorg/jruby/ir/instructions/RuntimeHelperCall$Methods;
iconst_1
anewarray org.jruby.ir.operands.Operand
dup
iconst_0
aload 7
aastore
invokespecial org.jruby.ir.instructions.RuntimeHelperCall.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/instructions/RuntimeHelperCall$Methods;[Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
16: aload 0
new org.jruby.ir.instructions.LabelInstr
dup
aload 4
invokespecial org.jruby.ir.instructions.LabelInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
17: aload 6
areturn
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 18 0 this Lorg/jruby/ir/IRBuilder;
0 18 1 block Lorg/jruby/ir/operands/Operand;
0 18 2 codeBlock Lorg/jruby/ir/IRBuilder$CodeBlock;
5 18 3 rBeginLabel Lorg/jruby/ir/operands/Label;
6 18 4 rEndLabel Lorg/jruby/ir/operands/Label;
7 18 5 rescueLabel Lorg/jruby/ir/operands/Label;
10 18 6 callResult Lorg/jruby/ir/operands/Variable;
14 18 7 exc Lorg/jruby/ir/operands/Variable;
MethodParameters:
Name Flags
block
codeBlock
private void receiveBreakException(org.jruby.ir.operands.Operand, org.jruby.ir.instructions.CallInstr);
descriptor: (Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/instructions/CallInstr;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
new org.jruby.ir.IRBuilder$1
dup
aload 0
aload 2
invokespecial org.jruby.ir.IRBuilder$1.<init>:(Lorg/jruby/ir/IRBuilder;Lorg/jruby/ir/instructions/CallInstr;)V
invokevirtual org.jruby.ir.IRBuilder.receiveBreakException:(Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/IRBuilder$CodeBlock;)Lorg/jruby/ir/operands/Operand;
pop
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/ir/IRBuilder;
0 2 1 block Lorg/jruby/ir/operands/Operand;
0 2 2 callInstr Lorg/jruby/ir/instructions/CallInstr;
MethodParameters:
Name Flags
block
callInstr final
public org.jruby.ir.operands.Operand buildCall(org.jruby.ir.operands.Variable, org.jruby.ast.CallNode, org.jruby.ir.operands.Label, org.jruby.ir.operands.Label);
descriptor: (Lorg/jruby/ir/operands/Variable;Lorg/jruby/ast/CallNode;Lorg/jruby/ir/operands/Label;Lorg/jruby/ir/operands/Label;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=10, locals=16, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
invokevirtual org.jruby.ast.CallNode.getReceiverNode:()Lorg/jruby/ast/Node;
astore 5
start local 5 1: aload 2
invokevirtual org.jruby.ast.CallNode.getName:()Lorg/jruby/RubySymbol;
astore 6
start local 6 2: aload 6
invokevirtual org.jruby.RubySymbol.idString:()Ljava/lang/String;
astore 7
start local 7 3: aload 5
instanceof org.jruby.ast.StrNode
ifeq 6
aload 7
ldc "freeze"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 4
aload 7
ldc "-@"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 6
4: StackMap locals: org.jruby.ast.Node org.jruby.RubySymbol java.lang.String
StackMap stack:
aload 5
checkcast org.jruby.ast.StrNode
astore 8
start local 8 5: new org.jruby.ir.operands.FrozenString
dup
aload 8
invokevirtual org.jruby.ast.StrNode.getValue:()Lorg/jruby/util/ByteList;
aload 8
invokevirtual org.jruby.ast.StrNode.getCodeRange:()I
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.getFile:()Ljava/lang/String;
aload 8
invokevirtual org.jruby.ast.StrNode.getLine:()I
invokespecial org.jruby.ir.operands.FrozenString.<init>:(Lorg/jruby/util/ByteList;ILjava/lang/String;I)V
areturn
end local 8 6: StackMap locals:
StackMap stack:
iconst_0
istore 8
start local 8 7: aload 2
invokevirtual org.jruby.ast.CallNode.isLazy:()Z
ifeq 12
8: aload 3
ifnonnull 12
9: iconst_1
istore 8
10: aload 0
invokevirtual org.jruby.ir.IRBuilder.getNewLabel:()Lorg/jruby/ir/operands/Label;
astore 3
11: aload 0
invokevirtual org.jruby.ir.IRBuilder.getNewLabel:()Lorg/jruby/ir/operands/Label;
astore 4
12: StackMap locals: int
StackMap stack:
aload 5
instanceof org.jruby.ast.CallNode
ifeq 15
aload 5
checkcast org.jruby.ast.CallNode
invokevirtual org.jruby.ast.CallNode.isLazy:()Z
ifeq 15
13: aload 0
aload 5
checkcast org.jruby.ast.CallNode
aload 3
aload 4
aload 2
invokevirtual org.jruby.ast.CallNode.containsVariableAssignment:()Z
invokevirtual org.jruby.ir.IRBuilder.buildLazyWithOrder:(Lorg/jruby/ast/CallNode;Lorg/jruby/ir/operands/Label;Lorg/jruby/ir/operands/Label;Z)Lorg/jruby/ir/operands/Operand;
astore 9
start local 9 14: goto 16
end local 9 15: StackMap locals:
StackMap stack:
aload 0
aload 5
aload 2
invokevirtual org.jruby.ast.CallNode.containsVariableAssignment:()Z
invokevirtual org.jruby.ir.IRBuilder.buildWithOrder:(Lorg/jruby/ast/Node;Z)Lorg/jruby/ir/operands/Operand;
astore 9
start local 9 16: StackMap locals: org.jruby.ir.operands.Operand
StackMap stack:
aload 1
ifnonnull 17
aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 1
17: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.jruby.ast.CallNode.isLazy:()Z
ifne 29
18: aload 7
ldc "[]"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 29
19: aload 2
invokevirtual org.jruby.ast.CallNode.getArgsNode:()Lorg/jruby/ast/Node;
instanceof org.jruby.ast.ArrayNode
ifeq 29
20: aload 2
invokevirtual org.jruby.ast.CallNode.getArgsNode:()Lorg/jruby/ast/Node;
checkcast org.jruby.ast.ArrayNode
dup
astore 10
start local 10 21: invokevirtual org.jruby.ast.ArrayNode.size:()I
iconst_1
if_icmpne 29
22: aload 10
iconst_0
invokevirtual org.jruby.ast.ArrayNode.get:(I)Lorg/jruby/ast/Node;
instanceof org.jruby.ast.StrNode
ifeq 29
23: aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.maybeUsingRefinements:()Z
ifne 29
24: aload 5
instanceof org.jruby.ast.HashNode
ifeq 29
25: aload 2
invokevirtual org.jruby.ast.CallNode.getIterNode:()Lorg/jruby/ast/Node;
ifnonnull 29
26: aload 10
iconst_0
invokevirtual org.jruby.ast.ArrayNode.get:(I)Lorg/jruby/ast/Node;
checkcast org.jruby.ast.StrNode
astore 11
start local 11 27: aload 0
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
aload 1
aload 9
new org.jruby.ir.operands.FrozenString
dup
aload 11
invokevirtual org.jruby.ast.StrNode.getValue:()Lorg/jruby/util/ByteList;
aload 11
invokevirtual org.jruby.ast.StrNode.getCodeRange:()I
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.getFile:()Ljava/lang/String;
aload 11
invokevirtual org.jruby.ast.StrNode.getLine:()I
invokespecial org.jruby.ir.operands.FrozenString.<init>:(Lorg/jruby/util/ByteList;ILjava/lang/String;I)V
invokestatic org.jruby.ir.instructions.ArrayDerefInstr.create:(Lorg/jruby/ir/IRScope;Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/FrozenString;)Lorg/jruby/ir/instructions/ArrayDerefInstr;
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
28: aload 1
areturn
end local 11 end local 10 29: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.jruby.ast.CallNode.isLazy:()Z
ifeq 31
30: aload 0
new org.jruby.ir.instructions.BNilInstr
dup
aload 3
aload 9
invokespecial org.jruby.ir.instructions.BNilInstr.<init>:(Lorg/jruby/ir/operands/Label;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
31: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual org.jruby.ast.CallNode.getArgsNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.getPossibleKeywordArgument:(Lorg/jruby/ast/Node;)Lorg/jruby/ast/HashNode;
astore 11
start local 11 32: aload 11
ifnull 38
33: aload 0
aload 2
invokevirtual org.jruby.ast.CallNode.getArgsNode:()Lorg/jruby/ast/Node;
aload 11
invokevirtual org.jruby.ir.IRBuilder.buildCallArgsExcept:(Lorg/jruby/ast/Node;Lorg/jruby/ast/Node;)[Lorg/jruby/ir/operands/Operand;
astore 14
start local 14 34: aload 0
aload 11
invokevirtual org.jruby.ir.IRBuilder.buildKeywordArguments:(Lorg/jruby/ast/HashNode;)Ljava/util/List;
astore 15
start local 15 35: aload 0
aload 2
invokevirtual org.jruby.ast.CallNode.getIterNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.setupCallClosure:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 13
start local 13 36: aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
getstatic org.jruby.runtime.CallType.NORMAL:Lorg/jruby/runtime/CallType;
aload 1
aload 6
aload 9
aload 14
aload 13
aload 15
invokestatic org.jruby.ir.instructions.CallInstr.createWithKwargs:(Lorg/jruby/ir/IRScope;Lorg/jruby/runtime/CallType;Lorg/jruby/ir/operands/Variable;Lorg/jruby/RubySymbol;Lorg/jruby/ir/operands/Operand;[Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;Ljava/util/List;)Lorg/jruby/ir/instructions/CallInstr;
astore 12
end local 15 end local 14 start local 12 37: goto 41
end local 13 end local 12 38: StackMap locals: org.jruby.ir.IRBuilder org.jruby.ir.operands.Variable org.jruby.ast.CallNode org.jruby.ir.operands.Label org.jruby.ir.operands.Label org.jruby.ast.Node org.jruby.RubySymbol java.lang.String int org.jruby.ir.operands.Operand top org.jruby.ast.HashNode
StackMap stack:
aload 0
aload 2
invokevirtual org.jruby.ast.CallNode.getArgsNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.setupCallArgs:(Lorg/jruby/ast/Node;)[Lorg/jruby/ir/operands/Operand;
astore 14
start local 14 39: aload 0
aload 2
invokevirtual org.jruby.ast.CallNode.getIterNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.setupCallClosure:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 13
start local 13 40: aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
aload 1
aload 6
aload 9
aload 14
aload 13
invokestatic org.jruby.ir.instructions.CallInstr.create:(Lorg/jruby/ir/IRScope;Lorg/jruby/ir/operands/Variable;Lorg/jruby/RubySymbol;Lorg/jruby/ir/operands/Operand;[Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/instructions/CallInstr;
astore 12
end local 14 start local 12 41: StackMap locals: org.jruby.ir.instructions.CallInstr org.jruby.ir.operands.Operand
StackMap stack:
aload 0
aload 2
invokevirtual org.jruby.ir.IRBuilder.determineIfWeNeedLineNumber:(Lorg/jruby/ast/Node;)V
42: aload 0
aload 5
aload 6
aload 12
invokevirtual org.jruby.ir.IRBuilder.determineIfProcNew:(Lorg/jruby/ast/Node;Lorg/jruby/RubySymbol;Lorg/jruby/ir/instructions/CallInstr;)V
43: aload 0
aload 13
aload 12
invokevirtual org.jruby.ir.IRBuilder.receiveBreakException:(Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/instructions/CallInstr;)V
44: iload 8
ifeq 49
45: aload 0
new org.jruby.ir.instructions.JumpInstr
dup
aload 4
invokespecial org.jruby.ir.instructions.JumpInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
46: aload 0
new org.jruby.ir.instructions.LabelInstr
dup
aload 3
invokespecial org.jruby.ir.instructions.LabelInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
47: aload 0
new org.jruby.ir.instructions.CopyInstr
dup
aload 1
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getNil:()Lorg/jruby/ir/operands/Nil;
invokespecial org.jruby.ir.instructions.CopyInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
48: aload 0
new org.jruby.ir.instructions.LabelInstr
dup
aload 4
invokespecial org.jruby.ir.instructions.LabelInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
49: StackMap locals:
StackMap stack:
aload 1
areturn
end local 13 end local 12 end local 11 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 50 0 this Lorg/jruby/ir/IRBuilder;
0 50 1 result Lorg/jruby/ir/operands/Variable;
0 50 2 callNode Lorg/jruby/ast/CallNode;
0 50 3 lazyLabel Lorg/jruby/ir/operands/Label;
0 50 4 endLabel Lorg/jruby/ir/operands/Label;
1 50 5 receiverNode Lorg/jruby/ast/Node;
2 50 6 name Lorg/jruby/RubySymbol;
3 50 7 id Ljava/lang/String;
5 6 8 asString Lorg/jruby/ast/StrNode;
7 50 8 compileLazyLabel Z
14 15 9 receiver Lorg/jruby/ir/operands/Operand;
16 50 9 receiver Lorg/jruby/ir/operands/Operand;
21 29 10 argsAry Lorg/jruby/ast/ArrayNode;
27 29 11 keyNode Lorg/jruby/ast/StrNode;
32 50 11 keywordArgs Lorg/jruby/ast/HashNode;
37 38 12 callInstr Lorg/jruby/ir/instructions/CallInstr;
41 50 12 callInstr Lorg/jruby/ir/instructions/CallInstr;
36 38 13 block Lorg/jruby/ir/operands/Operand;
40 50 13 block Lorg/jruby/ir/operands/Operand;
34 37 14 args [Lorg/jruby/ir/operands/Operand;
35 37 15 kwargs Ljava/util/List<Lorg/jruby/util/KeyValuePair<Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;>;>;
39 41 14 args [Lorg/jruby/ir/operands/Operand;
MethodParameters:
Name Flags
result
callNode
lazyLabel
endLabel
private java.util.List<org.jruby.util.KeyValuePair<org.jruby.ir.operands.Operand, org.jruby.ir.operands.Operand>> buildKeywordArguments(org.jruby.ast.HashNode);
descriptor: (Lorg/jruby/ast/HashNode;)Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=2
start local 0 start local 1 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
start local 2 1: aload 1
invokevirtual org.jruby.ast.HashNode.getPairs:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 4
StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.HashNode java.util.List top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.jruby.util.KeyValuePair
astore 3
start local 3 3: aload 2
new org.jruby.util.KeyValuePair
dup
aload 0
aload 3
invokevirtual org.jruby.util.KeyValuePair.getKey:()Ljava/lang/Object;
checkcast org.jruby.ast.Node
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
checkcast org.jruby.ir.operands.Symbol
aload 0
aload 3
invokevirtual org.jruby.util.KeyValuePair.getValue:()Ljava/lang/Object;
checkcast org.jruby.ast.Node
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
invokespecial org.jruby.util.KeyValuePair.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 3 4: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/jruby/ir/IRBuilder;
0 6 1 keywordArgs Lorg/jruby/ast/HashNode;
1 6 2 kwargs Ljava/util/List<Lorg/jruby/util/KeyValuePair<Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;>;>;
3 4 3 pair Lorg/jruby/util/KeyValuePair<Lorg/jruby/ast/Node;Lorg/jruby/ast/Node;>;
Signature: (Lorg/jruby/ast/HashNode;)Ljava/util/List<Lorg/jruby/util/KeyValuePair<Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;>;>;
MethodParameters:
Name Flags
keywordArgs
private void determineIfProcNew(org.jruby.ast.Node, org.jruby.RubySymbol, org.jruby.ir.instructions.CallInstr);
descriptor: (Lorg/jruby/ast/Node;Lorg/jruby/RubySymbol;Lorg/jruby/ir/instructions/CallInstr;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic org.jruby.util.CommonByteLists.NEW_METHOD:Lorg/jruby/util/ByteList;
aload 2
invokevirtual org.jruby.RubySymbol.getBytes:()Lorg/jruby/util/ByteList;
invokevirtual org.jruby.util.ByteList.equals:(Ljava/lang/Object;)Z
ifeq 3
1: aload 1
instanceof org.jruby.ast.ConstNode
ifeq 3
aload 1
checkcast org.jruby.ast.ConstNode
invokevirtual org.jruby.ast.ConstNode.getName:()Lorg/jruby/RubySymbol;
invokevirtual org.jruby.RubySymbol.idString:()Ljava/lang/String;
ldc "Proc"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 3
2: aload 3
iconst_1
invokevirtual org.jruby.ir.instructions.CallInstr.setProcNew:(Z)V
3: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jruby/ir/IRBuilder;
0 4 1 receiverNode Lorg/jruby/ast/Node;
0 4 2 name Lorg/jruby/RubySymbol;
0 4 3 callInstr Lorg/jruby/ir/instructions/CallInstr;
MethodParameters:
Name Flags
receiverNode
name
callInstr
private org.jruby.ast.HashNode getPossibleKeywordArgument(org.jruby.ast.Node);
descriptor: (Lorg/jruby/ast/Node;)Lorg/jruby/ast/HashNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=5, args_size=2
start local 0 start local 1 0: aload 1
instanceof org.jruby.ast.BlockPassNode
ifeq 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 1
instanceof org.jruby.ast.ArrayNode
ifeq 9
3: aload 1
checkcast org.jruby.ast.ArrayNode
astore 2
start local 2 4: aload 2
invokevirtual org.jruby.ast.ArrayNode.isEmpty:()Z
ifeq 5
aconst_null
areturn
5: StackMap locals: org.jruby.ast.ArrayNode
StackMap stack:
aload 2
invokevirtual org.jruby.ast.ArrayNode.getLast:()Lorg/jruby/ast/Node;
astore 3
start local 3 6: aload 3
instanceof org.jruby.ast.HashNode
ifeq 9
7: aload 3
checkcast org.jruby.ast.HashNode
astore 4
start local 4 8: aload 4
invokevirtual org.jruby.ast.HashNode.hasOnlySymbolKeys:()Z
ifeq 9
aload 4
invokevirtual org.jruby.ast.HashNode.isEmpty:()Z
ifne 9
aload 3
checkcast org.jruby.ast.HashNode
areturn
end local 4 end local 3 end local 2 9: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/jruby/ir/IRBuilder;
0 10 1 argsNode Lorg/jruby/ast/Node;
4 9 2 argsList Lorg/jruby/ast/ArrayNode;
6 9 3 lastNode Lorg/jruby/ast/Node;
8 9 4 hash Lorg/jruby/ast/HashNode;
MethodParameters:
Name Flags
argsNode
public org.jruby.ir.operands.Operand buildCase(org.jruby.ast.CaseNode);
descriptor: (Lorg/jruby/ast/CaseNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=20, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 1
invokevirtual org.jruby.ast.CaseNode.getCases:()Lorg/jruby/ast/ListNode;
invokevirtual org.jruby.ast.ListNode.children:()[Lorg/jruby/ast/Node;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 12
StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.CaseNode org.jruby.ast.NodeType top int int org.jruby.ast.Node[]
StackMap stack:
2: aload 6
iload 4
aaload
astore 3
start local 3 3: aload 3
checkcast org.jruby.ast.WhenNode
astore 7
start local 7 4: aload 7
invokevirtual org.jruby.ast.WhenNode.getExpressionNodes:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ast.Node.getNodeType:()Lorg/jruby/ast/NodeType;
astore 8
start local 8 5: aload 2
ifnonnull 8
6: aload 8
astore 2
7: goto 11
StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.CaseNode org.jruby.ast.NodeType org.jruby.ast.Node int int org.jruby.ast.Node[] org.jruby.ast.WhenNode org.jruby.ast.NodeType
StackMap stack:
8: aload 2
aload 8
if_acmpeq 11
9: aconst_null
astore 2
10: goto 13
end local 8 end local 7 end local 3 11: StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.CaseNode org.jruby.ast.NodeType top int int org.jruby.ast.Node[]
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
12: iload 4
iload 5
if_icmplt 2
13: StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.CaseNode org.jruby.ast.NodeType
StackMap stack:
aload 2
ifnull 16
14: invokestatic org.jruby.ir.IRBuilder.$SWITCH_TABLE$org$jruby$ast$NodeType:()[I
aload 2
invokevirtual org.jruby.ast.NodeType.ordinal:()I
iaload
tableswitch { // 40 - 40
40: 15
default: 16
}
15: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.jruby.ir.IRBuilder.buildFixnumCase:(Lorg/jruby/ast/CaseNode;)Lorg/jruby/ir/operands/Operand;
areturn
16: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.jruby.ast.CaseNode.getCaseNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 3
start local 3 17: aload 3
ifnonnull 18
getstatic org.jruby.ir.operands.UndefinedValue.UNDEFINED:Lorg/jruby/ir/operands/UndefinedValue;
astore 3
18: StackMap locals: org.jruby.ir.operands.Operand
StackMap stack:
aload 0
invokevirtual org.jruby.ir.IRBuilder.getNewLabel:()Lorg/jruby/ir/operands/Label;
astore 4
start local 4 19: aload 1
invokevirtual org.jruby.ast.CaseNode.getElseNode:()Lorg/jruby/ast/Node;
ifnull 20
iconst_1
goto 21
StackMap locals: org.jruby.ir.operands.Label
StackMap stack:
20: iconst_0
StackMap locals:
StackMap stack: int
21: istore 5
start local 5 22: aload 0
invokevirtual org.jruby.ir.IRBuilder.getNewLabel:()Lorg/jruby/ir/operands/Label;
astore 6
start local 6 23: aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 7
start local 7 24: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 8
start local 8 25: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 9
start local 9 26: aload 1
invokevirtual org.jruby.ast.CaseNode.getCases:()Lorg/jruby/ast/ListNode;
invokevirtual org.jruby.ast.ListNode.children:()[Lorg/jruby/ast/Node;
dup
astore 13
arraylength
istore 12
iconst_0
istore 11
goto 41
StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.CaseNode org.jruby.ast.NodeType org.jruby.ir.operands.Operand org.jruby.ir.operands.Label int org.jruby.ir.operands.Label org.jruby.ir.operands.Variable java.util.List java.util.Map top int int org.jruby.ast.Node[]
StackMap stack:
27: aload 13
iload 11
aaload
astore 10
start local 10 28: aload 10
checkcast org.jruby.ast.WhenNode
astore 14
start local 14 29: aload 0
invokevirtual org.jruby.ir.IRBuilder.getNewLabel:()Lorg/jruby/ir/operands/Label;
astore 15
start local 15 30: aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 16
start local 16 31: aload 8
aload 15
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
32: aload 0
aload 14
invokevirtual org.jruby.ast.WhenNode.getExpressionNodes:()Lorg/jruby/ast/Node;
aload 14
invokevirtual org.jruby.ast.WhenNode.containsVariableAssignment:()Z
invokevirtual org.jruby.ir.IRBuilder.buildWithOrder:(Lorg/jruby/ast/Node;Z)Lorg/jruby/ir/operands/Operand;
astore 17
start local 17 33: aload 14
invokevirtual org.jruby.ast.WhenNode.getExpressionNodes:()Lorg/jruby/ast/Node;
astore 18
start local 18 34: aload 18
instanceof org.jruby.ast.ArgsPushNode
ifne 35
aload 18
instanceof org.jruby.ast.SplatNode
ifne 35
aload 18
instanceof org.jruby.ast.ArgsCatNode
ifne 35
iconst_0
goto 36
StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.CaseNode org.jruby.ast.NodeType org.jruby.ir.operands.Operand org.jruby.ir.operands.Label int org.jruby.ir.operands.Label org.jruby.ir.operands.Variable java.util.List java.util.Map org.jruby.ast.Node int int org.jruby.ast.Node[] org.jruby.ast.WhenNode org.jruby.ir.operands.Label org.jruby.ir.operands.Variable org.jruby.ir.operands.Operand org.jruby.ast.Node
StackMap stack:
35: iconst_1
StackMap locals:
StackMap stack: int
36: istore 19
start local 19 37: aload 0
new org.jruby.ir.instructions.EQQInstr
dup
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
aload 16
aload 17
aload 3
iload 19
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.maybeUsingRefinements:()Z
invokespecial org.jruby.ir.instructions.EQQInstr.<init>:(Lorg/jruby/ir/IRScope;Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;ZZ)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
38: aload 0
aload 16
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getTrue:()Lorg/jruby/ir/operands/Boolean;
aload 15
invokestatic org.jruby.ir.IRBuilder.createBranch:(Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Label;)Lorg/jruby/ir/instructions/Instr;
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
39: aload 9
aload 15
aload 14
invokevirtual org.jruby.ast.WhenNode.getBodyNode:()Lorg/jruby/ast/Node;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 10 40: iinc 11 1
StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.CaseNode org.jruby.ast.NodeType org.jruby.ir.operands.Operand org.jruby.ir.operands.Label int org.jruby.ir.operands.Label org.jruby.ir.operands.Variable java.util.List java.util.Map top int int org.jruby.ast.Node[]
StackMap stack:
41: iload 11
iload 12
if_icmplt 27
42: aload 0
new org.jruby.ir.instructions.JumpInstr
dup
aload 6
invokespecial org.jruby.ir.instructions.JumpInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
43: iload 5
ifeq 46
44: aload 8
aload 6
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
45: aload 9
aload 6
aload 1
invokevirtual org.jruby.ast.CaseNode.getElseNode:()Lorg/jruby/ast/Node;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
46: StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.CaseNode org.jruby.ast.NodeType org.jruby.ir.operands.Operand org.jruby.ir.operands.Label int org.jruby.ir.operands.Label org.jruby.ir.operands.Variable java.util.List java.util.Map
StackMap stack:
aload 8
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 11
goto 53
StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.CaseNode org.jruby.ast.NodeType org.jruby.ir.operands.Operand org.jruby.ir.operands.Label int org.jruby.ir.operands.Label org.jruby.ir.operands.Variable java.util.List java.util.Map top java.util.Iterator
StackMap stack:
47: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.jruby.ir.operands.Label
astore 10
start local 10 48: aload 0
new org.jruby.ir.instructions.LabelInstr
dup
aload 10
invokespecial org.jruby.ir.instructions.LabelInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
49: aload 0
aload 9
aload 10
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.jruby.ast.Node
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 12
start local 12 50: aload 12
ifnull 53
51: aload 0
new org.jruby.ir.instructions.CopyInstr
dup
aload 7
aload 12
invokespecial org.jruby.ir.instructions.CopyInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
52: aload 0
new org.jruby.ir.instructions.JumpInstr
dup
aload 4
invokespecial org.jruby.ir.instructions.JumpInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
end local 12 end local 10 53: StackMap locals:
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 47
54: iload 5
ifne 58
55: aload 0
new org.jruby.ir.instructions.LabelInstr
dup
aload 6
invokespecial org.jruby.ir.instructions.LabelInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
56: aload 0
new org.jruby.ir.instructions.CopyInstr
dup
aload 7
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getNil:()Lorg/jruby/ir/operands/Nil;
invokespecial org.jruby.ir.instructions.CopyInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
57: aload 0
new org.jruby.ir.instructions.JumpInstr
dup
aload 4
invokespecial org.jruby.ir.instructions.JumpInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
58: StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.CaseNode org.jruby.ast.NodeType org.jruby.ir.operands.Operand org.jruby.ir.operands.Label int org.jruby.ir.operands.Label org.jruby.ir.operands.Variable java.util.List java.util.Map
StackMap stack:
aload 0
new org.jruby.ir.instructions.LabelInstr
dup
aload 4
invokespecial org.jruby.ir.instructions.LabelInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
59: aload 7
areturn
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 60 0 this Lorg/jruby/ir/IRBuilder;
0 60 1 caseNode Lorg/jruby/ast/CaseNode;
1 60 2 seenType Lorg/jruby/ast/NodeType;
3 11 3 aCase Lorg/jruby/ast/Node;
4 11 7 whenNode Lorg/jruby/ast/WhenNode;
5 11 8 exprNodeType Lorg/jruby/ast/NodeType;
17 60 3 value Lorg/jruby/ir/operands/Operand;
19 60 4 endLabel Lorg/jruby/ir/operands/Label;
22 60 5 hasElse Z
23 60 6 elseLabel Lorg/jruby/ir/operands/Label;
24 60 7 result Lorg/jruby/ir/operands/Variable;
25 60 8 labels Ljava/util/List<Lorg/jruby/ir/operands/Label;>;
26 60 9 bodies Ljava/util/Map<Lorg/jruby/ir/operands/Label;Lorg/jruby/ast/Node;>;
28 40 10 aCase Lorg/jruby/ast/Node;
29 40 14 whenNode Lorg/jruby/ast/WhenNode;
30 40 15 bodyLabel Lorg/jruby/ir/operands/Label;
31 40 16 eqqResult Lorg/jruby/ir/operands/Variable;
33 40 17 expression Lorg/jruby/ir/operands/Operand;
34 40 18 exprNodes Lorg/jruby/ast/Node;
37 40 19 needsSplat Z
48 53 10 whenLabel Lorg/jruby/ir/operands/Label;
50 53 12 bodyValue Lorg/jruby/ir/operands/Operand;
MethodParameters:
Name Flags
caseNode
private org.jruby.ir.operands.Operand buildFixnumCase(org.jruby.ast.CaseNode);
descriptor: (Lorg/jruby/ast/CaseNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=24, args_size=2
start local 0 start local 1 0: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 2
start local 2 1: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 3
start local 3 2: aload 1
invokevirtual org.jruby.ast.CaseNode.getCases:()Lorg/jruby/ast/ListNode;
invokevirtual org.jruby.ast.ListNode.children:()[Lorg/jruby/ast/Node;
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 13
StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.CaseNode java.util.Map java.util.Map top int int org.jruby.ast.Node[]
StackMap stack:
3: aload 7
iload 5
aaload
astore 4
start local 4 4: aload 4
checkcast org.jruby.ast.WhenNode
astore 8
start local 8 5: aload 0
invokevirtual org.jruby.ir.IRBuilder.getNewLabel:()Lorg/jruby/ir/operands/Label;
astore 9
start local 9 6: aload 8
invokevirtual org.jruby.ast.WhenNode.getExpressionNodes:()Lorg/jruby/ast/Node;
checkcast org.jruby.ast.FixnumNode
astore 10
start local 10 7: aload 10
invokevirtual org.jruby.ast.FixnumNode.getValue:()J
lstore 11
start local 11 8: lload 11
ldc 2147483647
lcmp
ifle 9
new org.jruby.compiler.NotCompilableException
dup
new java.lang.StringBuilder
dup
ldc "optimized fixnum case has long-ranged when at "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual org.jruby.ir.IRBuilder.getFileName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual org.jruby.ast.CaseNode.getLine:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.jruby.compiler.NotCompilableException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.CaseNode java.util.Map java.util.Map org.jruby.ast.Node int int org.jruby.ast.Node[] org.jruby.ast.WhenNode org.jruby.ir.operands.Label org.jruby.ast.FixnumNode long
StackMap stack:
aload 2
lload 11
l2i
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
ifnonnull 11
10: aload 2
lload 11
l2i
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 9
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
11: StackMap locals:
StackMap stack:
aload 3
aload 8
aload 9
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 11 end local 10 end local 9 end local 8 end local 4 12: iinc 5 1
StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.CaseNode java.util.Map java.util.Map top int int org.jruby.ast.Node[]
StackMap stack:
13: iload 5
iload 6
if_icmplt 3
14: aload 2
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
aload 2
invokeinterface java.util.Map.size:()I
anewarray java.util.Map$Entry
invokeinterface java.util.Set.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.util.Map$Entry[]
astore 4
start local 4 15: aload 4
new org.jruby.ir.IRBuilder$2
dup
aload 0
invokespecial org.jruby.ir.IRBuilder$2.<init>:(Lorg/jruby/ir/IRBuilder;)V
invokestatic java.util.Arrays.sort:([Ljava/lang/Object;Ljava/util/Comparator;)V
16: aload 2
invokeinterface java.util.Map.size:()I
newarray 10
astore 5
start local 5 17: aload 5
arraylength
anewarray org.jruby.ir.operands.Label
astore 6
start local 6 18: iconst_0
istore 7
start local 7 19: aload 4
dup
astore 11
arraylength
istore 10
iconst_0
istore 9
goto 25
StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.CaseNode java.util.Map java.util.Map java.util.Map$Entry[] int[] org.jruby.ir.operands.Label[] int top int int java.util.Map$Entry[]
StackMap stack:
20: aload 11
iload 9
aaload
astore 8
start local 8 21: aload 5
iload 7
aload 8
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
iastore
22: aload 6
iload 7
aload 8
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast org.jruby.ir.operands.Label
aastore
23: iinc 7 1
end local 8 24: iinc 9 1
StackMap locals:
StackMap stack:
25: iload 9
iload 10
if_icmplt 20
26: aload 0
aload 1
invokevirtual org.jruby.ast.CaseNode.getCaseNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 8
start local 8 27: aload 0
invokevirtual org.jruby.ir.IRBuilder.getNewLabel:()Lorg/jruby/ir/operands/Label;
astore 9
start local 9 28: aload 0
invokevirtual org.jruby.ir.IRBuilder.getNewLabel:()Lorg/jruby/ir/operands/Label;
astore 10
start local 10 29: aload 1
invokevirtual org.jruby.ast.CaseNode.getElseNode:()Lorg/jruby/ast/Node;
ifnull 30
iconst_1
goto 31
StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.CaseNode java.util.Map java.util.Map java.util.Map$Entry[] int[] org.jruby.ir.operands.Label[] int org.jruby.ir.operands.Operand org.jruby.ir.operands.Label org.jruby.ir.operands.Label
StackMap stack:
30: iconst_0
StackMap locals:
StackMap stack: int
31: istore 11
start local 11 32: aload 0
invokevirtual org.jruby.ir.IRBuilder.getNewLabel:()Lorg/jruby/ir/operands/Label;
astore 12
start local 12 33: aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 13
start local 13 34: aload 0
new org.jruby.ir.instructions.BSwitchInstr
dup
aload 5
aload 8
aload 9
aload 6
aload 12
invokespecial org.jruby.ir.instructions.BSwitchInstr.<init>:([ILorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Label;[Lorg/jruby/ir/operands/Label;Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
35: aload 0
new org.jruby.ir.instructions.LabelInstr
dup
aload 9
invokespecial org.jruby.ir.instructions.LabelInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
36: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 14
start local 14 37: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 15
start local 15 38: aload 1
invokevirtual org.jruby.ast.CaseNode.getCases:()Lorg/jruby/ast/ListNode;
invokevirtual org.jruby.ast.ListNode.children:()[Lorg/jruby/ast/Node;
dup
astore 19
arraylength
istore 18
iconst_0
istore 17
goto 52
StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.CaseNode java.util.Map java.util.Map java.util.Map$Entry[] int[] org.jruby.ir.operands.Label[] int org.jruby.ir.operands.Operand org.jruby.ir.operands.Label org.jruby.ir.operands.Label int org.jruby.ir.operands.Label org.jruby.ir.operands.Variable java.util.List java.util.Map top int int org.jruby.ast.Node[]
StackMap stack:
39: aload 19
iload 17
aaload
astore 16
start local 16 40: aload 16
checkcast org.jruby.ast.WhenNode
astore 20
start local 20 41: aload 3
aload 20
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.jruby.ir.operands.Label
astore 21
start local 21 42: aload 21
ifnonnull 43
aload 0
invokevirtual org.jruby.ir.IRBuilder.getNewLabel:()Lorg/jruby/ir/operands/Label;
astore 21
43: StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.CaseNode java.util.Map java.util.Map java.util.Map$Entry[] int[] org.jruby.ir.operands.Label[] int org.jruby.ir.operands.Operand org.jruby.ir.operands.Label org.jruby.ir.operands.Label int org.jruby.ir.operands.Label org.jruby.ir.operands.Variable java.util.List java.util.Map org.jruby.ast.Node int int org.jruby.ast.Node[] org.jruby.ast.WhenNode org.jruby.ir.operands.Label
StackMap stack:
aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 22
start local 22 44: aload 14
aload 21
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
45: aload 0
aload 20
invokevirtual org.jruby.ast.WhenNode.getExpressionNodes:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 23
start local 23 46: aload 23
instanceof org.jruby.ir.operands.StringLiteral
ifeq 48
47: aload 23
checkcast org.jruby.ir.operands.StringLiteral
getfield org.jruby.ir.operands.StringLiteral.frozenString:Lorg/jruby/ir/operands/FrozenString;
astore 23
48: StackMap locals: org.jruby.ir.operands.Variable org.jruby.ir.operands.Operand
StackMap stack:
aload 0
new org.jruby.ir.instructions.EQQInstr
dup
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
aload 22
aload 23
aload 8
iconst_0
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.maybeUsingRefinements:()Z
invokespecial org.jruby.ir.instructions.EQQInstr.<init>:(Lorg/jruby/ir/IRScope;Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;ZZ)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
49: aload 0
aload 22
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getTrue:()Lorg/jruby/ir/operands/Boolean;
aload 21
invokestatic org.jruby.ir.IRBuilder.createBranch:(Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Label;)Lorg/jruby/ir/instructions/Instr;
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
50: aload 15
aload 21
aload 20
invokevirtual org.jruby.ast.WhenNode.getBodyNode:()Lorg/jruby/ast/Node;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 23 end local 22 end local 21 end local 20 end local 16 51: iinc 17 1
StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.CaseNode java.util.Map java.util.Map java.util.Map$Entry[] int[] org.jruby.ir.operands.Label[] int org.jruby.ir.operands.Operand org.jruby.ir.operands.Label org.jruby.ir.operands.Label int org.jruby.ir.operands.Label org.jruby.ir.operands.Variable java.util.List java.util.Map top int int org.jruby.ast.Node[]
StackMap stack:
52: iload 17
iload 18
if_icmplt 39
53: aload 0
new org.jruby.ir.instructions.JumpInstr
dup
aload 12
invokespecial org.jruby.ir.instructions.JumpInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
54: iload 11
ifeq 57
55: aload 14
aload 12
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
56: aload 15
aload 12
aload 1
invokevirtual org.jruby.ast.CaseNode.getElseNode:()Lorg/jruby/ast/Node;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
57: StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.CaseNode java.util.Map java.util.Map java.util.Map$Entry[] int[] org.jruby.ir.operands.Label[] int org.jruby.ir.operands.Operand org.jruby.ir.operands.Label org.jruby.ir.operands.Label int org.jruby.ir.operands.Label org.jruby.ir.operands.Variable java.util.List java.util.Map
StackMap stack:
aload 14
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 17
goto 64
StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.CaseNode java.util.Map java.util.Map java.util.Map$Entry[] int[] org.jruby.ir.operands.Label[] int org.jruby.ir.operands.Operand org.jruby.ir.operands.Label org.jruby.ir.operands.Label int org.jruby.ir.operands.Label org.jruby.ir.operands.Variable java.util.List java.util.Map top java.util.Iterator
StackMap stack:
58: aload 17
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.jruby.ir.operands.Label
astore 16
start local 16 59: aload 0
new org.jruby.ir.instructions.LabelInstr
dup
aload 16
invokespecial org.jruby.ir.instructions.LabelInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
60: aload 0
aload 15
aload 16
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.jruby.ast.Node
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 18
start local 18 61: aload 18
ifnull 64
62: aload 0
new org.jruby.ir.instructions.CopyInstr
dup
aload 13
aload 18
invokespecial org.jruby.ir.instructions.CopyInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
63: aload 0
new org.jruby.ir.instructions.JumpInstr
dup
aload 10
invokespecial org.jruby.ir.instructions.JumpInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
end local 18 end local 16 64: StackMap locals:
StackMap stack:
aload 17
invokeinterface java.util.Iterator.hasNext:()Z
ifne 58
65: iload 11
ifne 69
66: aload 0
new org.jruby.ir.instructions.LabelInstr
dup
aload 12
invokespecial org.jruby.ir.instructions.LabelInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
67: aload 0
new org.jruby.ir.instructions.CopyInstr
dup
aload 13
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getNil:()Lorg/jruby/ir/operands/Nil;
invokespecial org.jruby.ir.instructions.CopyInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
68: aload 0
new org.jruby.ir.instructions.JumpInstr
dup
aload 10
invokespecial org.jruby.ir.instructions.JumpInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
69: StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.CaseNode java.util.Map java.util.Map java.util.Map$Entry[] int[] org.jruby.ir.operands.Label[] int org.jruby.ir.operands.Operand org.jruby.ir.operands.Label org.jruby.ir.operands.Label int org.jruby.ir.operands.Label org.jruby.ir.operands.Variable java.util.List java.util.Map
StackMap stack:
aload 0
new org.jruby.ir.instructions.LabelInstr
dup
aload 10
invokespecial org.jruby.ir.instructions.LabelInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
70: aload 13
areturn
end local 15 end local 14 end local 13 end local 12 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 71 0 this Lorg/jruby/ir/IRBuilder;
0 71 1 caseNode Lorg/jruby/ast/CaseNode;
1 71 2 jumpTable Ljava/util/Map<Ljava/lang/Integer;Lorg/jruby/ir/operands/Label;>;
2 71 3 nodeBodies Ljava/util/Map<Lorg/jruby/ast/Node;Lorg/jruby/ir/operands/Label;>;
4 12 4 aCase Lorg/jruby/ast/Node;
5 12 8 whenNode Lorg/jruby/ast/WhenNode;
6 12 9 bodyLabel Lorg/jruby/ir/operands/Label;
7 12 10 expr Lorg/jruby/ast/FixnumNode;
8 12 11 exprLong J
15 71 4 jumpEntries [Ljava/util/Map$Entry;
17 71 5 jumps [I
18 71 6 targets [Lorg/jruby/ir/operands/Label;
19 71 7 i I
21 24 8 jumpEntry Ljava/util/Map$Entry<Ljava/lang/Integer;Lorg/jruby/ir/operands/Label;>;
27 71 8 value Lorg/jruby/ir/operands/Operand;
28 71 9 eqqPath Lorg/jruby/ir/operands/Label;
29 71 10 endLabel Lorg/jruby/ir/operands/Label;
32 71 11 hasElse Z
33 71 12 elseLabel Lorg/jruby/ir/operands/Label;
34 71 13 result Lorg/jruby/ir/operands/Variable;
37 71 14 labels Ljava/util/List<Lorg/jruby/ir/operands/Label;>;
38 71 15 bodies Ljava/util/Map<Lorg/jruby/ir/operands/Label;Lorg/jruby/ast/Node;>;
40 51 16 aCase Lorg/jruby/ast/Node;
41 51 20 whenNode Lorg/jruby/ast/WhenNode;
42 51 21 bodyLabel Lorg/jruby/ir/operands/Label;
44 51 22 eqqResult Lorg/jruby/ir/operands/Variable;
46 51 23 expression Lorg/jruby/ir/operands/Operand;
59 64 16 whenLabel Lorg/jruby/ir/operands/Label;
61 64 18 bodyValue Lorg/jruby/ir/operands/Operand;
MethodParameters:
Name Flags
caseNode
public org.jruby.ir.operands.Operand buildClass(org.jruby.ast.ClassNode);
descriptor: (Lorg/jruby/ast/ClassNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=10, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.ir.IRBuilder.executesOnce:Z
istore 2
start local 2 1: aload 1
invokevirtual org.jruby.ast.ClassNode.getSuperNode:()Lorg/jruby/ast/Node;
astore 3
start local 3 2: aload 1
invokevirtual org.jruby.ast.ClassNode.getCPath:()Lorg/jruby/ast/Colon3Node;
astore 4
start local 4 3: aload 3
ifnonnull 4
aconst_null
goto 5
StackMap locals: int org.jruby.ast.Node org.jruby.ast.Colon3Node
StackMap stack:
4: aload 0
aload 3
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
StackMap locals:
StackMap stack: org.jruby.ir.operands.Operand
5: astore 5
start local 5 6: aload 4
invokevirtual org.jruby.ast.Colon3Node.getName:()Lorg/jruby/RubySymbol;
invokevirtual org.jruby.RubySymbol.getBytes:()Lorg/jruby/util/ByteList;
astore 6
start local 6 7: aload 0
aload 4
invokevirtual org.jruby.ir.IRBuilder.getContainerFromCPath:(Lorg/jruby/ast/Colon3Node;)Lorg/jruby/ir/operands/Operand;
astore 7
start local 7 8: new org.jruby.ir.IRClassBody
dup
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
aload 6
aload 1
invokevirtual org.jruby.ast.ClassNode.getLine:()I
aload 1
invokevirtual org.jruby.ast.ClassNode.getScope:()Lorg/jruby/parser/StaticScope;
iload 2
invokespecial org.jruby.ir.IRClassBody.<init>:(Lorg/jruby/ir/IRManager;Lorg/jruby/ir/IRScope;Lorg/jruby/util/ByteList;ILorg/jruby/parser/StaticScope;Z)V
astore 8
start local 8 9: aload 0
new org.jruby.ir.instructions.DefineClassInstr
dup
aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
aload 8
aload 7
aload 5
invokespecial org.jruby.ir.instructions.DefineClassInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/IRClassBody;Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addResultInstr:(Lorg/jruby/ir/instructions/ResultInstr;)Lorg/jruby/ir/operands/Variable;
astore 9
start local 9 10: aload 0
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
aload 8
invokevirtual org.jruby.ir.IRBuilder.newIRBuilder:(Lorg/jruby/ir/IRManager;Lorg/jruby/ir/IRScope;)Lorg/jruby/ir/IRBuilder;
aload 1
invokevirtual org.jruby.ast.ClassNode.getBodyNode:()Lorg/jruby/ast/Node;
aload 1
invokevirtual org.jruby.ast.ClassNode.getLine:()I
aload 1
invokevirtual org.jruby.ast.ClassNode.getEndLine:()I
invokevirtual org.jruby.ir.IRBuilder.buildModuleOrClassBody:(Lorg/jruby/ast/Node;II)Lorg/jruby/ir/interpreter/InterpreterContext;
pop
11: aload 9
areturn
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 12 0 this Lorg/jruby/ir/IRBuilder;
0 12 1 classNode Lorg/jruby/ast/ClassNode;
1 12 2 executesOnce Z
2 12 3 superNode Lorg/jruby/ast/Node;
3 12 4 cpath Lorg/jruby/ast/Colon3Node;
6 12 5 superClass Lorg/jruby/ir/operands/Operand;
7 12 6 className Lorg/jruby/util/ByteList;
8 12 7 container Lorg/jruby/ir/operands/Operand;
9 12 8 body Lorg/jruby/ir/IRClassBody;
10 12 9 bodyResult Lorg/jruby/ir/operands/Variable;
MethodParameters:
Name Flags
classNode
public org.jruby.ir.operands.Operand buildSClass(org.jruby.ast.SClassNode);
descriptor: (Lorg/jruby/ast/SClassNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=6, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.jruby.ast.SClassNode.getReceiverNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 2
start local 2 1: new org.jruby.ir.IRMetaClassBody
dup
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getMetaClassName:()Lorg/jruby/RubySymbol;
invokevirtual org.jruby.RubySymbol.getBytes:()Lorg/jruby/util/ByteList;
aload 1
invokevirtual org.jruby.ast.SClassNode.getLine:()I
aload 1
invokevirtual org.jruby.ast.SClassNode.getScope:()Lorg/jruby/parser/StaticScope;
invokespecial org.jruby.ir.IRMetaClassBody.<init>:(Lorg/jruby/ir/IRManager;Lorg/jruby/ir/IRScope;Lorg/jruby/util/ByteList;ILorg/jruby/parser/StaticScope;)V
astore 3
start local 3 2: aload 0
new org.jruby.ir.instructions.DefineMetaClassInstr
dup
aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
aload 2
aload 3
invokespecial org.jruby.ir.instructions.DefineMetaClassInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/IRModuleBody;)V
invokevirtual org.jruby.ir.IRBuilder.addResultInstr:(Lorg/jruby/ir/instructions/ResultInstr;)Lorg/jruby/ir/operands/Variable;
astore 4
start local 4 3: aload 0
new org.jruby.ir.instructions.ProcessModuleBodyInstr
dup
aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
aload 4
aload 0
invokevirtual org.jruby.ir.IRBuilder.getYieldClosureVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
invokespecial org.jruby.ir.instructions.ProcessModuleBodyInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addResultInstr:(Lorg/jruby/ir/instructions/ResultInstr;)Lorg/jruby/ir/operands/Variable;
astore 5
start local 5 4: aload 0
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
aload 3
invokevirtual org.jruby.ir.IRBuilder.newIRBuilder:(Lorg/jruby/ir/IRManager;Lorg/jruby/ir/IRScope;)Lorg/jruby/ir/IRBuilder;
aload 1
invokevirtual org.jruby.ast.SClassNode.getBodyNode:()Lorg/jruby/ast/Node;
aload 1
invokevirtual org.jruby.ast.SClassNode.getLine:()I
aload 1
invokevirtual org.jruby.ast.SClassNode.getEndLine:()I
invokevirtual org.jruby.ir.IRBuilder.buildModuleOrClassBody:(Lorg/jruby/ast/Node;II)Lorg/jruby/ir/interpreter/InterpreterContext;
pop
5: aload 5
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 6 0 this Lorg/jruby/ir/IRBuilder;
0 6 1 sclassNode Lorg/jruby/ast/SClassNode;
1 6 2 receiver Lorg/jruby/ir/operands/Operand;
2 6 3 body Lorg/jruby/ir/IRModuleBody;
3 6 4 sClassVar Lorg/jruby/ir/operands/Variable;
4 6 5 processBodyResult Lorg/jruby/ir/operands/Variable;
MethodParameters:
Name Flags
sclassNode
public org.jruby.ir.operands.Operand buildClassVar(org.jruby.ast.ClassVarNode);
descriptor: (Lorg/jruby/ast/ClassVarNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 2
start local 2 1: aload 0
new org.jruby.ir.instructions.GetClassVariableInstr
dup
aload 2
aload 0
invokevirtual org.jruby.ir.IRBuilder.classVarDefinitionContainer:()Lorg/jruby/ir/operands/Operand;
aload 1
invokevirtual org.jruby.ast.ClassVarNode.getName:()Lorg/jruby/RubySymbol;
invokespecial org.jruby.ir.instructions.GetClassVariableInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;Lorg/jruby/RubySymbol;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
2: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/ir/IRBuilder;
0 3 1 node Lorg/jruby/ast/ClassVarNode;
1 3 2 ret Lorg/jruby/ir/operands/Variable;
MethodParameters:
Name Flags
node
private org.jruby.ir.operands.Variable addResultInstr(org.jruby.ir.instructions.ResultInstr);
descriptor: (Lorg/jruby/ir/instructions/ResultInstr;)Lorg/jruby/ir/operands/Variable;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
checkcast org.jruby.ir.instructions.Instr
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
1: aload 1
invokeinterface org.jruby.ir.instructions.ResultInstr.getResult:()Lorg/jruby/ir/operands/Variable;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/ir/IRBuilder;
0 2 1 instr Lorg/jruby/ir/instructions/ResultInstr;
MethodParameters:
Name Flags
instr
public org.jruby.ir.operands.Operand buildClassVarAsgn(org.jruby.ast.ClassVarAsgnNode);
descriptor: (Lorg/jruby/ast/ClassVarAsgnNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.jruby.ast.ClassVarAsgnNode.getValueNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 2
start local 2 1: aload 0
new org.jruby.ir.instructions.PutClassVariableInstr
dup
aload 0
invokevirtual org.jruby.ir.IRBuilder.classVarDefinitionContainer:()Lorg/jruby/ir/operands/Operand;
aload 1
invokevirtual org.jruby.ast.ClassVarAsgnNode.getName:()Lorg/jruby/RubySymbol;
aload 2
invokespecial org.jruby.ir.instructions.PutClassVariableInstr.<init>:(Lorg/jruby/ir/operands/Operand;Lorg/jruby/RubySymbol;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
2: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/ir/IRBuilder;
0 3 1 classVarAsgnNode Lorg/jruby/ast/ClassVarAsgnNode;
1 3 2 val Lorg/jruby/ir/operands/Operand;
MethodParameters:
Name Flags
classVarAsgnNode final
public org.jruby.ir.operands.Operand classVarDeclarationContainer();
descriptor: ()Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
invokevirtual org.jruby.ir.IRBuilder.classVarContainer:(Z)Lorg/jruby/ir/operands/Operand;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/IRBuilder;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public org.jruby.ir.operands.Operand classVarDefinitionContainer();
descriptor: ()Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
invokevirtual org.jruby.ir.IRBuilder.classVarContainer:(Z)Lorg/jruby/ir/operands/Operand;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/IRBuilder;
public org.jruby.ir.operands.Operand classVarContainer(boolean);
descriptor: (Z)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
astore 3
start local 3 2: goto 6
3: StackMap locals: int org.jruby.ir.IRScope
StackMap stack:
aload 3
instanceof org.jruby.ir.IRFor
ifne 5
4: iinc 2 1
5: StackMap locals:
StackMap stack:
aload 3
invokevirtual org.jruby.ir.IRScope.getLexicalParent:()Lorg/jruby/ir/IRScope;
astore 3
6: StackMap locals:
StackMap stack:
aload 3
ifnull 7
aload 3
instanceof org.jruby.ir.IREvalScript
ifne 7
aload 3
invokevirtual org.jruby.ir.IRScope.isNonSingletonClassBody:()Z
ifeq 3
7: StackMap locals:
StackMap stack:
aload 3
ifnull 9
aload 3
invokevirtual org.jruby.ir.IRScope.isNonSingletonClassBody:()Z
ifeq 9
8: iload 2
invokestatic org.jruby.ir.operands.ScopeModule.ModuleFor:(I)Lorg/jruby/ir/operands/ScopeModule;
areturn
9: StackMap locals:
StackMap stack:
aload 0
10: new org.jruby.ir.instructions.GetClassVarContainerModuleInstr
dup
aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
11: aload 0
invokevirtual org.jruby.ir.IRBuilder.getCurrentScopeVariable:()Lorg/jruby/ir/operands/Variable;
iload 1
ifeq 12
aconst_null
goto 13
StackMap locals: org.jruby.ir.IRBuilder int int org.jruby.ir.IRScope
StackMap stack: org.jruby.ir.IRBuilder new 10 new 10 org.jruby.ir.operands.TemporaryVariable org.jruby.ir.operands.Variable
12: aload 0
invokevirtual org.jruby.ir.IRBuilder.buildSelf:()Lorg/jruby/ir/operands/Variable;
StackMap locals: org.jruby.ir.IRBuilder int int org.jruby.ir.IRScope
StackMap stack: org.jruby.ir.IRBuilder new 10 new 10 org.jruby.ir.operands.TemporaryVariable org.jruby.ir.operands.Variable org.jruby.ir.operands.Variable
13: invokespecial org.jruby.ir.instructions.GetClassVarContainerModuleInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Variable;)V
14: invokevirtual org.jruby.ir.IRBuilder.addResultInstr:(Lorg/jruby/ir/instructions/ResultInstr;)Lorg/jruby/ir/operands/Variable;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/jruby/ir/IRBuilder;
0 15 1 declContext Z
1 15 2 n I
2 15 3 cvarScope Lorg/jruby/ir/IRScope;
MethodParameters:
Name Flags
declContext
public org.jruby.ir.operands.Operand buildConstDecl(org.jruby.ast.ConstDeclNode);
descriptor: (Lorg/jruby/ast/ConstDeclNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aload 0
aload 1
invokevirtual org.jruby.ast.ConstDeclNode.getValueNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
invokevirtual org.jruby.ir.IRBuilder.buildConstDeclAssignment:(Lorg/jruby/ast/ConstDeclNode;Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/operands/Operand;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/IRBuilder;
0 1 1 node Lorg/jruby/ast/ConstDeclNode;
MethodParameters:
Name Flags
node
private org.jruby.ir.operands.Operand findContainerModule();
descriptor: ()Lorg/jruby/ir/operands/Operand;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.getNearestModuleReferencingScopeDepth:()I
istore 1
start local 1 1: iload 1
iconst_m1
if_icmpne 2
aload 0
invokevirtual org.jruby.ir.IRBuilder.getCurrentModuleVariable:()Lorg/jruby/ir/operands/Variable;
goto 3
StackMap locals: int
StackMap stack:
2: iload 1
invokestatic org.jruby.ir.operands.ScopeModule.ModuleFor:(I)Lorg/jruby/ir/operands/ScopeModule;
StackMap locals:
StackMap stack: org.jruby.ir.operands.Operand
3: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jruby/ir/IRBuilder;
1 4 1 nearestModuleBodyDepth I
private org.jruby.ir.operands.Operand startingSearchScope();
descriptor: ()Lorg/jruby/ir/operands/Operand;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.getNearestModuleReferencingScopeDepth:()I
istore 1
start local 1 1: iload 1
iconst_m1
if_icmpne 2
aload 0
invokevirtual org.jruby.ir.IRBuilder.getCurrentScopeVariable:()Lorg/jruby/ir/operands/Variable;
goto 3
StackMap locals: int
StackMap stack:
2: getstatic org.jruby.ir.operands.CurrentScope.INSTANCE:Lorg/jruby/ir/operands/CurrentScope;
StackMap locals:
StackMap stack: org.jruby.ir.operands.Operand
3: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jruby/ir/IRBuilder;
1 4 1 nearestModuleBodyDepth I
public org.jruby.ir.operands.Operand buildConstDeclAssignment(org.jruby.ast.ConstDeclNode, org.jruby.ir.operands.Operand);
descriptor: (Lorg/jruby/ast/ConstDeclNode;Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.jruby.ast.ConstDeclNode.getConstNode:()Lorg/jruby/ast/Node;
astore 3
start local 3 1: aload 3
ifnonnull 3
2: aload 0
aload 1
invokevirtual org.jruby.ast.ConstDeclNode.getName:()Lorg/jruby/RubySymbol;
aload 2
invokevirtual org.jruby.ir.IRBuilder.putConstant:(Lorg/jruby/RubySymbol;Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/operands/Operand;
areturn
3: StackMap locals: org.jruby.ast.Node
StackMap stack:
aload 3
invokevirtual org.jruby.ast.Node.getNodeType:()Lorg/jruby/ast/NodeType;
getstatic org.jruby.ast.NodeType.COLON2NODE:Lorg/jruby/ast/NodeType;
if_acmpne 5
4: aload 0
aload 3
checkcast org.jruby.ast.Colon2Node
aload 2
invokevirtual org.jruby.ir.IRBuilder.putConstant:(Lorg/jruby/ast/Colon2Node;Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/operands/Operand;
areturn
5: StackMap locals:
StackMap stack:
aload 0
aload 3
checkcast org.jruby.ast.Colon3Node
aload 2
invokevirtual org.jruby.ir.IRBuilder.putConstant:(Lorg/jruby/ast/Colon3Node;Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/operands/Operand;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/jruby/ir/IRBuilder;
0 6 1 constDeclNode Lorg/jruby/ast/ConstDeclNode;
0 6 2 value Lorg/jruby/ir/operands/Operand;
1 6 3 constNode Lorg/jruby/ast/Node;
MethodParameters:
Name Flags
constDeclNode
value
private org.jruby.ir.operands.Operand putConstant(org.jruby.RubySymbol, org.jruby.ir.operands.Operand);
descriptor: (Lorg/jruby/RubySymbol;Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/operands/Operand;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
new org.jruby.ir.instructions.PutConstInstr
dup
aload 0
invokevirtual org.jruby.ir.IRBuilder.findContainerModule:()Lorg/jruby/ir/operands/Operand;
aload 1
aload 2
invokespecial org.jruby.ir.instructions.PutConstInstr.<init>:(Lorg/jruby/ir/operands/Operand;Lorg/jruby/RubySymbol;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
1: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/ir/IRBuilder;
0 2 1 name Lorg/jruby/RubySymbol;
0 2 2 value Lorg/jruby/ir/operands/Operand;
MethodParameters:
Name Flags
name
value
private org.jruby.ir.operands.Operand putConstant(org.jruby.ast.Colon3Node, org.jruby.ir.operands.Operand);
descriptor: (Lorg/jruby/ast/Colon3Node;Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/operands/Operand;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
new org.jruby.ir.instructions.PutConstInstr
dup
new org.jruby.ir.operands.ObjectClass
dup
invokespecial org.jruby.ir.operands.ObjectClass.<init>:()V
aload 1
invokevirtual org.jruby.ast.Colon3Node.getName:()Lorg/jruby/RubySymbol;
aload 2
invokespecial org.jruby.ir.instructions.PutConstInstr.<init>:(Lorg/jruby/ir/operands/Operand;Lorg/jruby/RubySymbol;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
1: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/ir/IRBuilder;
0 2 1 node Lorg/jruby/ast/Colon3Node;
0 2 2 value Lorg/jruby/ir/operands/Operand;
MethodParameters:
Name Flags
node
value
private org.jruby.ir.operands.Operand putConstant(org.jruby.ast.Colon2Node, org.jruby.ir.operands.Operand);
descriptor: (Lorg/jruby/ast/Colon2Node;Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/operands/Operand;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
new org.jruby.ir.instructions.PutConstInstr
dup
aload 0
aload 1
invokevirtual org.jruby.ast.Colon2Node.getLeftNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
aload 1
invokevirtual org.jruby.ast.Colon2Node.getName:()Lorg/jruby/RubySymbol;
aload 2
invokespecial org.jruby.ir.instructions.PutConstInstr.<init>:(Lorg/jruby/ir/operands/Operand;Lorg/jruby/RubySymbol;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
1: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/ir/IRBuilder;
0 2 1 node Lorg/jruby/ast/Colon2Node;
0 2 2 value Lorg/jruby/ir/operands/Operand;
MethodParameters:
Name Flags
node
value
private org.jruby.ir.operands.Operand putConstantAssignment(org.jruby.ast.OpAsgnConstDeclNode, org.jruby.ir.operands.Operand);
descriptor: (Lorg/jruby/ast/OpAsgnConstDeclNode;Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/operands/Operand;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.jruby.ast.OpAsgnConstDeclNode.getFirstNode:()Lorg/jruby/ast/Node;
astore 3
start local 3 1: aload 3
instanceof org.jruby.ast.Colon2Node
ifeq 2
aload 0
aload 3
checkcast org.jruby.ast.Colon2Node
aload 2
invokevirtual org.jruby.ir.IRBuilder.putConstant:(Lorg/jruby/ast/Colon2Node;Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/operands/Operand;
areturn
2: StackMap locals: org.jruby.ast.Node
StackMap stack:
aload 0
aload 3
checkcast org.jruby.ast.Colon3Node
aload 2
invokevirtual org.jruby.ir.IRBuilder.putConstant:(Lorg/jruby/ast/Colon3Node;Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/operands/Operand;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/ir/IRBuilder;
0 3 1 node Lorg/jruby/ast/OpAsgnConstDeclNode;
0 3 2 value Lorg/jruby/ir/operands/Operand;
1 3 3 constNode Lorg/jruby/ast/Node;
MethodParameters:
Name Flags
node
value
private org.jruby.ir.operands.Operand searchModuleForConst(org.jruby.ir.operands.Operand, org.jruby.RubySymbol);
descriptor: (Lorg/jruby/ir/operands/Operand;Lorg/jruby/RubySymbol;)Lorg/jruby/ir/operands/Operand;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
new org.jruby.ir.instructions.SearchModuleForConstInstr
dup
aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
aload 1
aload 2
iconst_1
invokespecial org.jruby.ir.instructions.SearchModuleForConstInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;Lorg/jruby/RubySymbol;Z)V
invokevirtual org.jruby.ir.IRBuilder.addResultInstr:(Lorg/jruby/ir/instructions/ResultInstr;)Lorg/jruby/ir/operands/Variable;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/IRBuilder;
0 1 1 startingModule Lorg/jruby/ir/operands/Operand;
0 1 2 name Lorg/jruby/RubySymbol;
MethodParameters:
Name Flags
startingModule
name
private org.jruby.ir.operands.Operand searchConst(org.jruby.RubySymbol);
descriptor: (Lorg/jruby/RubySymbol;)Lorg/jruby/ir/operands/Operand;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new org.jruby.ir.instructions.SearchConstInstr
dup
aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
aload 1
aload 0
invokevirtual org.jruby.ir.IRBuilder.startingSearchScope:()Lorg/jruby/ir/operands/Operand;
iconst_0
invokespecial org.jruby.ir.instructions.SearchConstInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/RubySymbol;Lorg/jruby/ir/operands/Operand;Z)V
invokevirtual org.jruby.ir.IRBuilder.addResultInstr:(Lorg/jruby/ir/instructions/ResultInstr;)Lorg/jruby/ir/operands/Variable;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/IRBuilder;
0 1 1 name Lorg/jruby/RubySymbol;
MethodParameters:
Name Flags
name
public org.jruby.ir.operands.Operand buildColon2(org.jruby.ast.Colon2Node);
descriptor: (Lorg/jruby/ast/Colon2Node;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.jruby.ast.Colon2Node.getLeftNode:()Lorg/jruby/ast/Node;
astore 2
start local 2 1: aload 2
ifnonnull 2
aload 0
aload 1
invokevirtual org.jruby.ast.Colon2Node.getName:()Lorg/jruby/RubySymbol;
invokevirtual org.jruby.ir.IRBuilder.searchConst:(Lorg/jruby/RubySymbol;)Lorg/jruby/ir/operands/Operand;
areturn
2: StackMap locals: org.jruby.ast.Node
StackMap stack:
aload 0
aload 0
aload 2
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
aload 1
invokevirtual org.jruby.ast.Colon2Node.getName:()Lorg/jruby/RubySymbol;
invokevirtual org.jruby.ir.IRBuilder.searchModuleForConst:(Lorg/jruby/ir/operands/Operand;Lorg/jruby/RubySymbol;)Lorg/jruby/ir/operands/Operand;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/ir/IRBuilder;
0 3 1 colon2 Lorg/jruby/ast/Colon2Node;
1 3 2 lhs Lorg/jruby/ast/Node;
MethodParameters:
Name Flags
colon2 final
public org.jruby.ir.operands.Operand buildColon3(org.jruby.ast.Colon3Node);
descriptor: (Lorg/jruby/ast/Colon3Node;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new org.jruby.ir.operands.ObjectClass
dup
invokespecial org.jruby.ir.operands.ObjectClass.<init>:()V
aload 1
invokevirtual org.jruby.ast.Colon3Node.getName:()Lorg/jruby/RubySymbol;
invokevirtual org.jruby.ir.IRBuilder.searchModuleForConst:(Lorg/jruby/ir/operands/Operand;Lorg/jruby/RubySymbol;)Lorg/jruby/ir/operands/Operand;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/IRBuilder;
0 1 1 node Lorg/jruby/ast/Colon3Node;
MethodParameters:
Name Flags
node
public org.jruby.ir.operands.Operand buildComplex(org.jruby.ast.ComplexNode);
descriptor: (Lorg/jruby/ast/ComplexNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new org.jruby.ir.operands.Complex
dup
aload 0
aload 1
invokevirtual org.jruby.ast.ComplexNode.getNumber:()Lorg/jruby/ast/NumericNode;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
checkcast org.jruby.ir.operands.ImmutableLiteral
invokespecial org.jruby.ir.operands.Complex.<init>:(Lorg/jruby/ir/operands/ImmutableLiteral;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/IRBuilder;
0 1 1 node Lorg/jruby/ast/ComplexNode;
MethodParameters:
Name Flags
node
private org.jruby.ir.operands.Operand protectCodeWithRescue(org.jruby.ir.IRBuilder$CodeBlock, org.jruby.ir.IRBuilder$CodeBlock);
descriptor: (Lorg/jruby/ir/IRBuilder$CodeBlock;Lorg/jruby/ir/IRBuilder$CodeBlock;)Lorg/jruby/ir/operands/Operand;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=12, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 3
start local 3 1: aload 0
invokevirtual org.jruby.ir.IRBuilder.getNewLabel:()Lorg/jruby/ir/operands/Label;
astore 4
start local 4 2: aload 0
invokevirtual org.jruby.ir.IRBuilder.getNewLabel:()Lorg/jruby/ir/operands/Label;
astore 5
start local 5 3: aload 0
invokevirtual org.jruby.ir.IRBuilder.getNewLabel:()Lorg/jruby/ir/operands/Label;
astore 6
start local 6 4: aload 0
new org.jruby.ir.instructions.LabelInstr
dup
aload 4
invokespecial org.jruby.ir.instructions.LabelInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
5: aload 0
new org.jruby.ir.instructions.ExceptionRegionStartMarkerInstr
dup
aload 6
invokespecial org.jruby.ir.instructions.ExceptionRegionStartMarkerInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
6: aload 1
invokeinterface org.jruby.ir.IRBuilder$CodeBlock.run:()Lorg/jruby/ir/operands/Operand;
astore 7
start local 7 7: aload 0
new org.jruby.ir.instructions.CopyInstr
dup
aload 3
aload 7
checkcast org.jruby.ir.operands.Operand
invokespecial org.jruby.ir.instructions.CopyInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
8: aload 0
new org.jruby.ir.instructions.JumpInstr
dup
aload 5
invokespecial org.jruby.ir.instructions.JumpInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
9: aload 0
new org.jruby.ir.instructions.ExceptionRegionEndMarkerInstr
dup
invokespecial org.jruby.ir.instructions.ExceptionRegionEndMarkerInstr.<init>:()V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
10: aload 0
invokevirtual org.jruby.ir.IRBuilder.getNewLabel:()Lorg/jruby/ir/operands/Label;
astore 8
start local 8 11: aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 9
start local 9 12: aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 10
start local 10 13: aload 0
new org.jruby.ir.instructions.LabelInstr
dup
aload 6
invokespecial org.jruby.ir.instructions.LabelInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
14: aload 0
new org.jruby.ir.instructions.ReceiveRubyExceptionInstr
dup
aload 9
invokespecial org.jruby.ir.instructions.ReceiveRubyExceptionInstr.<init>:(Lorg/jruby/ir/operands/Variable;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
15: aload 0
new org.jruby.ir.instructions.InheritanceSearchConstInstr
dup
aload 10
new org.jruby.ir.operands.ObjectClass
dup
invokespecial org.jruby.ir.operands.ObjectClass.<init>:()V
16: aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
getfield org.jruby.ir.IRManager.runtime:Lorg/jruby/Ruby;
getstatic org.jruby.util.CommonByteLists.EXCEPTION:Lorg/jruby/util/ByteList;
invokevirtual org.jruby.Ruby.newSymbol:(Lorg/jruby/util/ByteList;)Lorg/jruby/RubySymbol;
invokespecial org.jruby.ir.instructions.InheritanceSearchConstInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;Lorg/jruby/RubySymbol;)V
17: invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
18: aload 0
aload 10
aload 9
aload 8
invokevirtual org.jruby.ir.IRBuilder.outputExceptionCheck:(Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Label;)V
19: aload 0
new org.jruby.ir.instructions.ThrowExceptionInstr
dup
aload 9
invokespecial org.jruby.ir.instructions.ThrowExceptionInstr.<init>:(Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
20: aload 0
new org.jruby.ir.instructions.LabelInstr
dup
aload 8
invokespecial org.jruby.ir.instructions.LabelInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
21: aload 2
invokeinterface org.jruby.ir.IRBuilder$CodeBlock.run:()Lorg/jruby/ir/operands/Operand;
astore 11
start local 11 22: aload 11
ifnull 23
aload 0
new org.jruby.ir.instructions.CopyInstr
dup
aload 3
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getNil:()Lorg/jruby/ir/operands/Nil;
invokespecial org.jruby.ir.instructions.CopyInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
23: StackMap locals: org.jruby.ir.IRBuilder org.jruby.ir.IRBuilder$CodeBlock org.jruby.ir.IRBuilder$CodeBlock org.jruby.ir.operands.Variable org.jruby.ir.operands.Label org.jruby.ir.operands.Label org.jruby.ir.operands.Label java.lang.Object org.jruby.ir.operands.Label org.jruby.ir.operands.Variable org.jruby.ir.operands.Variable java.lang.Object
StackMap stack:
aload 0
new org.jruby.ir.instructions.LabelInstr
dup
aload 5
invokespecial org.jruby.ir.instructions.LabelInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
24: aload 3
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 25 0 this Lorg/jruby/ir/IRBuilder;
0 25 1 protectedCode Lorg/jruby/ir/IRBuilder$CodeBlock;
0 25 2 rescueBlock Lorg/jruby/ir/IRBuilder$CodeBlock;
1 25 3 rv Lorg/jruby/ir/operands/Variable;
2 25 4 rBeginLabel Lorg/jruby/ir/operands/Label;
3 25 5 rEndLabel Lorg/jruby/ir/operands/Label;
4 25 6 rescueLabel Lorg/jruby/ir/operands/Label;
7 25 7 v1 Ljava/lang/Object;
11 25 8 caughtLabel Lorg/jruby/ir/operands/Label;
12 25 9 exc Lorg/jruby/ir/operands/Variable;
13 25 10 excType Lorg/jruby/ir/operands/Variable;
22 25 11 v2 Ljava/lang/Object;
MethodParameters:
Name Flags
protectedCode
rescueBlock
public org.jruby.ir.operands.Operand buildGetDefinition(org.jruby.ast.Node);
descriptor: (Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=11, locals=11, args_size=2
start local 0 start local 1 0: invokestatic org.jruby.ir.IRBuilder.$SWITCH_TABLE$org$jruby$ast$NodeType:()[I
aload 1
invokevirtual org.jruby.ast.Node.getNodeType:()Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
iaload
lookupswitch { // 40
2: 2
6: 9
8: 25
16: 140
19: 1
20: 1
21: 60
22: 118
23: 118
24: 1
25: 104
26: 1
31: 2
32: 2
34: 4
38: 3
39: 125
44: 1
45: 32
48: 1
49: 50
53: 1
54: 4
55: 5
56: 5
61: 6
63: 41
64: 1
65: 1
66: 1
67: 1
68: 2
79: 7
83: 70
86: 8
90: 83
94: 94
97: 95
100: 144
105: 1
default: 148
}
1: StackMap locals:
StackMap stack:
new org.jruby.ir.operands.FrozenString
dup
getstatic org.jruby.util.DefinedMessage.ASSIGNMENT:Lorg/jruby/util/DefinedMessage;
invokevirtual org.jruby.util.DefinedMessage.getText:()Ljava/lang/String;
invokespecial org.jruby.ir.operands.FrozenString.<init>:(Ljava/lang/String;)V
areturn
2: StackMap locals:
StackMap stack:
new org.jruby.ir.operands.FrozenString
dup
getstatic org.jruby.util.DefinedMessage.EXPRESSION:Lorg/jruby/util/DefinedMessage;
invokevirtual org.jruby.util.DefinedMessage.getText:()Ljava/lang/String;
invokespecial org.jruby.ir.operands.FrozenString.<init>:(Ljava/lang/String;)V
areturn
3: StackMap locals:
StackMap stack:
new org.jruby.ir.operands.FrozenString
dup
getstatic org.jruby.util.DefinedMessage.FALSE:Lorg/jruby/util/DefinedMessage;
invokevirtual org.jruby.util.DefinedMessage.getText:()Ljava/lang/String;
invokespecial org.jruby.ir.operands.FrozenString.<init>:(Ljava/lang/String;)V
areturn
4: StackMap locals:
StackMap stack:
new org.jruby.ir.operands.FrozenString
dup
getstatic org.jruby.util.DefinedMessage.LOCAL_VARIABLE:Lorg/jruby/util/DefinedMessage;
invokevirtual org.jruby.util.DefinedMessage.getText:()Ljava/lang/String;
invokespecial org.jruby.ir.operands.FrozenString.<init>:(Ljava/lang/String;)V
areturn
5: StackMap locals:
StackMap stack:
new org.jruby.ir.operands.FrozenString
dup
getstatic org.jruby.util.DefinedMessage.METHOD:Lorg/jruby/util/DefinedMessage;
invokevirtual org.jruby.util.DefinedMessage.getText:()Ljava/lang/String;
invokespecial org.jruby.ir.operands.FrozenString.<init>:(Ljava/lang/String;)V
areturn
6: StackMap locals:
StackMap stack:
new org.jruby.ir.operands.FrozenString
dup
getstatic org.jruby.util.DefinedMessage.NIL:Lorg/jruby/util/DefinedMessage;
invokevirtual org.jruby.util.DefinedMessage.getText:()Ljava/lang/String;
invokespecial org.jruby.ir.operands.FrozenString.<init>:(Ljava/lang/String;)V
areturn
7: StackMap locals:
StackMap stack:
new org.jruby.ir.operands.FrozenString
dup
getstatic org.jruby.util.DefinedMessage.SELF:Lorg/jruby/util/DefinedMessage;
invokevirtual org.jruby.util.DefinedMessage.getText:()Ljava/lang/String;
invokespecial org.jruby.ir.operands.FrozenString.<init>:(Ljava/lang/String;)V
areturn
8: StackMap locals:
StackMap stack:
new org.jruby.ir.operands.FrozenString
dup
getstatic org.jruby.util.DefinedMessage.TRUE:Lorg/jruby/util/DefinedMessage;
invokevirtual org.jruby.util.DefinedMessage.getText:()Ljava/lang/String;
invokespecial org.jruby.ir.operands.FrozenString.<init>:(Ljava/lang/String;)V
areturn
9: StackMap locals:
StackMap stack:
aload 1
checkcast org.jruby.ast.ArrayNode
astore 2
start local 2 10: aload 0
invokevirtual org.jruby.ir.IRBuilder.getNewLabel:()Lorg/jruby/ir/operands/Label;
astore 3
start local 3 11: aload 0
invokevirtual org.jruby.ir.IRBuilder.getNewLabel:()Lorg/jruby/ir/operands/Label;
astore 4
start local 4 12: aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 5
start local 5 13: aload 2
invokevirtual org.jruby.ast.ArrayNode.children:()[Lorg/jruby/ast/Node;
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 18
StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.Node org.jruby.ast.ArrayNode org.jruby.ir.operands.Label org.jruby.ir.operands.Label org.jruby.ir.operands.Variable top int int org.jruby.ast.Node[]
StackMap stack:
14: aload 9
iload 7
aaload
astore 6
start local 6 15: aload 0
aload 6
invokevirtual org.jruby.ir.IRBuilder.buildGetDefinition:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 10
start local 10 16: aload 0
aload 10
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getNil:()Lorg/jruby/ir/operands/Nil;
aload 3
invokestatic org.jruby.ir.IRBuilder.createBranch:(Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Label;)Lorg/jruby/ir/instructions/Instr;
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
end local 10 end local 6 17: iinc 7 1
StackMap locals:
StackMap stack:
18: iload 7
iload 8
if_icmplt 14
19: aload 0
new org.jruby.ir.instructions.CopyInstr
dup
aload 5
new org.jruby.ir.operands.FrozenString
dup
getstatic org.jruby.util.DefinedMessage.EXPRESSION:Lorg/jruby/util/DefinedMessage;
invokevirtual org.jruby.util.DefinedMessage.getText:()Ljava/lang/String;
invokespecial org.jruby.ir.operands.FrozenString.<init>:(Ljava/lang/String;)V
invokespecial org.jruby.ir.instructions.CopyInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
20: aload 0
new org.jruby.ir.instructions.JumpInstr
dup
aload 4
invokespecial org.jruby.ir.instructions.JumpInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
21: aload 0
new org.jruby.ir.instructions.LabelInstr
dup
aload 3
invokespecial org.jruby.ir.instructions.LabelInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
22: aload 0
new org.jruby.ir.instructions.CopyInstr
dup
aload 5
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getNil:()Lorg/jruby/ir/operands/Nil;
invokespecial org.jruby.ir.instructions.CopyInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
23: aload 0
new org.jruby.ir.instructions.LabelInstr
dup
aload 4
invokespecial org.jruby.ir.instructions.LabelInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
24: aload 5
areturn
end local 5 end local 4 end local 3 end local 2 25: StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.Node
StackMap stack:
aload 0
26: new org.jruby.ir.instructions.RuntimeHelperCall
dup
27: aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
28: getstatic org.jruby.ir.instructions.RuntimeHelperCall$Methods.IS_DEFINED_BACKREF:Lorg/jruby/ir/instructions/RuntimeHelperCall$Methods;
29: iconst_1
anewarray org.jruby.ir.operands.Operand
dup
iconst_0
new org.jruby.ir.operands.FrozenString
dup
getstatic org.jruby.util.DefinedMessage.GLOBAL_VARIABLE:Lorg/jruby/util/DefinedMessage;
invokevirtual org.jruby.util.DefinedMessage.getText:()Ljava/lang/String;
invokespecial org.jruby.ir.operands.FrozenString.<init>:(Ljava/lang/String;)V
aastore
30: invokespecial org.jruby.ir.instructions.RuntimeHelperCall.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/instructions/RuntimeHelperCall$Methods;[Lorg/jruby/ir/operands/Operand;)V
31: invokevirtual org.jruby.ir.IRBuilder.addResultInstr:(Lorg/jruby/ir/instructions/ResultInstr;)Lorg/jruby/ir/operands/Variable;
areturn
32: StackMap locals:
StackMap stack:
aload 0
33: new org.jruby.ir.instructions.RuntimeHelperCall
dup
34: aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
35: getstatic org.jruby.ir.instructions.RuntimeHelperCall$Methods.IS_DEFINED_GLOBAL:Lorg/jruby/ir/instructions/RuntimeHelperCall$Methods;
36: iconst_2
anewarray org.jruby.ir.operands.Operand
dup
iconst_0
37: new org.jruby.ir.operands.FrozenString
dup
aload 1
checkcast org.jruby.ast.GlobalVarNode
invokevirtual org.jruby.ast.GlobalVarNode.getName:()Lorg/jruby/RubySymbol;
invokespecial org.jruby.ir.operands.FrozenString.<init>:(Lorg/jruby/RubySymbol;)V
aastore
dup
iconst_1
38: new org.jruby.ir.operands.FrozenString
dup
getstatic org.jruby.util.DefinedMessage.GLOBAL_VARIABLE:Lorg/jruby/util/DefinedMessage;
invokevirtual org.jruby.util.DefinedMessage.getText:()Ljava/lang/String;
invokespecial org.jruby.ir.operands.FrozenString.<init>:(Ljava/lang/String;)V
aastore
39: invokespecial org.jruby.ir.instructions.RuntimeHelperCall.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/instructions/RuntimeHelperCall$Methods;[Lorg/jruby/ir/operands/Operand;)V
40: invokevirtual org.jruby.ir.IRBuilder.addResultInstr:(Lorg/jruby/ir/instructions/ResultInstr;)Lorg/jruby/ir/operands/Variable;
areturn
41: StackMap locals:
StackMap stack:
aload 0
42: new org.jruby.ir.instructions.RuntimeHelperCall
dup
43: aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
44: getstatic org.jruby.ir.instructions.RuntimeHelperCall$Methods.IS_DEFINED_NTH_REF:Lorg/jruby/ir/instructions/RuntimeHelperCall$Methods;
45: iconst_2
anewarray org.jruby.ir.operands.Operand
dup
iconst_0
46: aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
aload 1
checkcast org.jruby.ast.NthRefNode
invokevirtual org.jruby.ast.NthRefNode.getMatchNumber:()I
i2l
invokevirtual org.jruby.ir.IRManager.newFixnum:(J)Lorg/jruby/ir/operands/Fixnum;
aastore
dup
iconst_1
47: new org.jruby.ir.operands.FrozenString
dup
getstatic org.jruby.util.DefinedMessage.GLOBAL_VARIABLE:Lorg/jruby/util/DefinedMessage;
invokevirtual org.jruby.util.DefinedMessage.getText:()Ljava/lang/String;
invokespecial org.jruby.ir.operands.FrozenString.<init>:(Ljava/lang/String;)V
aastore
48: invokespecial org.jruby.ir.instructions.RuntimeHelperCall.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/instructions/RuntimeHelperCall$Methods;[Lorg/jruby/ir/operands/Operand;)V
49: invokevirtual org.jruby.ir.IRBuilder.addResultInstr:(Lorg/jruby/ir/instructions/ResultInstr;)Lorg/jruby/ir/operands/Variable;
areturn
50: StackMap locals:
StackMap stack:
aload 0
51: new org.jruby.ir.instructions.RuntimeHelperCall
dup
52: aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
53: getstatic org.jruby.ir.instructions.RuntimeHelperCall$Methods.IS_DEFINED_INSTANCE_VAR:Lorg/jruby/ir/instructions/RuntimeHelperCall$Methods;
54: iconst_3
anewarray org.jruby.ir.operands.Operand
dup
iconst_0
55: aload 0
invokevirtual org.jruby.ir.IRBuilder.buildSelf:()Lorg/jruby/ir/operands/Variable;
aastore
dup
iconst_1
56: new org.jruby.ir.operands.FrozenString
dup
aload 1
checkcast org.jruby.ast.InstVarNode
invokevirtual org.jruby.ast.InstVarNode.getName:()Lorg/jruby/RubySymbol;
invokespecial org.jruby.ir.operands.FrozenString.<init>:(Lorg/jruby/RubySymbol;)V
aastore
dup
iconst_2
57: new org.jruby.ir.operands.FrozenString
dup
getstatic org.jruby.util.DefinedMessage.INSTANCE_VARIABLE:Lorg/jruby/util/DefinedMessage;
invokevirtual org.jruby.util.DefinedMessage.getText:()Ljava/lang/String;
invokespecial org.jruby.ir.operands.FrozenString.<init>:(Ljava/lang/String;)V
aastore
58: invokespecial org.jruby.ir.instructions.RuntimeHelperCall.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/instructions/RuntimeHelperCall$Methods;[Lorg/jruby/ir/operands/Operand;)V
59: invokevirtual org.jruby.ir.IRBuilder.addResultInstr:(Lorg/jruby/ir/instructions/ResultInstr;)Lorg/jruby/ir/operands/Variable;
areturn
60: StackMap locals:
StackMap stack:
aload 0
61: new org.jruby.ir.instructions.RuntimeHelperCall
dup
62: aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
63: getstatic org.jruby.ir.instructions.RuntimeHelperCall$Methods.IS_DEFINED_CLASS_VAR:Lorg/jruby/ir/instructions/RuntimeHelperCall$Methods;
64: iconst_3
anewarray org.jruby.ir.operands.Operand
dup
iconst_0
65: aload 0
invokevirtual org.jruby.ir.IRBuilder.classVarDefinitionContainer:()Lorg/jruby/ir/operands/Operand;
aastore
dup
iconst_1
66: new org.jruby.ir.operands.FrozenString
dup
aload 1
checkcast org.jruby.ast.ClassVarNode
invokevirtual org.jruby.ast.ClassVarNode.getName:()Lorg/jruby/RubySymbol;
invokespecial org.jruby.ir.operands.FrozenString.<init>:(Lorg/jruby/RubySymbol;)V
aastore
dup
iconst_2
67: new org.jruby.ir.operands.FrozenString
dup
getstatic org.jruby.util.DefinedMessage.CLASS_VARIABLE:Lorg/jruby/util/DefinedMessage;
invokevirtual org.jruby.util.DefinedMessage.getText:()Ljava/lang/String;
invokespecial org.jruby.ir.operands.FrozenString.<init>:(Ljava/lang/String;)V
aastore
68: invokespecial org.jruby.ir.instructions.RuntimeHelperCall.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/instructions/RuntimeHelperCall$Methods;[Lorg/jruby/ir/operands/Operand;)V
69: invokevirtual org.jruby.ir.IRBuilder.addResultInstr:(Lorg/jruby/ir/instructions/ResultInstr;)Lorg/jruby/ir/operands/Variable;
areturn
70: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.ir.IRBuilder.getNewLabel:()Lorg/jruby/ir/operands/Label;
astore 2
start local 2 71: aload 0
72: new org.jruby.ir.instructions.RuntimeHelperCall
dup
73: aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
74: getstatic org.jruby.ir.instructions.RuntimeHelperCall$Methods.IS_DEFINED_SUPER:Lorg/jruby/ir/instructions/RuntimeHelperCall$Methods;
75: iconst_2
anewarray org.jruby.ir.operands.Operand
dup
iconst_0
76: aload 0
invokevirtual org.jruby.ir.IRBuilder.buildSelf:()Lorg/jruby/ir/operands/Variable;
aastore
dup
iconst_1
77: new org.jruby.ir.operands.FrozenString
dup
getstatic org.jruby.util.DefinedMessage.SUPER:Lorg/jruby/util/DefinedMessage;
invokevirtual org.jruby.util.DefinedMessage.getText:()Ljava/lang/String;
invokespecial org.jruby.ir.operands.FrozenString.<init>:(Ljava/lang/String;)V
aastore
78: invokespecial org.jruby.ir.instructions.RuntimeHelperCall.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/instructions/RuntimeHelperCall$Methods;[Lorg/jruby/ir/operands/Operand;)V
79: invokevirtual org.jruby.ir.IRBuilder.addResultInstr:(Lorg/jruby/ir/instructions/ResultInstr;)Lorg/jruby/ir/operands/Variable;
astore 3
start local 3 80: aload 0
aload 3
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getNil:()Lorg/jruby/ir/operands/Nil;
aload 2
invokestatic org.jruby.ir.IRBuilder.createBranch:(Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Label;)Lorg/jruby/ir/instructions/Instr;
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
81: aload 0
aload 1
checkcast org.jruby.ast.SuperNode
invokevirtual org.jruby.ast.SuperNode.getArgsNode:()Lorg/jruby/ast/Node;
getstatic org.jruby.util.DefinedMessage.SUPER:Lorg/jruby/util/DefinedMessage;
invokevirtual org.jruby.util.DefinedMessage.getText:()Ljava/lang/String;
invokevirtual org.jruby.ir.IRBuilder.buildGetArgumentDefinition:(Lorg/jruby/ast/Node;Ljava/lang/String;)Lorg/jruby/ir/operands/Operand;
astore 4
start local 4 82: aload 0
aload 2
aload 4
invokevirtual org.jruby.ir.IRBuilder.buildDefnCheckIfThenPaths:(Lorg/jruby/ir/operands/Label;Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/operands/Variable;
areturn
end local 4 end local 3 end local 2 83: StackMap locals:
StackMap stack:
aload 0
84: new org.jruby.ir.instructions.RuntimeHelperCall
dup
85: aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
86: getstatic org.jruby.ir.instructions.RuntimeHelperCall$Methods.IS_DEFINED_METHOD:Lorg/jruby/ir/instructions/RuntimeHelperCall$Methods;
87: iconst_4
anewarray org.jruby.ir.operands.Operand
dup
iconst_0
88: aload 0
invokevirtual org.jruby.ir.IRBuilder.buildSelf:()Lorg/jruby/ir/operands/Variable;
aastore
dup
iconst_1
89: new org.jruby.ir.operands.FrozenString
dup
aload 1
checkcast org.jruby.ast.VCallNode
invokevirtual org.jruby.ast.VCallNode.getName:()Lorg/jruby/RubySymbol;
invokespecial org.jruby.ir.operands.FrozenString.<init>:(Lorg/jruby/RubySymbol;)V
aastore
dup
iconst_2
90: aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getFalse:()Lorg/jruby/ir/operands/Boolean;
aastore
dup
iconst_3
91: new org.jruby.ir.operands.FrozenString
dup
getstatic org.jruby.util.DefinedMessage.METHOD:Lorg/jruby/util/DefinedMessage;
invokevirtual org.jruby.util.DefinedMessage.getText:()Ljava/lang/String;
invokespecial org.jruby.ir.operands.FrozenString.<init>:(Ljava/lang/String;)V
aastore
92: invokespecial org.jruby.ir.instructions.RuntimeHelperCall.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/instructions/RuntimeHelperCall$Methods;[Lorg/jruby/ir/operands/Operand;)V
93: invokevirtual org.jruby.ir.IRBuilder.addResultInstr:(Lorg/jruby/ir/instructions/ResultInstr;)Lorg/jruby/ir/operands/Variable;
areturn
94: StackMap locals:
StackMap stack:
aload 0
new org.jruby.ir.instructions.BlockGivenInstr
dup
aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
aload 0
invokevirtual org.jruby.ir.IRBuilder.getYieldClosureVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
invokespecial org.jruby.ir.instructions.BlockGivenInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)V
getstatic org.jruby.util.DefinedMessage.YIELD:Lorg/jruby/util/DefinedMessage;
invokevirtual org.jruby.util.DefinedMessage.getText:()Ljava/lang/String;
invokevirtual org.jruby.ir.IRBuilder.buildDefinitionCheck:(Lorg/jruby/ir/instructions/ResultInstr;Ljava/lang/String;)Lorg/jruby/ir/operands/Variable;
areturn
95: StackMap locals:
StackMap stack:
aload 0
96: new org.jruby.ir.instructions.RuntimeHelperCall
dup
97: aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
98: getstatic org.jruby.ir.instructions.RuntimeHelperCall$Methods.IS_DEFINED_SUPER:Lorg/jruby/ir/instructions/RuntimeHelperCall$Methods;
99: iconst_2
anewarray org.jruby.ir.operands.Operand
dup
iconst_0
100: aload 0
invokevirtual org.jruby.ir.IRBuilder.buildSelf:()Lorg/jruby/ir/operands/Variable;
aastore
dup
iconst_1
101: new org.jruby.ir.operands.FrozenString
dup
getstatic org.jruby.util.DefinedMessage.SUPER:Lorg/jruby/util/DefinedMessage;
invokevirtual org.jruby.util.DefinedMessage.getText:()Ljava/lang/String;
invokespecial org.jruby.ir.operands.FrozenString.<init>:(Ljava/lang/String;)V
aastore
102: invokespecial org.jruby.ir.instructions.RuntimeHelperCall.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/instructions/RuntimeHelperCall$Methods;[Lorg/jruby/ir/operands/Operand;)V
103: invokevirtual org.jruby.ir.IRBuilder.addResultInstr:(Lorg/jruby/ir/instructions/ResultInstr;)Lorg/jruby/ir/operands/Variable;
areturn
104: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.ir.IRBuilder.getNewLabel:()Lorg/jruby/ir/operands/Label;
astore 2
start local 2 105: aload 0
invokevirtual org.jruby.ir.IRBuilder.getNewLabel:()Lorg/jruby/ir/operands/Label;
astore 3
start local 3 106: aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 4
start local 4 107: aload 1
checkcast org.jruby.ast.ConstNode
invokevirtual org.jruby.ast.ConstNode.getName:()Lorg/jruby/RubySymbol;
astore 5
start local 5 108: aload 0
new org.jruby.ir.instructions.LexicalSearchConstInstr
dup
aload 4
aload 0
invokevirtual org.jruby.ir.IRBuilder.startingSearchScope:()Lorg/jruby/ir/operands/Operand;
aload 5
invokespecial org.jruby.ir.instructions.LexicalSearchConstInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;Lorg/jruby/RubySymbol;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
109: aload 0
aload 2
aload 4
getstatic org.jruby.ir.operands.UndefinedValue.UNDEFINED:Lorg/jruby/ir/operands/UndefinedValue;
invokestatic org.jruby.ir.instructions.BNEInstr.create:(Lorg/jruby/ir/operands/Label;Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/instructions/BranchInstr;
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
110: aload 0
new org.jruby.ir.instructions.InheritanceSearchConstInstr
dup
aload 4
aload 0
invokevirtual org.jruby.ir.IRBuilder.findContainerModule:()Lorg/jruby/ir/operands/Operand;
aload 5
invokespecial org.jruby.ir.instructions.InheritanceSearchConstInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;Lorg/jruby/RubySymbol;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
111: aload 0
aload 2
aload 4
getstatic org.jruby.ir.operands.UndefinedValue.UNDEFINED:Lorg/jruby/ir/operands/UndefinedValue;
invokestatic org.jruby.ir.instructions.BNEInstr.create:(Lorg/jruby/ir/operands/Label;Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/instructions/BranchInstr;
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
112: aload 0
new org.jruby.ir.instructions.CopyInstr
dup
aload 4
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getNil:()Lorg/jruby/ir/operands/Nil;
invokespecial org.jruby.ir.instructions.CopyInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
113: aload 0
new org.jruby.ir.instructions.JumpInstr
dup
aload 3
invokespecial org.jruby.ir.instructions.JumpInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
114: aload 0
new org.jruby.ir.instructions.LabelInstr
dup
aload 2
invokespecial org.jruby.ir.instructions.LabelInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
115: aload 0
new org.jruby.ir.instructions.CopyInstr
dup
aload 4
new org.jruby.ir.operands.FrozenString
dup
getstatic org.jruby.util.DefinedMessage.CONSTANT:Lorg/jruby/util/DefinedMessage;
invokevirtual org.jruby.util.DefinedMessage.getText:()Ljava/lang/String;
invokespecial org.jruby.ir.operands.FrozenString.<init>:(Ljava/lang/String;)V
invokespecial org.jruby.ir.instructions.CopyInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
116: aload 0
new org.jruby.ir.instructions.LabelInstr
dup
aload 3
invokespecial org.jruby.ir.instructions.LabelInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
117: aload 4
areturn
end local 5 end local 4 end local 3 end local 2 118: StackMap locals:
StackMap stack:
aload 1
checkcast org.jruby.ast.Colon3Node
astore 2
start local 2 119: aload 2
invokevirtual org.jruby.ast.Colon3Node.getName:()Lorg/jruby/RubySymbol;
astore 3
start local 3 120: aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 4
start local 4 121: aload 0
new org.jruby.ir.instructions.defined.GetErrorInfoInstr
dup
aload 4
invokespecial org.jruby.ir.instructions.defined.GetErrorInfoInstr.<init>:(Lorg/jruby/ir/operands/Variable;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
122: new org.jruby.ir.IRBuilder$3
dup
aload 0
aload 2
aload 3
invokespecial org.jruby.ir.IRBuilder$3.<init>:(Lorg/jruby/ir/IRBuilder;Lorg/jruby/ast/Colon3Node;Lorg/jruby/RubySymbol;)V
astore 5
start local 5 123: new org.jruby.ir.IRBuilder$4
dup
aload 0
aload 4
invokespecial org.jruby.ir.IRBuilder$4.<init>:(Lorg/jruby/ir/IRBuilder;Lorg/jruby/ir/operands/Variable;)V
astore 6
start local 6 124: aload 0
aload 5
aload 6
invokevirtual org.jruby.ir.IRBuilder.protectCodeWithRescue:(Lorg/jruby/ir/IRBuilder$CodeBlock;Lorg/jruby/ir/IRBuilder$CodeBlock;)Lorg/jruby/ir/operands/Operand;
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 125: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.ir.IRBuilder.getNewLabel:()Lorg/jruby/ir/operands/Label;
astore 2
start local 2 126: aload 0
127: new org.jruby.ir.instructions.RuntimeHelperCall
dup
128: aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
129: getstatic org.jruby.ir.instructions.RuntimeHelperCall$Methods.IS_DEFINED_METHOD:Lorg/jruby/ir/instructions/RuntimeHelperCall$Methods;
130: iconst_4
anewarray org.jruby.ir.operands.Operand
dup
iconst_0
131: aload 0
invokevirtual org.jruby.ir.IRBuilder.buildSelf:()Lorg/jruby/ir/operands/Variable;
aastore
dup
iconst_1
132: new org.jruby.ir.operands.Symbol
dup
aload 1
checkcast org.jruby.ast.FCallNode
invokevirtual org.jruby.ast.FCallNode.getName:()Lorg/jruby/RubySymbol;
invokespecial org.jruby.ir.operands.Symbol.<init>:(Lorg/jruby/RubySymbol;)V
aastore
dup
iconst_2
133: aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getFalse:()Lorg/jruby/ir/operands/Boolean;
aastore
dup
iconst_3
134: new org.jruby.ir.operands.FrozenString
dup
getstatic org.jruby.util.DefinedMessage.METHOD:Lorg/jruby/util/DefinedMessage;
invokevirtual org.jruby.util.DefinedMessage.getText:()Ljava/lang/String;
invokespecial org.jruby.ir.operands.FrozenString.<init>:(Ljava/lang/String;)V
aastore
135: invokespecial org.jruby.ir.instructions.RuntimeHelperCall.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/instructions/RuntimeHelperCall$Methods;[Lorg/jruby/ir/operands/Operand;)V
136: invokevirtual org.jruby.ir.IRBuilder.addResultInstr:(Lorg/jruby/ir/instructions/ResultInstr;)Lorg/jruby/ir/operands/Variable;
astore 3
start local 3 137: aload 0
aload 3
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getNil:()Lorg/jruby/ir/operands/Nil;
aload 2
invokestatic org.jruby.ir.IRBuilder.createBranch:(Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Label;)Lorg/jruby/ir/instructions/Instr;
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
138: aload 0
aload 1
checkcast org.jruby.ast.FCallNode
invokevirtual org.jruby.ast.FCallNode.getArgsNode:()Lorg/jruby/ast/Node;
ldc "method"
invokevirtual org.jruby.ir.IRBuilder.buildGetArgumentDefinition:(Lorg/jruby/ast/Node;Ljava/lang/String;)Lorg/jruby/ir/operands/Operand;
astore 4
start local 4 139: aload 0
aload 2
aload 4
invokevirtual org.jruby.ir.IRBuilder.buildDefnCheckIfThenPaths:(Lorg/jruby/ir/operands/Label;Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/operands/Variable;
areturn
end local 4 end local 3 end local 2 140: StackMap locals:
StackMap stack:
aload 1
checkcast org.jruby.ast.CallNode
astore 2
start local 2 141: new org.jruby.ir.IRBuilder$5
dup
aload 0
aload 2
invokespecial org.jruby.ir.IRBuilder$5.<init>:(Lorg/jruby/ir/IRBuilder;Lorg/jruby/ast/CallNode;)V
astore 3
start local 3 142: new org.jruby.ir.IRBuilder$6
dup
aload 0
invokespecial org.jruby.ir.IRBuilder$6.<init>:(Lorg/jruby/ir/IRBuilder;)V
astore 4
start local 4 143: aload 0
aload 3
aload 4
invokevirtual org.jruby.ir.IRBuilder.protectCodeWithRescue:(Lorg/jruby/ir/IRBuilder$CodeBlock;Lorg/jruby/ir/IRBuilder$CodeBlock;)Lorg/jruby/ir/operands/Operand;
areturn
end local 4 end local 3 end local 2 144: StackMap locals:
StackMap stack:
aload 1
checkcast org.jruby.ast.AttrAssignNode
astore 2
start local 2 145: new org.jruby.ir.IRBuilder$7
dup
aload 0
aload 2
invokespecial org.jruby.ir.IRBuilder$7.<init>:(Lorg/jruby/ir/IRBuilder;Lorg/jruby/ast/AttrAssignNode;)V
astore 3
start local 3 146: new org.jruby.ir.IRBuilder$8
dup
aload 0
invokespecial org.jruby.ir.IRBuilder$8.<init>:(Lorg/jruby/ir/IRBuilder;)V
astore 4
start local 4 147: aload 0
aload 3
aload 4
invokevirtual org.jruby.ir.IRBuilder.protectCodeWithRescue:(Lorg/jruby/ir/IRBuilder$CodeBlock;Lorg/jruby/ir/IRBuilder$CodeBlock;)Lorg/jruby/ir/operands/Operand;
areturn
end local 4 end local 3 end local 2 148: StackMap locals:
StackMap stack:
new org.jruby.ir.operands.FrozenString
dup
ldc "expression"
invokespecial org.jruby.ir.operands.FrozenString.<init>:(Ljava/lang/String;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 149 0 this Lorg/jruby/ir/IRBuilder;
0 149 1 node Lorg/jruby/ast/Node;
10 25 2 array Lorg/jruby/ast/ArrayNode;
11 25 3 undefLabel Lorg/jruby/ir/operands/Label;
12 25 4 doneLabel Lorg/jruby/ir/operands/Label;
13 25 5 tmpVar Lorg/jruby/ir/operands/Variable;
15 17 6 elt Lorg/jruby/ast/Node;
16 17 10 result Lorg/jruby/ir/operands/Operand;
71 83 2 undefLabel Lorg/jruby/ir/operands/Label;
80 83 3 tmpVar Lorg/jruby/ir/operands/Variable;
82 83 4 superDefnVal Lorg/jruby/ir/operands/Operand;
105 118 2 defLabel Lorg/jruby/ir/operands/Label;
106 118 3 doneLabel Lorg/jruby/ir/operands/Label;
107 118 4 tmpVar Lorg/jruby/ir/operands/Variable;
108 118 5 constName Lorg/jruby/RubySymbol;
119 125 2 colon Lorg/jruby/ast/Colon3Node;
120 125 3 name Lorg/jruby/RubySymbol;
121 125 4 errInfo Lorg/jruby/ir/operands/Variable;
123 125 5 protectedCode Lorg/jruby/ir/IRBuilder$CodeBlock;
124 125 6 rescueBlock Lorg/jruby/ir/IRBuilder$CodeBlock;
126 140 2 undefLabel Lorg/jruby/ir/operands/Label;
137 140 3 tmpVar Lorg/jruby/ir/operands/Variable;
139 140 4 argsCheckDefn Lorg/jruby/ir/operands/Operand;
141 144 2 callNode Lorg/jruby/ast/CallNode;
142 144 3 protectedCode Lorg/jruby/ir/IRBuilder$CodeBlock;
143 144 4 rescueBlock Lorg/jruby/ir/IRBuilder$CodeBlock;
145 148 2 attrAssign Lorg/jruby/ast/AttrAssignNode;
146 148 3 protectedCode Lorg/jruby/ir/IRBuilder$CodeBlock;
147 148 4 rescueBlock Lorg/jruby/ir/IRBuilder$CodeBlock;
MethodParameters:
Name Flags
node
protected org.jruby.ir.operands.Variable buildDefnCheckIfThenPaths(org.jruby.ir.operands.Label, org.jruby.ir.operands.Operand);
descriptor: (Lorg/jruby/ir/operands/Label;Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/operands/Variable;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.jruby.ir.IRBuilder.getNewLabel:()Lorg/jruby/ir/operands/Label;
astore 3
start local 3 1: aload 0
aload 2
invokevirtual org.jruby.ir.IRBuilder.getValueInTemporaryVariable:(Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/operands/Variable;
astore 4
start local 4 2: aload 0
new org.jruby.ir.instructions.JumpInstr
dup
aload 3
invokespecial org.jruby.ir.instructions.JumpInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
3: aload 0
new org.jruby.ir.instructions.LabelInstr
dup
aload 1
invokespecial org.jruby.ir.instructions.LabelInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
4: aload 0
new org.jruby.ir.instructions.CopyInstr
dup
aload 4
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getNil:()Lorg/jruby/ir/operands/Nil;
invokespecial org.jruby.ir.instructions.CopyInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
5: aload 0
new org.jruby.ir.instructions.LabelInstr
dup
aload 3
invokespecial org.jruby.ir.instructions.LabelInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
6: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/jruby/ir/IRBuilder;
0 7 1 undefLabel Lorg/jruby/ir/operands/Label;
0 7 2 defVal Lorg/jruby/ir/operands/Operand;
1 7 3 defLabel Lorg/jruby/ir/operands/Label;
2 7 4 tmpVar Lorg/jruby/ir/operands/Variable;
MethodParameters:
Name Flags
undefLabel
defVal
protected org.jruby.ir.operands.Variable buildDefinitionCheck(org.jruby.ir.instructions.ResultInstr, java.lang.String);
descriptor: (Lorg/jruby/ir/instructions/ResultInstr;Ljava/lang/String;)Lorg/jruby/ir/operands/Variable;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.jruby.ir.IRBuilder.getNewLabel:()Lorg/jruby/ir/operands/Label;
astore 3
start local 3 1: aload 0
aload 1
checkcast org.jruby.ir.instructions.Instr
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
2: aload 0
aload 1
invokeinterface org.jruby.ir.instructions.ResultInstr.getResult:()Lorg/jruby/ir/operands/Variable;
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getFalse:()Lorg/jruby/ir/operands/Boolean;
aload 3
invokestatic org.jruby.ir.IRBuilder.createBranch:(Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Label;)Lorg/jruby/ir/instructions/Instr;
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
3: aload 0
aload 3
new org.jruby.ir.operands.FrozenString
dup
aload 2
invokespecial org.jruby.ir.operands.FrozenString.<init>:(Ljava/lang/String;)V
invokevirtual org.jruby.ir.IRBuilder.buildDefnCheckIfThenPaths:(Lorg/jruby/ir/operands/Label;Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/operands/Variable;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jruby/ir/IRBuilder;
0 4 1 definedInstr Lorg/jruby/ir/instructions/ResultInstr;
0 4 2 definedReturnValue Ljava/lang/String;
1 4 3 undefLabel Lorg/jruby/ir/operands/Label;
MethodParameters:
Name Flags
definedInstr
definedReturnValue
public org.jruby.ir.operands.Operand buildGetArgumentDefinition(org.jruby.ast.Node, java.lang.String);
descriptor: (Lorg/jruby/ast/Node;Ljava/lang/String;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 1
new org.jruby.ir.operands.StringLiteral
dup
aload 2
invokespecial org.jruby.ir.operands.StringLiteral.<init>:(Ljava/lang/String;)V
areturn
1: StackMap locals:
StackMap stack:
new org.jruby.ir.operands.FrozenString
dup
aload 2
invokespecial org.jruby.ir.operands.FrozenString.<init>:(Ljava/lang/String;)V
astore 3
start local 3 2: iconst_0
istore 4
start local 4 3: aload 0
invokevirtual org.jruby.ir.IRBuilder.getNewLabel:()Lorg/jruby/ir/operands/Label;
astore 5
start local 5 4: aload 1
instanceof org.jruby.ast.ArrayNode
ifeq 18
5: iconst_0
istore 6
start local 6 6: goto 16
7: StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.Node java.lang.String org.jruby.ir.operands.Operand int org.jruby.ir.operands.Label int
StackMap stack:
aload 1
checkcast org.jruby.ast.ArrayNode
iload 6
invokevirtual org.jruby.ast.ArrayNode.get:(I)Lorg/jruby/ast/Node;
astore 7
start local 7 8: aload 0
aload 7
invokevirtual org.jruby.ir.IRBuilder.buildGetDefinition:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 8
start local 8 9: aload 8
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getNil:()Lorg/jruby/ir/operands/Nil;
if_acmpne 12
10: aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getNil:()Lorg/jruby/ir/operands/Nil;
astore 3
11: goto 25
12: StackMap locals: org.jruby.ast.Node org.jruby.ir.operands.Operand
StackMap stack:
aload 8
invokevirtual org.jruby.ir.operands.Operand.hasKnownValue:()Z
ifne 15
13: iconst_1
istore 4
14: aload 0
aload 8
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getNil:()Lorg/jruby/ir/operands/Nil;
aload 5
invokestatic org.jruby.ir.IRBuilder.createBranch:(Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Label;)Lorg/jruby/ir/instructions/Instr;
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
end local 8 end local 7 15: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
16: iload 6
aload 1
checkcast org.jruby.ast.ArrayNode
invokevirtual org.jruby.ast.ArrayNode.size:()I
if_icmplt 7
end local 6 17: goto 25
18: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.jruby.ir.IRBuilder.buildGetDefinition:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 6
start local 6 19: aload 6
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getNil:()Lorg/jruby/ir/operands/Nil;
if_acmpne 22
20: aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getNil:()Lorg/jruby/ir/operands/Nil;
astore 3
21: goto 25
StackMap locals: org.jruby.ir.operands.Operand
StackMap stack:
22: aload 6
invokevirtual org.jruby.ir.operands.Operand.hasKnownValue:()Z
ifne 25
23: iconst_1
istore 4
24: aload 0
aload 6
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getNil:()Lorg/jruby/ir/operands/Nil;
aload 5
invokestatic org.jruby.ir.IRBuilder.createBranch:(Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Label;)Lorg/jruby/ir/instructions/Instr;
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
end local 6 25: StackMap locals:
StackMap stack:
iload 4
ifeq 26
aload 0
aload 5
aload 3
invokevirtual org.jruby.ir.IRBuilder.buildDefnCheckIfThenPaths:(Lorg/jruby/ir/operands/Label;Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/operands/Variable;
goto 27
StackMap locals:
StackMap stack:
26: aload 3
StackMap locals:
StackMap stack: org.jruby.ir.operands.Operand
27: 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 28 0 this Lorg/jruby/ir/IRBuilder;
0 28 1 node Lorg/jruby/ast/Node;
0 28 2 type Ljava/lang/String;
2 28 3 rv Lorg/jruby/ir/operands/Operand;
3 28 4 failPathReqd Z
4 28 5 failLabel Lorg/jruby/ir/operands/Label;
6 17 6 i I
8 15 7 iterNode Lorg/jruby/ast/Node;
9 15 8 def Lorg/jruby/ir/operands/Operand;
19 25 6 def Lorg/jruby/ir/operands/Operand;
MethodParameters:
Name Flags
node final
type
public org.jruby.ir.operands.Operand buildDAsgn(org.jruby.ast.DAsgnNode);
descriptor: (Lorg/jruby/ast/DAsgnNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.jruby.ast.DAsgnNode.getDepth:()I
istore 2
start local 2 1: aload 0
aload 1
invokevirtual org.jruby.ast.DAsgnNode.getName:()Lorg/jruby/RubySymbol;
iload 2
invokevirtual org.jruby.ir.IRBuilder.getLocalVariable:(Lorg/jruby/RubySymbol;I)Lorg/jruby/ir/operands/LocalVariable;
astore 3
start local 3 2: aload 0
aload 1
invokevirtual org.jruby.ast.DAsgnNode.getValueNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 4
start local 4 3: aload 3
aload 4
if_acmpne 4
aload 4
areturn
4: StackMap locals: int org.jruby.ir.operands.Variable org.jruby.ir.operands.Operand
StackMap stack:
aload 0
new org.jruby.ir.instructions.CopyInstr
dup
aload 3
aload 4
invokespecial org.jruby.ir.instructions.CopyInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
5: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/jruby/ir/IRBuilder;
0 6 1 dasgnNode Lorg/jruby/ast/DAsgnNode;
1 6 2 depth I
2 6 3 arg Lorg/jruby/ir/operands/Variable;
3 6 4 value Lorg/jruby/ir/operands/Operand;
MethodParameters:
Name Flags
dasgnNode final
protected org.jruby.ir.interpreter.InterpreterContext defineMethodInner(org.jruby.ast.DefNode, org.jruby.ir.IRScope, boolean);
descriptor: (Lorg/jruby/ast/DefNode;Lorg/jruby/ir/IRScope;Z)Lorg/jruby/ir/interpreter/InterpreterContext;
flags: (0x0004) ACC_PROTECTED
Code:
stack=8, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
iload 3
putfield org.jruby.ir.IRBuilder.needsCodeCoverage:Z
1: getstatic org.jruby.RubyInstanceConfig.FULL_TRACE_ENABLED:Z
ifeq 4
2: aload 0
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.getLine:()I
iconst_1
iadd
invokevirtual org.jruby.ir.IRManager.newLineNumber:(I)Lorg/jruby/ir/instructions/LineNumberInstr;
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
3: aload 0
new org.jruby.ir.instructions.TraceInstr
dup
getstatic org.jruby.runtime.RubyEvent.CALL:Lorg/jruby/runtime/RubyEvent;
aload 0
invokevirtual org.jruby.ir.IRBuilder.getName:()Lorg/jruby/RubySymbol;
aload 0
invokevirtual org.jruby.ir.IRBuilder.getFileName:()Ljava/lang/String;
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.getLine:()I
iconst_1
iadd
invokespecial org.jruby.ir.instructions.TraceInstr.<init>:(Lorg/jruby/runtime/RubyEvent;Lorg/jruby/RubySymbol;Ljava/lang/String;I)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.ir.IRBuilder.prepareImplicitState:()V
5: aload 2
invokevirtual org.jruby.ir.IRScope.getNearestModuleReferencingScopeDepth:()I
istore 4
start local 4 6: aload 0
new org.jruby.ir.instructions.CopyInstr
dup
aload 0
invokevirtual org.jruby.ir.IRBuilder.getCurrentScopeVariable:()Lorg/jruby/ir/operands/Variable;
getstatic org.jruby.ir.operands.CurrentScope.INSTANCE:Lorg/jruby/ir/operands/CurrentScope;
invokespecial org.jruby.ir.instructions.CopyInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
7: aload 0
8: new org.jruby.ir.instructions.CopyInstr
dup
aload 0
invokevirtual org.jruby.ir.IRBuilder.getCurrentModuleVariable:()Lorg/jruby/ir/operands/Variable;
iload 4
iconst_m1
if_icmpne 9
iconst_1
goto 10
StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.DefNode org.jruby.ir.IRScope int int
StackMap stack: org.jruby.ir.IRBuilder new 8 new 8 org.jruby.ir.operands.Variable
9: iload 4
StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.DefNode org.jruby.ir.IRScope int int
StackMap stack: org.jruby.ir.IRBuilder new 8 new 8 org.jruby.ir.operands.Variable int
10: invokestatic org.jruby.ir.operands.ScopeModule.ModuleFor:(I)Lorg/jruby/ir/operands/ScopeModule;
invokespecial org.jruby.ir.instructions.CopyInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
11: aload 0
aload 1
invokeinterface org.jruby.ast.DefNode.getArgsNode:()Lorg/jruby/ast/ArgsNode;
invokevirtual org.jruby.ir.IRBuilder.receiveMethodArgs:(Lorg/jruby/ast/ArgsNode;)V
12: aload 0
aload 1
invokeinterface org.jruby.ast.DefNode.getBodyNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 5
start local 5 13: getstatic org.jruby.RubyInstanceConfig.FULL_TRACE_ENABLED:Z
ifeq 16
14: aload 0
new org.jruby.ir.instructions.LineNumberInstr
dup
aload 1
invokeinterface org.jruby.ast.DefNode.getEndLine:()I
iconst_1
iadd
invokespecial org.jruby.ir.instructions.LineNumberInstr.<init>:(I)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
15: aload 0
new org.jruby.ir.instructions.TraceInstr
dup
getstatic org.jruby.runtime.RubyEvent.RETURN:Lorg/jruby/runtime/RubyEvent;
aload 0
invokevirtual org.jruby.ir.IRBuilder.getName:()Lorg/jruby/RubySymbol;
aload 0
invokevirtual org.jruby.ir.IRBuilder.getFileName:()Ljava/lang/String;
aload 1
invokeinterface org.jruby.ast.DefNode.getEndLine:()I
iconst_1
iadd
invokespecial org.jruby.ir.instructions.TraceInstr.<init>:(Lorg/jruby/runtime/RubyEvent;Lorg/jruby/RubySymbol;Ljava/lang/String;I)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
16: StackMap locals: org.jruby.ir.operands.Operand
StackMap stack:
aload 5
ifnull 17
aload 0
new org.jruby.ir.instructions.ReturnInstr
dup
aload 5
invokespecial org.jruby.ir.instructions.ReturnInstr.<init>:(Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
17: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
aload 0
getfield org.jruby.ir.IRBuilder.instructions:Ljava/util/List;
invokevirtual org.jruby.ir.IRScope.computeScopeFlagsEarly:(Ljava/util/List;)V
18: aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.canReceiveNonlocalReturns:()Z
ifeq 19
aload 0
invokevirtual org.jruby.ir.IRBuilder.handleNonlocalReturnInMethod:()V
19: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.ir.IRBuilder.argumentDescriptions:Ljava/util/List;
ifnonnull 22
20: getstatic org.jruby.runtime.ArgumentDescriptor.EMPTY_ARRAY:[Lorg/jruby/runtime/ArgumentDescriptor;
astore 6
start local 6 21: goto 30
end local 6 22: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.ir.IRBuilder.argumentDescriptions:Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_2
idiv
anewarray org.jruby.runtime.ArgumentDescriptor
astore 6
start local 6 23: iconst_0
istore 7
start local 7 24: goto 29
25: StackMap locals: org.jruby.runtime.ArgumentDescriptor[] int
StackMap stack:
aload 0
getfield org.jruby.ir.IRBuilder.argumentDescriptions:Ljava/util/List;
iload 7
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.jruby.runtime.ArgumentType
astore 8
start local 8 26: aload 0
getfield org.jruby.ir.IRBuilder.argumentDescriptions:Ljava/util/List;
iload 7
iconst_1
iadd
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.jruby.RubySymbol
astore 9
start local 9 27: aload 6
iload 7
iconst_2
idiv
new org.jruby.runtime.ArgumentDescriptor
dup
aload 8
aload 9
invokespecial org.jruby.runtime.ArgumentDescriptor.<init>:(Lorg/jruby/runtime/ArgumentType;Lorg/jruby/RubySymbol;)V
aastore
end local 9 end local 8 28: iinc 7 2
StackMap locals:
StackMap stack:
29: iload 7
aload 0
getfield org.jruby.ir.IRBuilder.argumentDescriptions:Ljava/util/List;
invokeinterface java.util.List.size:()I
if_icmplt 25
end local 7 30: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
checkcast org.jruby.ir.IRMethod
aload 6
invokevirtual org.jruby.ir.IRMethod.setArgumentDescriptors:([Lorg/jruby/runtime/ArgumentDescriptor;)V
31: aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
aload 0
getfield org.jruby.ir.IRBuilder.instructions:Ljava/util/List;
invokevirtual org.jruby.ir.IRScope.allocateInterpreterContext:(Ljava/util/List;)Lorg/jruby/ir/interpreter/InterpreterContext;
areturn
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 32 0 this Lorg/jruby/ir/IRBuilder;
0 32 1 defNode Lorg/jruby/ast/DefNode;
0 32 2 parent Lorg/jruby/ir/IRScope;
0 32 3 needsCodeCoverage Z
6 32 4 nearestScopeDepth I
13 32 5 rv Lorg/jruby/ir/operands/Operand;
21 22 6 argDesc [Lorg/jruby/runtime/ArgumentDescriptor;
23 32 6 argDesc [Lorg/jruby/runtime/ArgumentDescriptor;
24 30 7 i I
26 28 8 type Lorg/jruby/runtime/ArgumentType;
27 28 9 symbol Lorg/jruby/RubySymbol;
MethodParameters:
Name Flags
defNode
parent
needsCodeCoverage
private org.jruby.ir.IRMethod defineNewMethod(org.jruby.ast.MethodDefNode, boolean);
descriptor: (Lorg/jruby/ast/MethodDefNode;Z)Lorg/jruby/ir/IRMethod;
flags: (0x0002) ACC_PRIVATE
Code:
stack=10, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new org.jruby.ir.IRMethod
dup
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
aload 1
aload 1
invokevirtual org.jruby.ast.MethodDefNode.getName:()Lorg/jruby/RubySymbol;
invokevirtual org.jruby.RubySymbol.getBytes:()Lorg/jruby/util/ByteList;
iload 2
aload 1
invokevirtual org.jruby.ast.MethodDefNode.getLine:()I
1: aload 1
invokevirtual org.jruby.ast.MethodDefNode.getScope:()Lorg/jruby/parser/StaticScope;
aload 0
invokevirtual org.jruby.ir.IRBuilder.needsCodeCoverage:()Z
2: invokespecial org.jruby.ir.IRMethod.<init>:(Lorg/jruby/ir/IRManager;Lorg/jruby/ir/IRScope;Lorg/jruby/ast/DefNode;Lorg/jruby/util/ByteList;ZILorg/jruby/parser/StaticScope;Z)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/ir/IRBuilder;
0 3 1 defNode Lorg/jruby/ast/MethodDefNode;
0 3 2 isInstanceMethod Z
MethodParameters:
Name Flags
defNode
isInstanceMethod
public org.jruby.ir.operands.Operand buildDefn(org.jruby.ast.MethodDefNode);
descriptor: (Lorg/jruby/ast/MethodDefNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_1
invokevirtual org.jruby.ir.IRBuilder.defineNewMethod:(Lorg/jruby/ast/MethodDefNode;Z)Lorg/jruby/ir/IRMethod;
astore 2
start local 2 1: aload 0
new org.jruby.ir.instructions.DefineInstanceMethodInstr
dup
aload 2
invokespecial org.jruby.ir.instructions.DefineInstanceMethodInstr.<init>:(Lorg/jruby/ir/IRMethod;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
2: new org.jruby.ir.operands.Symbol
dup
aload 1
invokevirtual org.jruby.ast.MethodDefNode.getName:()Lorg/jruby/RubySymbol;
invokespecial org.jruby.ir.operands.Symbol.<init>:(Lorg/jruby/RubySymbol;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/ir/IRBuilder;
0 3 1 node Lorg/jruby/ast/MethodDefNode;
1 3 2 method Lorg/jruby/ir/IRMethod;
MethodParameters:
Name Flags
node
public org.jruby.ir.operands.Operand buildDefs(org.jruby.ast.DefsNode);
descriptor: (Lorg/jruby/ast/DefsNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.jruby.ast.DefsNode.getReceiverNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 2
start local 2 1: aload 0
aload 1
iconst_0
invokevirtual org.jruby.ir.IRBuilder.defineNewMethod:(Lorg/jruby/ast/MethodDefNode;Z)Lorg/jruby/ir/IRMethod;
astore 3
start local 3 2: aload 0
new org.jruby.ir.instructions.DefineClassMethodInstr
dup
aload 2
aload 3
invokespecial org.jruby.ir.instructions.DefineClassMethodInstr.<init>:(Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/IRMethod;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
3: new org.jruby.ir.operands.Symbol
dup
aload 1
invokevirtual org.jruby.ast.DefsNode.getName:()Lorg/jruby/RubySymbol;
invokespecial org.jruby.ir.operands.Symbol.<init>:(Lorg/jruby/RubySymbol;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jruby/ir/IRBuilder;
0 4 1 node Lorg/jruby/ast/DefsNode;
1 4 2 container Lorg/jruby/ir/operands/Operand;
2 4 3 method Lorg/jruby/ir/IRMethod;
MethodParameters:
Name Flags
node
protected org.jruby.ir.operands.LocalVariable getArgVariable(org.jruby.RubySymbol, int);
descriptor: (Lorg/jruby/RubySymbol;I)Lorg/jruby/ir/operands/LocalVariable;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
instanceof org.jruby.ir.IRFor
ifeq 1
aload 0
aload 1
iload 2
invokevirtual org.jruby.ir.IRBuilder.getLocalVariable:(Lorg/jruby/RubySymbol;I)Lorg/jruby/ir/operands/LocalVariable;
goto 2
StackMap locals:
StackMap stack:
1: aload 0
aload 1
iconst_0
invokevirtual org.jruby.ir.IRBuilder.getNewLocalVariable:(Lorg/jruby/RubySymbol;I)Lorg/jruby/ir/operands/LocalVariable;
StackMap locals:
StackMap stack: org.jruby.ir.operands.LocalVariable
2: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/ir/IRBuilder;
0 3 1 name Lorg/jruby/RubySymbol;
0 3 2 depth I
MethodParameters:
Name Flags
name
depth
private void addArgReceiveInstr(org.jruby.ir.operands.Variable, int, org.jruby.runtime.Signature);
descriptor: (Lorg/jruby/ir/operands/Variable;ILorg/jruby/runtime/Signature;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
ifnull 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: istore 4
start local 4 3: iload 4
ifeq 6
4: aload 0
new org.jruby.ir.instructions.ReceivePostReqdArgInstr
dup
aload 1
iload 2
aload 3
invokevirtual org.jruby.runtime.Signature.pre:()I
aload 3
invokevirtual org.jruby.runtime.Signature.opt:()I
aload 3
invokevirtual org.jruby.runtime.Signature.hasRest:()Z
aload 3
invokevirtual org.jruby.runtime.Signature.post:()I
invokespecial org.jruby.ir.instructions.ReceivePostReqdArgInstr.<init>:(Lorg/jruby/ir/operands/Variable;IIIZI)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
5: goto 7
6: StackMap locals: int
StackMap stack:
aload 0
new org.jruby.ir.instructions.ReceivePreReqdArgInstr
dup
aload 1
iload 2
invokespecial org.jruby.ir.instructions.ReceivePreReqdArgInstr.<init>:(Lorg/jruby/ir/operands/Variable;I)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
7: StackMap locals:
StackMap stack:
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/IRBuilder;
0 8 1 v Lorg/jruby/ir/operands/Variable;
0 8 2 argIndex I
0 8 3 signature Lorg/jruby/runtime/Signature;
3 8 4 post Z
MethodParameters:
Name Flags
v
argIndex
signature
private org.jruby.ir.operands.Variable argumentResult(org.jruby.RubySymbol);
descriptor: (Lorg/jruby/RubySymbol;)Lorg/jruby/ir/operands/Variable;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.jruby.RubySymbol.getBytes:()Lorg/jruby/util/ByteList;
invokevirtual org.jruby.util.ByteList.realSize:()I
iconst_1
if_icmpne 1
aload 1
invokevirtual org.jruby.RubySymbol.getBytes:()Lorg/jruby/util/ByteList;
iconst_0
invokevirtual org.jruby.util.ByteList.charAt:(I)C
bipush 95
if_icmpne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: istore 2
start local 2 3: iload 2
ifeq 5
aload 0
getfield org.jruby.ir.IRBuilder.underscoreVariableSeen:Z
ifeq 5
4: aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
areturn
5: StackMap locals: int
StackMap stack:
iload 2
ifeq 6
aload 0
iconst_1
putfield org.jruby.ir.IRBuilder.underscoreVariableSeen:Z
6: StackMap locals:
StackMap stack:
aload 0
aload 1
iconst_0
invokevirtual org.jruby.ir.IRBuilder.getNewLocalVariable:(Lorg/jruby/RubySymbol;I)Lorg/jruby/ir/operands/LocalVariable;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/jruby/ir/IRBuilder;
0 7 1 name Lorg/jruby/RubySymbol;
3 7 2 isUnderscore Z
MethodParameters:
Name Flags
name
public void receiveRequiredArg(org.jruby.ast.Node, int, org.jruby.runtime.Signature);
descriptor: (Lorg/jruby/ast/Node;ILorg/jruby/runtime/Signature;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: invokestatic org.jruby.ir.IRBuilder.$SWITCH_TABLE$org$jruby$ast$NodeType:()[I
aload 1
invokevirtual org.jruby.ast.Node.getNodeType:()Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
iaload
lookupswitch { // 2
5: 1
105: 5
default: 13
}
1: StackMap locals:
StackMap stack:
aload 1
checkcast org.jruby.ast.ArgumentNode
invokevirtual org.jruby.ast.ArgumentNode.getName:()Lorg/jruby/RubySymbol;
astore 4
start local 4 2: aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
instanceof org.jruby.ir.IRMethod
ifeq 3
aload 0
getstatic org.jruby.runtime.ArgumentType.req:Lorg/jruby/runtime/ArgumentType;
aload 4
invokevirtual org.jruby.ir.IRBuilder.addArgumentDescription:(Lorg/jruby/runtime/ArgumentType;Lorg/jruby/RubySymbol;)V
3: StackMap locals: org.jruby.RubySymbol
StackMap stack:
aload 0
aload 0
aload 4
invokevirtual org.jruby.ir.IRBuilder.argumentResult:(Lorg/jruby/RubySymbol;)Lorg/jruby/ir/operands/Variable;
iload 2
aload 3
invokevirtual org.jruby.ir.IRBuilder.addArgReceiveInstr:(Lorg/jruby/ir/operands/Variable;ILorg/jruby/runtime/Signature;)V
4: goto 14
end local 4 5: StackMap locals:
StackMap stack:
aload 1
checkcast org.jruby.ast.MultipleAsgnNode
astore 4
start local 4 6: aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 5
start local 5 7: aload 0
aload 5
iload 2
aload 3
invokevirtual org.jruby.ir.IRBuilder.addArgReceiveInstr:(Lorg/jruby/ir/operands/Variable;ILorg/jruby/runtime/Signature;)V
8: aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
instanceof org.jruby.ir.IRMethod
ifeq 9
aload 0
getstatic org.jruby.runtime.ArgumentType.anonreq:Lorg/jruby/runtime/ArgumentType;
aconst_null
invokevirtual org.jruby.ir.IRBuilder.addArgumentDescription:(Lorg/jruby/runtime/ArgumentType;Lorg/jruby/RubySymbol;)V
9: StackMap locals: org.jruby.ast.MultipleAsgnNode org.jruby.ir.operands.Variable
StackMap stack:
aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 6
start local 6 10: aload 0
new org.jruby.ir.instructions.ToAryInstr
dup
aload 6
aload 5
invokespecial org.jruby.ir.instructions.ToAryInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
11: aload 0
aload 4
aload 6
aconst_null
invokevirtual org.jruby.ir.IRBuilder.buildMultipleAsgn19Assignment:(Lorg/jruby/ast/MultipleAsgnNode;Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;)V
12: goto 14
end local 6 end local 5 end local 4 13: StackMap locals:
StackMap stack:
new org.jruby.compiler.NotCompilableException
dup
new java.lang.StringBuilder
dup
ldc "Can't build assignment node: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.jruby.compiler.NotCompilableException.<init>:(Ljava/lang/String;)V
athrow
14: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/jruby/ir/IRBuilder;
0 15 1 node Lorg/jruby/ast/Node;
0 15 2 argIndex I
0 15 3 signature Lorg/jruby/runtime/Signature;
2 5 4 argName Lorg/jruby/RubySymbol;
6 13 4 childNode Lorg/jruby/ast/MultipleAsgnNode;
7 13 5 v Lorg/jruby/ir/operands/Variable;
10 13 6 tmp Lorg/jruby/ir/operands/Variable;
MethodParameters:
Name Flags
node
argIndex
signature
protected void receiveNonBlockArgs(org.jruby.ast.ArgsNode);
descriptor: (Lorg/jruby/ast/ArgsNode;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=8, locals=13, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.getStaticScope:()Lorg/jruby/parser/StaticScope;
invokevirtual org.jruby.parser.StaticScope.getSignature:()Lorg/jruby/runtime/Signature;
astore 2
start local 2 1: aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
instanceof org.jruby.ir.IRMethod
ifeq 6
2: aload 0
new org.jruby.ir.instructions.CheckArityInstr
dup
aload 2
invokevirtual org.jruby.runtime.Signature.required:()I
aload 2
invokevirtual org.jruby.runtime.Signature.opt:()I
aload 2
invokevirtual org.jruby.runtime.Signature.hasRest:()Z
aload 1
invokevirtual org.jruby.ast.ArgsNode.hasKwargs:()Z
3: aload 2
invokevirtual org.jruby.runtime.Signature.keyRest:()I
invokespecial org.jruby.ir.instructions.CheckArityInstr.<init>:(IIZZI)V
4: invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
5: goto 10
StackMap locals: org.jruby.runtime.Signature
StackMap stack:
6: aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
instanceof org.jruby.ir.IRClosure
ifeq 10
aload 1
invokevirtual org.jruby.ast.ArgsNode.hasKwargs:()Z
ifeq 10
7: aload 0
new org.jruby.ir.instructions.CheckArityInstr
dup
aload 2
invokevirtual org.jruby.runtime.Signature.required:()I
aload 2
invokevirtual org.jruby.runtime.Signature.opt:()I
aload 2
invokevirtual org.jruby.runtime.Signature.hasRest:()Z
aload 1
invokevirtual org.jruby.ast.ArgsNode.hasKwargs:()Z
8: aload 2
invokevirtual org.jruby.runtime.Signature.keyRest:()I
invokespecial org.jruby.ir.instructions.CheckArityInstr.<init>:(IIZZI)V
9: invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
10: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 11: aload 1
invokevirtual org.jruby.ast.ArgsNode.getArgs:()[Lorg/jruby/ast/Node;
astore 4
start local 4 12: aload 2
invokevirtual org.jruby.runtime.Signature.pre:()I
istore 5
start local 5 13: iconst_0
istore 6
start local 6 14: goto 17
15: StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.ArgsNode org.jruby.runtime.Signature int org.jruby.ast.Node[] int int
StackMap stack:
aload 0
aload 4
iload 6
aaload
iload 3
aconst_null
invokevirtual org.jruby.ir.IRBuilder.receiveRequiredArg:(Lorg/jruby/ast/Node;ILorg/jruby/runtime/Signature;)V
16: iinc 6 1
iinc 3 1
StackMap locals:
StackMap stack:
17: iload 6
iload 5
if_icmplt 15
end local 6 18: aload 2
invokevirtual org.jruby.runtime.Signature.opt:()I
ifle 19
aload 2
invokevirtual org.jruby.runtime.Signature.opt:()I
goto 20
StackMap locals:
StackMap stack:
19: iconst_0
StackMap locals:
StackMap stack: int
20: istore 6
start local 6 21: iload 6
ifle 37
22: aload 1
invokevirtual org.jruby.ast.ArgsNode.getOptArgIndex:()I
istore 7
start local 7 23: iconst_0
istore 8
start local 8 24: goto 36
25: StackMap locals: int int int
StackMap stack:
aload 0
invokevirtual org.jruby.ir.IRBuilder.getNewLabel:()Lorg/jruby/ir/operands/Label;
astore 9
start local 9 26: aload 4
iload 7
iload 8
iadd
aaload
checkcast org.jruby.ast.OptArgNode
astore 10
start local 10 27: aload 10
invokevirtual org.jruby.ast.OptArgNode.getName:()Lorg/jruby/RubySymbol;
astore 11
start local 11 28: aload 0
aload 11
invokevirtual org.jruby.ir.IRBuilder.argumentResult:(Lorg/jruby/RubySymbol;)Lorg/jruby/ir/operands/Variable;
astore 12
start local 12 29: aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
instanceof org.jruby.ir.IRMethod
ifeq 30
aload 0
getstatic org.jruby.runtime.ArgumentType.opt:Lorg/jruby/runtime/ArgumentType;
aload 11
invokevirtual org.jruby.ir.IRBuilder.addArgumentDescription:(Lorg/jruby/runtime/ArgumentType;Lorg/jruby/RubySymbol;)V
30: StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.ArgsNode org.jruby.runtime.Signature int org.jruby.ast.Node[] int int int int org.jruby.ir.operands.Label org.jruby.ast.OptArgNode org.jruby.RubySymbol org.jruby.ir.operands.Variable
StackMap stack:
aload 0
new org.jruby.ir.instructions.ReceiveOptArgInstr
dup
aload 12
aload 2
invokevirtual org.jruby.runtime.Signature.required:()I
aload 2
invokevirtual org.jruby.runtime.Signature.pre:()I
iload 8
invokespecial org.jruby.ir.instructions.ReceiveOptArgInstr.<init>:(Lorg/jruby/ir/operands/Variable;III)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
31: aload 0
aload 9
aload 12
getstatic org.jruby.ir.operands.UndefinedValue.UNDEFINED:Lorg/jruby/ir/operands/UndefinedValue;
invokestatic org.jruby.ir.instructions.BNEInstr.create:(Lorg/jruby/ir/operands/Label;Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/instructions/BranchInstr;
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
32: aload 0
new org.jruby.ir.instructions.CopyInstr
dup
aload 12
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getNil:()Lorg/jruby/ir/operands/Nil;
invokespecial org.jruby.ir.instructions.CopyInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
33: aload 0
aload 10
invokevirtual org.jruby.ast.OptArgNode.getValue:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
pop
34: aload 0
new org.jruby.ir.instructions.LabelInstr
dup
aload 9
invokespecial org.jruby.ir.instructions.LabelInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
end local 12 end local 11 end local 10 end local 9 35: iinc 8 1
iinc 3 1
StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.ArgsNode org.jruby.runtime.Signature int org.jruby.ast.Node[] int int int int
StackMap stack:
36: iload 8
iload 6
if_icmplt 25
end local 8 end local 7 37: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.jruby.runtime.Signature.hasRest:()Z
ifeq 50
38: aload 1
invokevirtual org.jruby.ast.ArgsNode.getRestArgNode:()Lorg/jruby/ast/RestArgNode;
astore 7
start local 7 39: aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
instanceof org.jruby.ir.IRMethod
ifeq 45
40: aload 0
aload 7
invokevirtual org.jruby.ast.RestArgNode.isAnonymous:()Z
ifeq 42
41: getstatic org.jruby.runtime.ArgumentType.anonrest:Lorg/jruby/runtime/ArgumentType;
goto 43
StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.ArgsNode org.jruby.runtime.Signature int org.jruby.ast.Node[] int int org.jruby.ast.RestArgNode
StackMap stack: org.jruby.ir.IRBuilder
42: getstatic org.jruby.runtime.ArgumentType.rest:Lorg/jruby/runtime/ArgumentType;
StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.ArgsNode org.jruby.runtime.Signature int org.jruby.ast.Node[] int int org.jruby.ast.RestArgNode
StackMap stack: org.jruby.ir.IRBuilder org.jruby.runtime.ArgumentType
43: aload 7
invokevirtual org.jruby.ast.RestArgNode.getName:()Lorg/jruby/RubySymbol;
44: invokevirtual org.jruby.ir.IRBuilder.addArgumentDescription:(Lorg/jruby/runtime/ArgumentType;Lorg/jruby/RubySymbol;)V
45: StackMap locals:
StackMap stack:
aload 7
invokevirtual org.jruby.ast.RestArgNode.isAnonymous:()Z
ifeq 47
46: aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.getManager:()Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getRuntime:()Lorg/jruby/Ruby;
getstatic org.jruby.util.CommonByteLists.STAR:Lorg/jruby/util/ByteList;
invokevirtual org.jruby.Ruby.newSymbol:(Lorg/jruby/util/ByteList;)Lorg/jruby/RubySymbol;
goto 48
StackMap locals:
StackMap stack:
47: aload 7
invokevirtual org.jruby.ast.RestArgNode.getName:()Lorg/jruby/RubySymbol;
48: StackMap locals:
StackMap stack: org.jruby.RubySymbol
astore 8
start local 8 49: aload 0
new org.jruby.ir.instructions.ReceiveRestArgInstr
dup
aload 0
aload 8
invokevirtual org.jruby.ir.IRBuilder.argumentResult:(Lorg/jruby/RubySymbol;)Lorg/jruby/ir/operands/Variable;
aload 2
invokevirtual org.jruby.runtime.Signature.required:()I
iload 6
iadd
iload 3
invokespecial org.jruby.ir.instructions.ReceiveRestArgInstr.<init>:(Lorg/jruby/ir/operands/Variable;II)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
end local 8 end local 7 50: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.jruby.ast.ArgsNode.getPostCount:()I
istore 7
start local 7 51: aload 1
invokevirtual org.jruby.ast.ArgsNode.getPostIndex:()I
istore 8
start local 8 52: iconst_0
istore 9
start local 9 53: goto 56
54: StackMap locals: int int int
StackMap stack:
aload 0
aload 4
iload 8
iload 9
iadd
aaload
iload 9
aload 2
invokevirtual org.jruby.ir.IRBuilder.receiveRequiredArg:(Lorg/jruby/ast/Node;ILorg/jruby/runtime/Signature;)V
55: iinc 9 1
StackMap locals:
StackMap stack:
56: iload 9
iload 7
if_icmplt 54
end local 9 57: return
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 58 0 this Lorg/jruby/ir/IRBuilder;
0 58 1 argsNode Lorg/jruby/ast/ArgsNode;
1 58 2 signature Lorg/jruby/runtime/Signature;
11 58 3 argIndex I
12 58 4 args [Lorg/jruby/ast/Node;
13 58 5 preCount I
14 18 6 i I
21 58 6 opt I
23 37 7 optIndex I
24 37 8 j I
26 35 9 variableAssigned Lorg/jruby/ir/operands/Label;
27 35 10 optArg Lorg/jruby/ast/OptArgNode;
28 35 11 argName Lorg/jruby/RubySymbol;
29 35 12 argVar Lorg/jruby/ir/operands/Variable;
39 50 7 restArgNode Lorg/jruby/ast/RestArgNode;
49 50 8 argName Lorg/jruby/RubySymbol;
51 58 7 postCount I
52 58 8 postIndex I
53 57 9 i I
MethodParameters:
Name Flags
argsNode final
protected void receiveBlockArg(org.jruby.ast.ArgsNode);
descriptor: (Lorg/jruby/ast/ArgsNode;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.jruby.ast.ArgsNode.getBlock:()Lorg/jruby/ast/BlockArgNode;
astore 2
start local 2 1: aload 2
ifnull 8
2: aload 2
invokevirtual org.jruby.ast.BlockArgNode.getName:()Lorg/jruby/RubySymbol;
astore 3
start local 3 3: aload 0
aload 3
invokevirtual org.jruby.ir.IRBuilder.argumentResult:(Lorg/jruby/RubySymbol;)Lorg/jruby/ir/operands/Variable;
astore 4
start local 4 4: aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
instanceof org.jruby.ir.IRMethod
ifeq 5
aload 0
getstatic org.jruby.runtime.ArgumentType.block:Lorg/jruby/runtime/ArgumentType;
aload 3
invokevirtual org.jruby.ir.IRBuilder.addArgumentDescription:(Lorg/jruby/runtime/ArgumentType;Lorg/jruby/RubySymbol;)V
5: StackMap locals: org.jruby.ast.BlockArgNode org.jruby.RubySymbol org.jruby.ir.operands.Variable
StackMap stack:
aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 5
start local 5 6: aload 0
new org.jruby.ir.instructions.LoadImplicitClosureInstr
dup
aload 5
invokespecial org.jruby.ir.instructions.LoadImplicitClosureInstr.<init>:(Lorg/jruby/ir/operands/Variable;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
7: aload 0
new org.jruby.ir.instructions.ReifyClosureInstr
dup
aload 4
aload 5
invokespecial org.jruby.ir.instructions.ReifyClosureInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Variable;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
end local 5 end local 4 end local 3 8: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/jruby/ir/IRBuilder;
0 9 1 argsNode Lorg/jruby/ast/ArgsNode;
1 9 2 blockArg Lorg/jruby/ast/BlockArgNode;
3 8 3 argName Lorg/jruby/RubySymbol;
4 8 4 blockVar Lorg/jruby/ir/operands/Variable;
6 8 5 tmp Lorg/jruby/ir/operands/Variable;
MethodParameters:
Name Flags
argsNode final
private void prepareImplicitState();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getReceiveSelfInstr:()Lorg/jruby/ir/instructions/ReceiveSelfInstr;
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
1: aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
instanceof org.jruby.ir.IRMethod
ifne 2
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
instanceof org.jruby.ir.IRMetaClassBody
ifeq 4
2: StackMap locals:
StackMap stack:
aload 0
new org.jruby.ir.instructions.LoadImplicitClosureInstr
dup
aload 0
invokevirtual org.jruby.ir.IRBuilder.getYieldClosureVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
invokespecial org.jruby.ir.instructions.LoadImplicitClosureInstr.<init>:(Lorg/jruby/ir/operands/Variable;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
3: goto 5
4: StackMap locals:
StackMap stack:
aload 0
new org.jruby.ir.instructions.LoadFrameClosureInstr
dup
aload 0
invokevirtual org.jruby.ir.IRBuilder.getYieldClosureVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
invokespecial org.jruby.ir.instructions.LoadFrameClosureInstr.<init>:(Lorg/jruby/ir/operands/Variable;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
5: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/jruby/ir/IRBuilder;
public void receiveArgs(org.jruby.ast.ArgsNode);
descriptor: (Lorg/jruby/ast/ArgsNode;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=12, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.jruby.ir.IRBuilder.receiveNonBlockArgs:(Lorg/jruby/ast/ArgsNode;)V
1: aload 1
invokevirtual org.jruby.ast.ArgsNode.getArgs:()[Lorg/jruby/ast/Node;
astore 2
start local 2 2: aload 1
invokevirtual org.jruby.ast.ArgsNode.getRequiredArgsCount:()I
istore 3
start local 3 3: aload 1
invokevirtual org.jruby.ast.ArgsNode.hasKwargs:()Z
ifeq 24
4: aload 1
invokevirtual org.jruby.ast.ArgsNode.getKeywordsIndex:()I
istore 4
start local 4 5: aload 1
invokevirtual org.jruby.ast.ArgsNode.getKeywordCount:()I
istore 5
start local 5 6: iconst_0
istore 6
start local 6 7: goto 23
8: StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.ArgsNode org.jruby.ast.Node[] int int int int
StackMap stack:
aload 2
iload 4
iload 6
iadd
aaload
checkcast org.jruby.ast.KeywordArgNode
astore 7
start local 7 9: aload 7
invokevirtual org.jruby.ast.KeywordArgNode.getAssignable:()Lorg/jruby/ast/AssignableNode;
astore 8
start local 8 10: aload 8
checkcast org.jruby.ast.types.INameNode
invokeinterface org.jruby.ast.types.INameNode.getName:()Lorg/jruby/RubySymbol;
astore 9
start local 9 11: aload 0
aload 9
iconst_0
invokevirtual org.jruby.ir.IRBuilder.getNewLocalVariable:(Lorg/jruby/RubySymbol;I)Lorg/jruby/ir/operands/LocalVariable;
astore 10
start local 10 12: aload 0
invokevirtual org.jruby.ir.IRBuilder.getNewLabel:()Lorg/jruby/ir/operands/Label;
astore 11
start local 11 13: aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
instanceof org.jruby.ir.IRMethod
ifeq 14
aload 0
aload 8
aload 9
invokevirtual org.jruby.ir.IRBuilder.addKeyArgDesc:(Lorg/jruby/ast/AssignableNode;Lorg/jruby/RubySymbol;)V
14: StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.ArgsNode org.jruby.ast.Node[] int int int int org.jruby.ast.KeywordArgNode org.jruby.ast.AssignableNode org.jruby.RubySymbol org.jruby.ir.operands.Variable org.jruby.ir.operands.Label
StackMap stack:
aload 0
new org.jruby.ir.instructions.ReceiveKeywordArgInstr
dup
aload 10
aload 9
iload 3
invokespecial org.jruby.ir.instructions.ReceiveKeywordArgInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/RubySymbol;I)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
15: aload 0
aload 11
aload 10
getstatic org.jruby.ir.operands.UndefinedValue.UNDEFINED:Lorg/jruby/ir/operands/UndefinedValue;
invokestatic org.jruby.ir.instructions.BNEInstr.create:(Lorg/jruby/ir/operands/Label;Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/instructions/BranchInstr;
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
16: aload 0
aload 8
invokevirtual org.jruby.ir.IRBuilder.isRequiredKeywordArgumentValue:(Lorg/jruby/ast/AssignableNode;)Z
ifne 20
17: aload 0
new org.jruby.ir.instructions.CopyInstr
dup
aload 10
aload 0
invokevirtual org.jruby.ir.IRBuilder.buildNil:()Lorg/jruby/ir/operands/Operand;
invokespecial org.jruby.ir.instructions.CopyInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
18: aload 0
aload 8
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
pop
19: goto 21
20: StackMap locals:
StackMap stack:
aload 0
new org.jruby.ir.instructions.RaiseRequiredKeywordArgumentError
dup
aload 9
invokespecial org.jruby.ir.instructions.RaiseRequiredKeywordArgumentError.<init>:(Lorg/jruby/RubySymbol;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
21: StackMap locals:
StackMap stack:
aload 0
new org.jruby.ir.instructions.LabelInstr
dup
aload 11
invokespecial org.jruby.ir.instructions.LabelInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
end local 11 end local 10 end local 9 end local 8 end local 7 22: iinc 6 1
StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.ArgsNode org.jruby.ast.Node[] int int int int
StackMap stack:
23: iload 6
iload 5
if_icmplt 8
end local 6 end local 5 end local 4 24: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.jruby.ast.ArgsNode.getKeyRest:()Lorg/jruby/ast/KeywordRestArgNode;
astore 4
start local 4 25: aload 4
ifnull 33
26: aload 4
invokevirtual org.jruby.ast.KeywordRestArgNode.getName:()Lorg/jruby/RubySymbol;
astore 5
start local 5 27: getstatic org.jruby.runtime.ArgumentType.keyrest:Lorg/jruby/runtime/ArgumentType;
astore 6
start local 6 28: aload 5
ifnull 29
aload 5
invokevirtual org.jruby.RubySymbol.getBytes:()Lorg/jruby/util/ByteList;
invokevirtual org.jruby.util.ByteList.realSize:()I
ifne 30
StackMap locals: org.jruby.ast.KeywordRestArgNode org.jruby.RubySymbol org.jruby.runtime.ArgumentType
StackMap stack:
29: getstatic org.jruby.runtime.ArgumentType.anonkeyrest:Lorg/jruby/runtime/ArgumentType;
astore 6
30: StackMap locals:
StackMap stack:
aload 0
aload 5
iconst_0
invokevirtual org.jruby.ir.IRBuilder.getNewLocalVariable:(Lorg/jruby/RubySymbol;I)Lorg/jruby/ir/operands/LocalVariable;
astore 7
start local 7 31: aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
instanceof org.jruby.ir.IRMethod
ifeq 32
aload 0
aload 6
aload 5
invokevirtual org.jruby.ir.IRBuilder.addArgumentDescription:(Lorg/jruby/runtime/ArgumentType;Lorg/jruby/RubySymbol;)V
32: StackMap locals: org.jruby.ir.operands.Variable
StackMap stack:
aload 0
new org.jruby.ir.instructions.ReceiveKeywordRestArgInstr
dup
aload 7
iload 3
invokespecial org.jruby.ir.instructions.ReceiveKeywordRestArgInstr.<init>:(Lorg/jruby/ir/operands/Variable;I)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
end local 7 end local 6 end local 5 33: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.jruby.ir.IRBuilder.receiveBlockArg:(Lorg/jruby/ast/ArgsNode;)V
34: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 this Lorg/jruby/ir/IRBuilder;
0 35 1 argsNode Lorg/jruby/ast/ArgsNode;
2 35 2 args [Lorg/jruby/ast/Node;
3 35 3 required I
5 24 4 keywordIndex I
6 24 5 keywordsCount I
7 24 6 i I
9 22 7 kwarg Lorg/jruby/ast/KeywordArgNode;
10 22 8 kasgn Lorg/jruby/ast/AssignableNode;
11 22 9 key Lorg/jruby/RubySymbol;
12 22 10 av Lorg/jruby/ir/operands/Variable;
13 22 11 l Lorg/jruby/ir/operands/Label;
25 35 4 keyRest Lorg/jruby/ast/KeywordRestArgNode;
27 33 5 key Lorg/jruby/RubySymbol;
28 33 6 type Lorg/jruby/runtime/ArgumentType;
31 33 7 av Lorg/jruby/ir/operands/Variable;
MethodParameters:
Name Flags
argsNode final
private void addKeyArgDesc(org.jruby.ast.AssignableNode, org.jruby.RubySymbol);
descriptor: (Lorg/jruby/ast/AssignableNode;Lorg/jruby/RubySymbol;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual org.jruby.ir.IRBuilder.isRequiredKeywordArgumentValue:(Lorg/jruby/ast/AssignableNode;)Z
ifeq 3
1: aload 0
getstatic org.jruby.runtime.ArgumentType.keyreq:Lorg/jruby/runtime/ArgumentType;
aload 2
invokevirtual org.jruby.ir.IRBuilder.addArgumentDescription:(Lorg/jruby/runtime/ArgumentType;Lorg/jruby/RubySymbol;)V
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
getstatic org.jruby.runtime.ArgumentType.key:Lorg/jruby/runtime/ArgumentType;
aload 2
invokevirtual org.jruby.ir.IRBuilder.addArgumentDescription:(Lorg/jruby/runtime/ArgumentType;Lorg/jruby/RubySymbol;)V
4: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/jruby/ir/IRBuilder;
0 5 1 kasgn Lorg/jruby/ast/AssignableNode;
0 5 2 key Lorg/jruby/RubySymbol;
MethodParameters:
Name Flags
kasgn
key
private boolean isRequiredKeywordArgumentValue(org.jruby.ast.AssignableNode);
descriptor: (Lorg/jruby/ast/AssignableNode;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.jruby.ast.AssignableNode.getValueNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ast.Node.getNodeType:()Lorg/jruby/ast/NodeType;
getstatic org.jruby.ast.NodeType.REQUIRED_KEYWORD_ARGUMENT_VALUE:Lorg/jruby/ast/NodeType;
if_acmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/ir/IRBuilder;
0 2 1 kasgn Lorg/jruby/ast/AssignableNode;
MethodParameters:
Name Flags
kasgn
public void buildArgsMasgn(org.jruby.ast.Node, org.jruby.ir.operands.Operand, boolean, int, int, int, boolean);
descriptor: (Lorg/jruby/ast/Node;Lorg/jruby/ir/operands/Operand;ZIIIZ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=11, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: invokestatic org.jruby.ir.IRBuilder.$SWITCH_TABLE$org$jruby$ast$NodeType:()[I
aload 1
invokevirtual org.jruby.ast.Node.getNodeType:()Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
iaload
lookupswitch { // 3
26: 1
53: 6
105: 11
default: 21
}
1: StackMap locals:
StackMap stack:
aload 1
checkcast org.jruby.ast.DAsgnNode
astore 9
start local 9 2: aload 0
aload 9
invokevirtual org.jruby.ast.DAsgnNode.getName:()Lorg/jruby/RubySymbol;
aload 9
invokevirtual org.jruby.ast.DAsgnNode.getDepth:()I
invokevirtual org.jruby.ir.IRBuilder.getArgVariable:(Lorg/jruby/RubySymbol;I)Lorg/jruby/ir/operands/LocalVariable;
astore 8
start local 8 3: iload 7
ifeq 4
aload 0
new org.jruby.ir.instructions.RestArgMultipleAsgnInstr
dup
aload 8
aload 2
iload 4
iload 5
iload 6
invokespecial org.jruby.ir.instructions.RestArgMultipleAsgnInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;III)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
goto 22
4: StackMap locals: org.jruby.ir.operands.Variable org.jruby.ast.DAsgnNode
StackMap stack:
aload 0
new org.jruby.ir.instructions.ReqdArgMultipleAsgnInstr
dup
aload 8
aload 2
iload 4
iload 5
iload 6
invokespecial org.jruby.ir.instructions.ReqdArgMultipleAsgnInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;III)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
5: goto 22
end local 9 end local 8 6: StackMap locals:
StackMap stack:
aload 1
checkcast org.jruby.ast.LocalAsgnNode
astore 9
start local 9 7: aload 0
aload 9
invokevirtual org.jruby.ast.LocalAsgnNode.getName:()Lorg/jruby/RubySymbol;
aload 9
invokevirtual org.jruby.ast.LocalAsgnNode.getDepth:()I
invokevirtual org.jruby.ir.IRBuilder.getArgVariable:(Lorg/jruby/RubySymbol;I)Lorg/jruby/ir/operands/LocalVariable;
astore 8
start local 8 8: iload 7
ifeq 9
aload 0
new org.jruby.ir.instructions.RestArgMultipleAsgnInstr
dup
aload 8
aload 2
iload 4
iload 5
iload 6
invokespecial org.jruby.ir.instructions.RestArgMultipleAsgnInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;III)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
goto 22
9: StackMap locals: org.jruby.ir.operands.Variable org.jruby.ast.LocalAsgnNode
StackMap stack:
aload 0
new org.jruby.ir.instructions.ReqdArgMultipleAsgnInstr
dup
aload 8
aload 2
iload 4
iload 5
iload 6
invokespecial org.jruby.ir.instructions.ReqdArgMultipleAsgnInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;III)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
10: goto 22
end local 9 end local 8 11: StackMap locals:
StackMap stack:
aload 1
checkcast org.jruby.ast.MultipleAsgnNode
astore 9
start local 9 12: iload 3
ifne 19
13: aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 8
start local 8 14: iload 7
ifeq 15
aload 0
new org.jruby.ir.instructions.RestArgMultipleAsgnInstr
dup
aload 8
aload 2
iload 4
iload 5
iload 6
invokespecial org.jruby.ir.instructions.RestArgMultipleAsgnInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;III)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
goto 16
15: StackMap locals: org.jruby.ir.operands.Variable org.jruby.ast.MultipleAsgnNode
StackMap stack:
aload 0
new org.jruby.ir.instructions.ReqdArgMultipleAsgnInstr
dup
aload 8
aload 2
iload 4
iload 5
iload 6
invokespecial org.jruby.ir.instructions.ReqdArgMultipleAsgnInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;III)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
16: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 10
start local 10 17: aload 0
new org.jruby.ir.instructions.ToAryInstr
dup
aload 10
aload 8
invokespecial org.jruby.ir.instructions.ToAryInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
18: aload 10
astore 2
end local 10 end local 8 19: StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.Node org.jruby.ir.operands.Operand int int int int int top org.jruby.ast.MultipleAsgnNode
StackMap stack:
aload 0
aload 9
aload 2
aconst_null
invokevirtual org.jruby.ir.IRBuilder.buildMultipleAsgn19Assignment:(Lorg/jruby/ast/MultipleAsgnNode;Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;)V
20: goto 22
end local 9 21: StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.Node org.jruby.ir.operands.Operand int int int int int
StackMap stack:
new org.jruby.compiler.NotCompilableException
dup
new java.lang.StringBuilder
dup
ldc "Shouldn't get here: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.jruby.compiler.NotCompilableException.<init>:(Ljava/lang/String;)V
athrow
22: StackMap locals:
StackMap stack:
return
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 23 0 this Lorg/jruby/ir/IRBuilder;
0 23 1 node Lorg/jruby/ast/Node;
0 23 2 argsArray Lorg/jruby/ir/operands/Operand;
0 23 3 isMasgnRoot Z
0 23 4 preArgsCount I
0 23 5 postArgsCount I
0 23 6 index I
0 23 7 isSplat Z
3 6 8 v Lorg/jruby/ir/operands/Variable;
8 11 8 v Lorg/jruby/ir/operands/Variable;
14 19 8 v Lorg/jruby/ir/operands/Variable;
2 6 9 dynamicAsgn Lorg/jruby/ast/DAsgnNode;
7 11 9 localVariable Lorg/jruby/ast/LocalAsgnNode;
12 21 9 childNode Lorg/jruby/ast/MultipleAsgnNode;
17 19 10 tmp Lorg/jruby/ir/operands/Variable;
MethodParameters:
Name Flags
node
argsArray
isMasgnRoot
preArgsCount
postArgsCount
index
isSplat
public void buildMultipleAsgn19Assignment(org.jruby.ast.MultipleAsgnNode, org.jruby.ir.operands.Operand, org.jruby.ir.operands.Operand);
descriptor: (Lorg/jruby/ast/MultipleAsgnNode;Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=16, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokevirtual org.jruby.ast.MultipleAsgnNode.getPre:()Lorg/jruby/ast/ListNode;
astore 4
start local 4 1: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 5
start local 5 2: iconst_0
istore 6
start local 6 3: aload 4
ifnull 15
4: aload 4
invokevirtual org.jruby.ast.ListNode.children:()[Lorg/jruby/ast/Node;
dup
astore 10
arraylength
istore 9
iconst_0
istore 8
goto 14
StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.MultipleAsgnNode org.jruby.ir.operands.Operand org.jruby.ir.operands.Operand org.jruby.ast.ListNode java.util.List int top int int org.jruby.ast.Node[]
StackMap stack:
5: aload 10
iload 8
aaload
astore 7
start local 7 6: aload 3
ifnonnull 9
7: aload 0
aload 7
aload 2
iconst_0
iconst_m1
iconst_m1
iload 6
iconst_0
invokevirtual org.jruby.ir.IRBuilder.buildArgsMasgn:(Lorg/jruby/ast/Node;Lorg/jruby/ir/operands/Operand;ZIIIZ)V
8: goto 12
9: StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.MultipleAsgnNode org.jruby.ir.operands.Operand org.jruby.ir.operands.Operand org.jruby.ast.ListNode java.util.List int org.jruby.ast.Node int int org.jruby.ast.Node[]
StackMap stack:
aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 11
start local 11 10: aload 0
new org.jruby.ir.instructions.ReqdArgMultipleAsgnInstr
dup
aload 11
aload 3
iload 6
invokespecial org.jruby.ir.instructions.ReqdArgMultipleAsgnInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;I)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
11: aload 5
new org.jruby.ir.Tuple
dup
aload 7
aload 11
invokespecial org.jruby.ir.Tuple.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 11 12: StackMap locals:
StackMap stack:
iinc 6 1
end local 7 13: iinc 8 1
StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.MultipleAsgnNode org.jruby.ir.operands.Operand org.jruby.ir.operands.Operand org.jruby.ast.ListNode java.util.List int top int int org.jruby.ast.Node[]
StackMap stack:
14: iload 8
iload 9
if_icmplt 5
15: StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.MultipleAsgnNode org.jruby.ir.operands.Operand org.jruby.ir.operands.Operand org.jruby.ast.ListNode java.util.List int
StackMap stack:
aload 1
invokevirtual org.jruby.ast.MultipleAsgnNode.getRest:()Lorg/jruby/ast/Node;
astore 7
start local 7 16: aload 1
invokevirtual org.jruby.ast.MultipleAsgnNode.getPostCount:()I
istore 8
start local 8 17: aload 7
ifnull 24
aload 7
instanceof org.jruby.ast.StarNode
ifne 24
18: aload 3
ifnonnull 21
19: aload 0
aload 7
aload 2
iconst_0
iload 6
iload 8
iconst_0
iconst_1
invokevirtual org.jruby.ir.IRBuilder.buildArgsMasgn:(Lorg/jruby/ast/Node;Lorg/jruby/ir/operands/Operand;ZIIIZ)V
20: goto 24
21: StackMap locals: org.jruby.ast.Node int
StackMap stack:
aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 9
start local 9 22: aload 0
new org.jruby.ir.instructions.RestArgMultipleAsgnInstr
dup
aload 9
aload 3
iload 6
iload 8
iconst_0
invokespecial org.jruby.ir.instructions.RestArgMultipleAsgnInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;III)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
23: aload 5
new org.jruby.ir.Tuple
dup
aload 7
aload 9
invokespecial org.jruby.ir.Tuple.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 9 24: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.jruby.ast.MultipleAsgnNode.getPost:()Lorg/jruby/ast/ListNode;
astore 9
start local 9 25: aload 9
ifnull 38
26: iconst_0
istore 10
start local 10 27: aload 9
invokevirtual org.jruby.ast.ListNode.children:()[Lorg/jruby/ast/Node;
dup
astore 14
arraylength
istore 13
iconst_0
istore 12
goto 37
StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.MultipleAsgnNode org.jruby.ir.operands.Operand org.jruby.ir.operands.Operand org.jruby.ast.ListNode java.util.List int org.jruby.ast.Node int org.jruby.ast.ListNode int top int int org.jruby.ast.Node[]
StackMap stack:
28: aload 14
iload 12
aaload
astore 11
start local 11 29: aload 3
ifnonnull 32
30: aload 0
aload 11
aload 2
iconst_0
iload 6
iload 8
iload 10
iconst_0
invokevirtual org.jruby.ir.IRBuilder.buildArgsMasgn:(Lorg/jruby/ast/Node;Lorg/jruby/ir/operands/Operand;ZIIIZ)V
31: goto 35
32: StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.MultipleAsgnNode org.jruby.ir.operands.Operand org.jruby.ir.operands.Operand org.jruby.ast.ListNode java.util.List int org.jruby.ast.Node int org.jruby.ast.ListNode int org.jruby.ast.Node int int org.jruby.ast.Node[]
StackMap stack:
aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 15
start local 15 33: aload 0
new org.jruby.ir.instructions.ReqdArgMultipleAsgnInstr
dup
aload 15
aload 3
iload 6
iload 8
iload 10
invokespecial org.jruby.ir.instructions.ReqdArgMultipleAsgnInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;III)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
34: aload 5
new org.jruby.ir.Tuple
dup
aload 11
aload 15
invokespecial org.jruby.ir.Tuple.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 15 35: StackMap locals:
StackMap stack:
iinc 10 1
end local 11 36: iinc 12 1
StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.MultipleAsgnNode org.jruby.ir.operands.Operand org.jruby.ir.operands.Operand org.jruby.ast.ListNode java.util.List int org.jruby.ast.Node int org.jruby.ast.ListNode int top int int org.jruby.ast.Node[]
StackMap stack:
37: iload 12
iload 13
if_icmplt 28
end local 10 38: StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.MultipleAsgnNode org.jruby.ir.operands.Operand org.jruby.ir.operands.Operand org.jruby.ast.ListNode java.util.List int org.jruby.ast.Node int org.jruby.ast.ListNode
StackMap stack:
aload 5
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 11
goto 41
StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.MultipleAsgnNode org.jruby.ir.operands.Operand org.jruby.ir.operands.Operand org.jruby.ast.ListNode java.util.List int org.jruby.ast.Node int org.jruby.ast.ListNode top java.util.Iterator
StackMap stack:
39: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.jruby.ir.Tuple
astore 10
start local 10 40: aload 0
aload 10
getfield org.jruby.ir.Tuple.a:Ljava/lang/Object;
checkcast org.jruby.ast.Node
aload 10
getfield org.jruby.ir.Tuple.b:Ljava/lang/Object;
checkcast org.jruby.ir.operands.Variable
invokevirtual org.jruby.ir.IRBuilder.buildAssignment:(Lorg/jruby/ast/Node;Lorg/jruby/ir/operands/Variable;)V
end local 10 41: StackMap locals:
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 39
42: return
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 43 0 this Lorg/jruby/ir/IRBuilder;
0 43 1 multipleAsgnNode Lorg/jruby/ast/MultipleAsgnNode;
0 43 2 argsArray Lorg/jruby/ir/operands/Operand;
0 43 3 values Lorg/jruby/ir/operands/Operand;
1 43 4 masgnPre Lorg/jruby/ast/ListNode;
2 43 5 assigns Ljava/util/List<Lorg/jruby/ir/Tuple<Lorg/jruby/ast/Node;Lorg/jruby/ir/operands/Variable;>;>;
3 43 6 i I
6 13 7 an Lorg/jruby/ast/Node;
10 12 11 rhsVal Lorg/jruby/ir/operands/Variable;
16 43 7 restNode Lorg/jruby/ast/Node;
17 43 8 postArgsCount I
22 24 9 rhsVal Lorg/jruby/ir/operands/Variable;
25 43 9 masgnPost Lorg/jruby/ast/ListNode;
27 38 10 j I
29 36 11 an Lorg/jruby/ast/Node;
33 35 15 rhsVal Lorg/jruby/ir/operands/Variable;
40 41 10 assign Lorg/jruby/ir/Tuple<Lorg/jruby/ast/Node;Lorg/jruby/ir/operands/Variable;>;
MethodParameters:
Name Flags
multipleAsgnNode final
argsArray
values
private void handleBreakAndReturnsInLambdas();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=5, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.ir.IRBuilder.getNewLabel:()Lorg/jruby/ir/operands/Label;
astore 1
start local 1 1: invokestatic org.jruby.ir.operands.Label.getGlobalEnsureBlockLabel:()Lorg/jruby/ir/operands/Label;
astore 2
start local 2 2: aload 0
new org.jruby.ir.instructions.ExceptionRegionStartMarkerInstr
dup
aload 2
invokespecial org.jruby.ir.instructions.ExceptionRegionStartMarkerInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstrAtBeginning:(Lorg/jruby/ir/instructions/Instr;)V
3: aload 0
new org.jruby.ir.instructions.ExceptionRegionEndMarkerInstr
dup
invokespecial org.jruby.ir.instructions.ExceptionRegionEndMarkerInstr.<init>:()V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
4: aload 0
new org.jruby.ir.instructions.LabelInstr
dup
aload 2
invokespecial org.jruby.ir.instructions.LabelInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
5: aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 3
start local 3 6: aload 0
new org.jruby.ir.instructions.ReceiveJRubyExceptionInstr
dup
aload 3
invokespecial org.jruby.ir.instructions.ReceiveJRubyExceptionInstr.<init>:(Lorg/jruby/ir/operands/Variable;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
7: aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 4
start local 4 8: aload 0
new org.jruby.ir.instructions.RuntimeHelperCall
dup
aload 4
getstatic org.jruby.ir.instructions.RuntimeHelperCall$Methods.HANDLE_BREAK_AND_RETURNS_IN_LAMBDA:Lorg/jruby/ir/instructions/RuntimeHelperCall$Methods;
iconst_1
anewarray org.jruby.ir.operands.Operand
dup
iconst_0
aload 3
aastore
invokespecial org.jruby.ir.instructions.RuntimeHelperCall.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/instructions/RuntimeHelperCall$Methods;[Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
9: aload 0
new org.jruby.ir.instructions.ReturnOrRethrowSavedExcInstr
dup
aload 4
invokespecial org.jruby.ir.instructions.ReturnOrRethrowSavedExcInstr.<init>:(Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
10: aload 0
new org.jruby.ir.instructions.LabelInstr
dup
aload 1
invokespecial org.jruby.ir.instructions.LabelInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
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/IRBuilder;
1 12 1 rEndLabel Lorg/jruby/ir/operands/Label;
2 12 2 rescueLabel Lorg/jruby/ir/operands/Label;
6 12 3 exc Lorg/jruby/ir/operands/Variable;
8 12 4 ret Lorg/jruby/ir/operands/Variable;
public void receiveMethodArgs(org.jruby.ast.ArgsNode);
descriptor: (Lorg/jruby/ast/ArgsNode;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.jruby.ir.IRBuilder.receiveArgs:(Lorg/jruby/ast/ArgsNode;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/ir/IRBuilder;
0 2 1 argsNode Lorg/jruby/ast/ArgsNode;
MethodParameters:
Name Flags
argsNode final
public void receiveBlockArgs(org.jruby.ast.IterNode);
descriptor: (Lorg/jruby/ast/IterNode;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.jruby.ast.IterNode.getVarNode:()Lorg/jruby/ast/Node;
astore 2
start local 2 1: aload 2
instanceof org.jruby.ast.ArgsNode
ifeq 5
2: aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
checkcast org.jruby.ir.IRClosure
aload 2
checkcast org.jruby.ast.ArgsNode
invokestatic org.jruby.runtime.Helpers.argsNodeToArgumentDescriptors:(Lorg/jruby/ast/ArgsNode;)[Lorg/jruby/runtime/ArgumentDescriptor;
invokevirtual org.jruby.ir.IRClosure.setArgumentDescriptors:([Lorg/jruby/runtime/ArgumentDescriptor;)V
3: aload 0
aload 2
checkcast org.jruby.ast.ArgsNode
invokevirtual org.jruby.ir.IRBuilder.receiveArgs:(Lorg/jruby/ast/ArgsNode;)V
4: goto 6
5: StackMap locals: org.jruby.ast.Node
StackMap stack:
aload 0
aload 2
aconst_null
iconst_0
iconst_0
invokevirtual org.jruby.ir.IRBuilder.buildBlockArgsAssignment:(Lorg/jruby/ast/Node;Lorg/jruby/ir/operands/Operand;IZ)V
6: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/jruby/ir/IRBuilder;
0 7 1 node Lorg/jruby/ast/IterNode;
1 7 2 args Lorg/jruby/ast/Node;
MethodParameters:
Name Flags
node final
public org.jruby.ir.operands.Operand buildDot(org.jruby.ast.DotNode);
descriptor: (Lorg/jruby/ast/DotNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new org.jruby.ir.instructions.BuildRangeInstr
dup
aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
aload 0
aload 1
invokevirtual org.jruby.ast.DotNode.getBeginNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
1: aload 0
aload 1
invokevirtual org.jruby.ast.DotNode.getEndNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
aload 1
invokevirtual org.jruby.ast.DotNode.isExclusive:()Z
invokespecial org.jruby.ir.instructions.BuildRangeInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;Z)V
2: invokevirtual org.jruby.ir.IRBuilder.addResultInstr:(Lorg/jruby/ir/instructions/ResultInstr;)Lorg/jruby/ir/operands/Variable;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/ir/IRBuilder;
0 3 1 dotNode Lorg/jruby/ast/DotNode;
MethodParameters:
Name Flags
dotNode final
private org.jruby.ir.operands.Operand dynamicPiece(org.jruby.ast.Node);
descriptor: (Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
instanceof org.jruby.ast.StrNode
ifeq 1
aload 0
aload 1
checkcast org.jruby.ast.StrNode
invokevirtual org.jruby.ir.IRBuilder.buildStrRaw:(Lorg/jruby/ast/StrNode;)Lorg/jruby/ir/operands/Operand;
goto 2
StackMap locals:
StackMap stack:
1: aload 0
aload 1
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
StackMap locals:
StackMap stack: org.jruby.ir.operands.Operand
2: astore 2
start local 2 3: aload 2
instanceof org.jruby.ir.operands.StringLiteral
ifeq 5
4: aload 2
checkcast org.jruby.ir.operands.StringLiteral
getfield org.jruby.ir.operands.StringLiteral.frozenString:Lorg/jruby/ir/operands/FrozenString;
astore 2
5: StackMap locals: org.jruby.ir.operands.Operand
StackMap stack:
aload 2
ifnonnull 6
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getNil:()Lorg/jruby/ir/operands/Nil;
goto 7
StackMap locals:
StackMap stack:
6: aload 2
StackMap locals:
StackMap stack: org.jruby.ir.operands.Operand
7: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/jruby/ir/IRBuilder;
0 8 1 pieceNode Lorg/jruby/ast/Node;
3 8 2 piece Lorg/jruby/ir/operands/Operand;
MethodParameters:
Name Flags
pieceNode
public org.jruby.ir.operands.Operand buildDRegexp(org.jruby.ir.operands.Variable, org.jruby.ast.DRegexpNode);
descriptor: (Lorg/jruby/ir/operands/Variable;Lorg/jruby/ast/DRegexpNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual org.jruby.ast.DRegexpNode.children:()[Lorg/jruby/ast/Node;
astore 3
start local 3 1: aload 3
arraylength
anewarray org.jruby.ir.operands.Operand
astore 4
start local 4 2: iconst_0
istore 5
start local 5 3: goto 6
4: StackMap locals: org.jruby.ast.Node[] org.jruby.ir.operands.Operand[] int
StackMap stack:
aload 4
iload 5
aload 0
aload 3
iload 5
aaload
invokevirtual org.jruby.ir.IRBuilder.dynamicPiece:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
aastore
5: iinc 5 1
StackMap locals:
StackMap stack:
6: iload 5
aload 4
arraylength
if_icmplt 4
end local 5 7: aload 1
ifnonnull 8
aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 1
8: StackMap locals:
StackMap stack:
aload 0
new org.jruby.ir.instructions.BuildDynRegExpInstr
dup
aload 1
aload 4
aload 2
invokevirtual org.jruby.ast.DRegexpNode.getOptions:()Lorg/jruby/util/RegexpOptions;
invokespecial org.jruby.ir.instructions.BuildDynRegExpInstr.<init>:(Lorg/jruby/ir/operands/Variable;[Lorg/jruby/ir/operands/Operand;Lorg/jruby/util/RegexpOptions;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
9: aload 1
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/jruby/ir/IRBuilder;
0 10 1 result Lorg/jruby/ir/operands/Variable;
0 10 2 node Lorg/jruby/ast/DRegexpNode;
1 10 3 nodePieces [Lorg/jruby/ast/Node;
2 10 4 pieces [Lorg/jruby/ir/operands/Operand;
3 7 5 i I
MethodParameters:
Name Flags
result
node
public org.jruby.ir.operands.Operand buildDStr(org.jruby.ir.operands.Variable, org.jruby.ast.DStrNode);
descriptor: (Lorg/jruby/ir/operands/Variable;Lorg/jruby/ast/DStrNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=10, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual org.jruby.ast.DStrNode.children:()[Lorg/jruby/ast/Node;
astore 3
start local 3 1: aload 3
arraylength
anewarray org.jruby.ir.operands.Operand
astore 4
start local 4 2: iconst_0
istore 5
start local 5 3: goto 6
4: StackMap locals: org.jruby.ast.Node[] org.jruby.ir.operands.Operand[] int
StackMap stack:
aload 4
iload 5
aload 0
aload 3
iload 5
aaload
invokevirtual org.jruby.ir.IRBuilder.dynamicPiece:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
aastore
5: iinc 5 1
StackMap locals:
StackMap stack:
6: iload 5
aload 4
arraylength
if_icmplt 4
end local 5 7: aload 1
ifnonnull 8
aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 1
8: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getInstanceConfig:()Lorg/jruby/RubyInstanceConfig;
invokevirtual org.jruby.RubyInstanceConfig.isDebuggingFrozenStringLiteral:()Z
istore 5
start local 5 9: aload 0
new org.jruby.ir.instructions.BuildCompoundStringInstr
dup
aload 1
aload 4
aload 2
invokevirtual org.jruby.ast.DStrNode.getEncoding:()Lorg/jcodings/Encoding;
aload 2
invokevirtual org.jruby.ast.DStrNode.isFrozen:()Z
iload 5
aload 0
invokevirtual org.jruby.ir.IRBuilder.getFileName:()Ljava/lang/String;
aload 2
invokevirtual org.jruby.ast.DStrNode.getLine:()I
invokespecial org.jruby.ir.instructions.BuildCompoundStringInstr.<init>:(Lorg/jruby/ir/operands/Variable;[Lorg/jruby/ir/operands/Operand;Lorg/jcodings/Encoding;ZZLjava/lang/String;I)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
10: aload 1
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 11 0 this Lorg/jruby/ir/IRBuilder;
0 11 1 result Lorg/jruby/ir/operands/Variable;
0 11 2 node Lorg/jruby/ast/DStrNode;
1 11 3 nodePieces [Lorg/jruby/ast/Node;
2 11 4 pieces [Lorg/jruby/ir/operands/Operand;
3 7 5 i I
9 11 5 debuggingFrozenStringLiteral Z
MethodParameters:
Name Flags
result
node
public org.jruby.ir.operands.Operand buildDSymbol(org.jruby.ir.operands.Variable, org.jruby.ast.DSymbolNode);
descriptor: (Lorg/jruby/ir/operands/Variable;Lorg/jruby/ast/DSymbolNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=10, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual org.jruby.ast.DSymbolNode.children:()[Lorg/jruby/ast/Node;
astore 3
start local 3 1: aload 3
arraylength
anewarray org.jruby.ir.operands.Operand
astore 4
start local 4 2: iconst_0
istore 5
start local 5 3: goto 6
4: StackMap locals: org.jruby.ast.Node[] org.jruby.ir.operands.Operand[] int
StackMap stack:
aload 4
iload 5
aload 0
aload 3
iload 5
aaload
invokevirtual org.jruby.ir.IRBuilder.dynamicPiece:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
aastore
5: iinc 5 1
StackMap locals:
StackMap stack:
6: iload 5
aload 4
arraylength
if_icmplt 4
end local 5 7: aload 1
ifnonnull 8
aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 1
8: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getInstanceConfig:()Lorg/jruby/RubyInstanceConfig;
invokevirtual org.jruby.RubyInstanceConfig.isDebuggingFrozenStringLiteral:()Z
istore 5
start local 5 9: aload 0
new org.jruby.ir.instructions.BuildCompoundStringInstr
dup
aload 1
aload 4
aload 2
invokevirtual org.jruby.ast.DSymbolNode.getEncoding:()Lorg/jcodings/Encoding;
iconst_0
iload 5
aload 0
invokevirtual org.jruby.ir.IRBuilder.getFileName:()Ljava/lang/String;
aload 2
invokevirtual org.jruby.ast.DSymbolNode.getLine:()I
invokespecial org.jruby.ir.instructions.BuildCompoundStringInstr.<init>:(Lorg/jruby/ir/operands/Variable;[Lorg/jruby/ir/operands/Operand;Lorg/jcodings/Encoding;ZZLjava/lang/String;I)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
10: aload 0
new org.jruby.ir.operands.DynamicSymbol
dup
aload 1
invokespecial org.jruby.ir.operands.DynamicSymbol.<init>:(Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.copyAndReturnValue:(Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/operands/Variable;
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 11 0 this Lorg/jruby/ir/IRBuilder;
0 11 1 result Lorg/jruby/ir/operands/Variable;
0 11 2 node Lorg/jruby/ast/DSymbolNode;
1 11 3 nodePieces [Lorg/jruby/ast/Node;
2 11 4 pieces [Lorg/jruby/ir/operands/Operand;
3 7 5 i I
9 11 5 debuggingFrozenStringLiteral Z
MethodParameters:
Name Flags
result
node
public org.jruby.ir.operands.Operand buildDVar(org.jruby.ast.DVarNode);
descriptor: (Lorg/jruby/ast/DVarNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.jruby.ast.DVarNode.getName:()Lorg/jruby/RubySymbol;
aload 1
invokevirtual org.jruby.ast.DVarNode.getDepth:()I
invokevirtual org.jruby.ir.IRBuilder.getLocalVariable:(Lorg/jruby/RubySymbol;I)Lorg/jruby/ir/operands/LocalVariable;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/IRBuilder;
0 1 1 node Lorg/jruby/ast/DVarNode;
MethodParameters:
Name Flags
node
public org.jruby.ir.operands.Operand buildDXStr(org.jruby.ir.operands.Variable, org.jruby.ast.DXStrNode);
descriptor: (Lorg/jruby/ir/operands/Variable;Lorg/jruby/ast/DXStrNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=10, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual org.jruby.ast.DXStrNode.children:()[Lorg/jruby/ast/Node;
astore 3
start local 3 1: aload 3
arraylength
anewarray org.jruby.ir.operands.Operand
astore 4
start local 4 2: iconst_0
istore 5
start local 5 3: goto 6
4: StackMap locals: org.jruby.ast.Node[] org.jruby.ir.operands.Operand[] int
StackMap stack:
aload 4
iload 5
aload 0
aload 3
iload 5
aaload
invokevirtual org.jruby.ir.IRBuilder.dynamicPiece:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
aastore
5: iinc 5 1
StackMap locals:
StackMap stack:
6: iload 5
aload 4
arraylength
if_icmplt 4
end local 5 7: aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 5
start local 5 8: aload 1
ifnonnull 9
aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 1
9: StackMap locals: org.jruby.ir.IRBuilder org.jruby.ir.operands.Variable org.jruby.ast.DXStrNode org.jruby.ast.Node[] org.jruby.ir.operands.Operand[] org.jruby.ir.operands.Variable
StackMap stack:
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getInstanceConfig:()Lorg/jruby/RubyInstanceConfig;
invokevirtual org.jruby.RubyInstanceConfig.isDebuggingFrozenStringLiteral:()Z
istore 6
start local 6 10: aload 0
new org.jruby.ir.instructions.BuildCompoundStringInstr
dup
aload 5
aload 4
aload 2
invokevirtual org.jruby.ast.DXStrNode.getEncoding:()Lorg/jcodings/Encoding;
iconst_0
iload 6
aload 0
invokevirtual org.jruby.ir.IRBuilder.getFileName:()Ljava/lang/String;
aload 2
invokevirtual org.jruby.ast.DXStrNode.getLine:()I
invokespecial org.jruby.ir.instructions.BuildCompoundStringInstr.<init>:(Lorg/jruby/ir/operands/Variable;[Lorg/jruby/ir/operands/Operand;Lorg/jcodings/Encoding;ZZLjava/lang/String;I)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
11: aload 0
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
getstatic org.jruby.runtime.CallType.FUNCTIONAL:Lorg/jruby/runtime/CallType;
aload 1
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getRuntime:()Lorg/jruby/Ruby;
ldc "`"
invokevirtual org.jruby.Ruby.newSymbol:(Ljava/lang/String;)Lorg/jruby/RubySymbol;
getstatic org.jruby.ir.operands.Self.SELF:Lorg/jruby/ir/operands/Self;
iconst_1
anewarray org.jruby.ir.operands.Operand
dup
iconst_0
aload 5
aastore
aconst_null
invokestatic org.jruby.ir.instructions.CallInstr.create:(Lorg/jruby/ir/IRScope;Lorg/jruby/runtime/CallType;Lorg/jruby/ir/operands/Variable;Lorg/jruby/RubySymbol;Lorg/jruby/ir/operands/Operand;[Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/instructions/CallInstr;
invokevirtual org.jruby.ir.IRBuilder.addResultInstr:(Lorg/jruby/ir/instructions/ResultInstr;)Lorg/jruby/ir/operands/Variable;
areturn
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 this Lorg/jruby/ir/IRBuilder;
0 12 1 result Lorg/jruby/ir/operands/Variable;
0 12 2 node Lorg/jruby/ast/DXStrNode;
1 12 3 nodePieces [Lorg/jruby/ast/Node;
2 12 4 pieces [Lorg/jruby/ir/operands/Operand;
3 7 5 i I
8 12 5 stringResult Lorg/jruby/ir/operands/Variable;
10 12 6 debuggingFrozenStringLiteral Z
MethodParameters:
Name Flags
result
node
public org.jruby.ir.operands.Operand buildEnsureNode(org.jruby.ast.EnsureNode);
descriptor: (Lorg/jruby/ast/EnsureNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.jruby.ast.EnsureNode.getBodyNode:()Lorg/jruby/ast/Node;
aload 1
invokevirtual org.jruby.ast.EnsureNode.getEnsureNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.buildEnsureInternal:(Lorg/jruby/ast/Node;Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/IRBuilder;
0 1 1 ensureNode Lorg/jruby/ast/EnsureNode;
MethodParameters:
Name Flags
ensureNode final
public org.jruby.ir.operands.Operand buildEnsureInternal(org.jruby.ast.Node, org.jruby.ast.Node);
descriptor: (Lorg/jruby/ast/Node;Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 3
start local 3 1: aload 0
new org.jruby.ir.instructions.GetGlobalVariableInstr
dup
aload 3
aload 0
ldc "$!"
invokevirtual org.jruby.ir.IRBuilder.symbol:(Ljava/lang/String;)Lorg/jruby/RubySymbol;
invokespecial org.jruby.ir.instructions.GetGlobalVariableInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/RubySymbol;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
2: new org.jruby.ir.IRBuilder$EnsureBlockInfo
dup
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
3: aload 1
instanceof org.jruby.ast.RescueNode
ifeq 4
aload 1
checkcast org.jruby.ast.RescueNode
goto 5
StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.Node org.jruby.ast.Node org.jruby.ir.operands.Variable
StackMap stack: new 2 new 2 org.jruby.ir.IRScope
4: aconst_null
5: StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.Node org.jruby.ast.Node org.jruby.ir.operands.Variable
StackMap stack: new 2 new 2 org.jruby.ir.IRScope org.jruby.ast.RescueNode
aload 0
invokevirtual org.jruby.ir.IRBuilder.getCurrentLoop:()Lorg/jruby/ir/IRBuilder$IRLoop;
6: aload 0
getfield org.jruby.ir.IRBuilder.activeRescuers:Ljava/util/Stack;
invokevirtual java.util.Stack.peek:()Ljava/lang/Object;
checkcast org.jruby.ir.operands.Label
7: invokespecial org.jruby.ir.IRBuilder$EnsureBlockInfo.<init>:(Lorg/jruby/ir/IRScope;Lorg/jruby/ast/RescueNode;Lorg/jruby/ir/IRBuilder$IRLoop;Lorg/jruby/ir/operands/Label;)V
astore 4
start local 4 8: aload 1
ifnull 10
aload 1
instanceof org.jruby.ast.RescueNode
ifeq 10
9: aload 4
aload 3
putfield org.jruby.ir.IRBuilder$EnsureBlockInfo.savedGlobalException:Lorg/jruby/ir/operands/Variable;
10: StackMap locals: org.jruby.ir.IRBuilder$EnsureBlockInfo
StackMap stack:
aload 0
getfield org.jruby.ir.IRBuilder.ensureBodyBuildStack:Ljava/util/Stack;
aload 4
invokevirtual java.util.Stack.push:(Ljava/lang/Object;)Ljava/lang/Object;
pop
11: aload 2
ifnonnull 12
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getNil:()Lorg/jruby/ir/operands/Nil;
goto 13
StackMap locals:
StackMap stack:
12: aload 0
aload 2
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
StackMap locals:
StackMap stack: org.jruby.ir.operands.Operand
13: astore 5
start local 5 14: aload 0
getfield org.jruby.ir.IRBuilder.ensureBodyBuildStack:Ljava/util/Stack;
invokevirtual java.util.Stack.pop:()Ljava/lang/Object;
pop
15: aload 0
getfield org.jruby.ir.IRBuilder.activeEnsureBlockStack:Ljava/util/Stack;
aload 4
invokevirtual java.util.Stack.push:(Ljava/lang/Object;)Ljava/lang/Object;
pop
16: aload 0
new org.jruby.ir.instructions.LabelInstr
dup
aload 4
getfield org.jruby.ir.IRBuilder$EnsureBlockInfo.regionStart:Lorg/jruby/ir/operands/Label;
invokespecial org.jruby.ir.instructions.LabelInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
17: aload 0
new org.jruby.ir.instructions.ExceptionRegionStartMarkerInstr
dup
aload 4
getfield org.jruby.ir.IRBuilder$EnsureBlockInfo.dummyRescueBlockLabel:Lorg/jruby/ir/operands/Label;
invokespecial org.jruby.ir.instructions.ExceptionRegionStartMarkerInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
18: aload 0
getfield org.jruby.ir.IRBuilder.activeRescuers:Ljava/util/Stack;
aload 4
getfield org.jruby.ir.IRBuilder$EnsureBlockInfo.dummyRescueBlockLabel:Lorg/jruby/ir/operands/Label;
invokevirtual java.util.Stack.push:(Ljava/lang/Object;)Ljava/lang/Object;
pop
19: aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 6
start local 6 20: aload 1
instanceof org.jruby.ast.RescueNode
ifeq 21
aload 0
aload 1
checkcast org.jruby.ast.RescueNode
aload 4
invokevirtual org.jruby.ir.IRBuilder.buildRescueInternal:(Lorg/jruby/ast/RescueNode;Lorg/jruby/ir/IRBuilder$EnsureBlockInfo;)Lorg/jruby/ir/operands/Operand;
goto 22
StackMap locals: org.jruby.ir.operands.Operand org.jruby.ir.operands.Variable
StackMap stack:
21: aload 0
aload 1
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
StackMap locals:
StackMap stack: org.jruby.ir.operands.Operand
22: astore 7
start local 7 23: aload 0
new org.jruby.ir.instructions.ExceptionRegionEndMarkerInstr
dup
invokespecial org.jruby.ir.instructions.ExceptionRegionEndMarkerInstr.<init>:()V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
24: aload 0
getfield org.jruby.ir.IRBuilder.activeRescuers:Ljava/util/Stack;
invokevirtual java.util.Stack.pop:()Ljava/lang/Object;
pop
25: aload 2
ifnull 26
aload 7
getstatic org.jruby.ir.IRBuilder.U_NIL:Lorg/jruby/ir/operands/UnexecutableNil;
if_acmpeq 26
aload 1
instanceof org.jruby.ast.RescueNode
ifne 26
iconst_1
goto 27
StackMap locals: org.jruby.ir.operands.Operand
StackMap stack:
26: iconst_0
StackMap locals:
StackMap stack: int
27: istore 8
start local 8 28: iload 8
ifeq 32
29: aload 0
new org.jruby.ir.instructions.CopyInstr
dup
aload 6
aload 7
invokespecial org.jruby.ir.instructions.CopyInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
30: aload 4
aload 0
invokevirtual org.jruby.ir.IRBuilder$EnsureBlockInfo.cloneIntoHostScope:(Lorg/jruby/ir/IRBuilder;)V
31: aload 0
new org.jruby.ir.instructions.JumpInstr
dup
aload 4
getfield org.jruby.ir.IRBuilder$EnsureBlockInfo.end:Lorg/jruby/ir/operands/Label;
invokespecial org.jruby.ir.instructions.JumpInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
32: StackMap locals: int
StackMap stack:
aload 0
getfield org.jruby.ir.IRBuilder.activeEnsureBlockStack:Ljava/util/Stack;
invokevirtual java.util.Stack.pop:()Ljava/lang/Object;
pop
33: aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 9
start local 9 34: aload 0
new org.jruby.ir.instructions.LabelInstr
dup
aload 4
getfield org.jruby.ir.IRBuilder$EnsureBlockInfo.dummyRescueBlockLabel:Lorg/jruby/ir/operands/Label;
invokespecial org.jruby.ir.instructions.LabelInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
35: aload 0
new org.jruby.ir.instructions.ReceiveJRubyExceptionInstr
dup
aload 9
invokespecial org.jruby.ir.instructions.ReceiveJRubyExceptionInstr.<init>:(Lorg/jruby/ir/operands/Variable;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
36: aload 2
ifnull 38
37: aload 4
aload 0
invokevirtual org.jruby.ir.IRBuilder$EnsureBlockInfo.emitBody:(Lorg/jruby/ir/IRBuilder;)V
38: StackMap locals: org.jruby.ir.operands.Variable
StackMap stack:
aload 5
getstatic org.jruby.ir.IRBuilder.U_NIL:Lorg/jruby/ir/operands/UnexecutableNil;
if_acmpne 39
getstatic org.jruby.ir.IRBuilder.U_NIL:Lorg/jruby/ir/operands/UnexecutableNil;
astore 7
39: StackMap locals:
StackMap stack:
aload 0
new org.jruby.ir.instructions.ThrowExceptionInstr
dup
aload 9
invokespecial org.jruby.ir.instructions.ThrowExceptionInstr.<init>:(Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
40: aload 0
new org.jruby.ir.instructions.LabelInstr
dup
aload 4
getfield org.jruby.ir.IRBuilder$EnsureBlockInfo.end:Lorg/jruby/ir/operands/Label;
invokespecial org.jruby.ir.instructions.LabelInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
41: iload 8
ifeq 42
aload 6
goto 43
StackMap locals:
StackMap stack:
42: aload 7
StackMap locals:
StackMap stack: org.jruby.ir.operands.Operand
43: areturn
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 44 0 this Lorg/jruby/ir/IRBuilder;
0 44 1 ensureBodyNode Lorg/jruby/ast/Node;
0 44 2 ensurerNode Lorg/jruby/ast/Node;
1 44 3 savedGlobalException Lorg/jruby/ir/operands/Variable;
8 44 4 ebi Lorg/jruby/ir/IRBuilder$EnsureBlockInfo;
14 44 5 ensureRetVal Lorg/jruby/ir/operands/Operand;
20 44 6 ensureExprValue Lorg/jruby/ir/operands/Variable;
23 44 7 rv Lorg/jruby/ir/operands/Operand;
28 44 8 isEnsureExpr Z
34 44 9 exc Lorg/jruby/ir/operands/Variable;
MethodParameters:
Name Flags
ensureBodyNode
ensurerNode
public org.jruby.ir.operands.Operand buildEvStr(org.jruby.ast.EvStrNode);
descriptor: (Lorg/jruby/ast/EvStrNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 2
start local 2 1: aload 0
new org.jruby.ir.instructions.AsStringInstr
dup
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
aload 2
aload 0
aload 1
invokevirtual org.jruby.ast.EvStrNode.getBody:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.maybeUsingRefinements:()Z
invokespecial org.jruby.ir.instructions.AsStringInstr.<init>:(Lorg/jruby/ir/IRScope;Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;Z)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
2: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/ir/IRBuilder;
0 3 1 node Lorg/jruby/ast/EvStrNode;
1 3 2 result Lorg/jruby/ir/operands/TemporaryVariable;
MethodParameters:
Name Flags
node
public org.jruby.ir.operands.Operand buildFalse();
descriptor: ()Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getFalse:()Lorg/jruby/ir/operands/Boolean;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/IRBuilder;
public org.jruby.ir.operands.Operand buildFCall(org.jruby.ir.operands.Variable, org.jruby.ast.FCallNode);
descriptor: (Lorg/jruby/ir/operands/Variable;Lorg/jruby/ast/FCallNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual org.jruby.ast.FCallNode.getArgsNode:()Lorg/jruby/ast/Node;
astore 3
start local 3 1: aload 1
ifnonnull 2
aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 1
2: StackMap locals: org.jruby.ast.Node
StackMap stack:
aload 0
aload 2
invokevirtual org.jruby.ast.FCallNode.getArgsNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.getPossibleKeywordArgument:(Lorg/jruby/ast/Node;)Lorg/jruby/ast/HashNode;
astore 4
start local 4 3: aload 4
ifnull 9
4: aload 0
aload 2
invokevirtual org.jruby.ast.FCallNode.getArgsNode:()Lorg/jruby/ast/Node;
aload 4
invokevirtual org.jruby.ir.IRBuilder.buildCallArgsExcept:(Lorg/jruby/ast/Node;Lorg/jruby/ast/Node;)[Lorg/jruby/ir/operands/Operand;
astore 7
start local 7 5: aload 0
aload 4
invokevirtual org.jruby.ir.IRBuilder.buildKeywordArguments:(Lorg/jruby/ast/HashNode;)Ljava/util/List;
astore 8
start local 8 6: aload 0
aload 2
invokevirtual org.jruby.ast.FCallNode.getIterNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.setupCallClosure:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 6
start local 6 7: aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
getstatic org.jruby.runtime.CallType.FUNCTIONAL:Lorg/jruby/runtime/CallType;
aload 1
aload 2
invokevirtual org.jruby.ast.FCallNode.getName:()Lorg/jruby/RubySymbol;
aload 0
invokevirtual org.jruby.ir.IRBuilder.buildSelf:()Lorg/jruby/ir/operands/Variable;
aload 7
aload 6
aload 8
invokestatic org.jruby.ir.instructions.CallInstr.createWithKwargs:(Lorg/jruby/ir/IRScope;Lorg/jruby/runtime/CallType;Lorg/jruby/ir/operands/Variable;Lorg/jruby/RubySymbol;Lorg/jruby/ir/operands/Operand;[Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;Ljava/util/List;)Lorg/jruby/ir/instructions/CallInstr;
astore 5
end local 8 end local 7 start local 5 8: goto 18
end local 6 end local 5 9: StackMap locals: org.jruby.ast.HashNode
StackMap stack:
aload 0
aload 3
invokevirtual org.jruby.ir.IRBuilder.setupCallArgs:(Lorg/jruby/ast/Node;)[Lorg/jruby/ir/operands/Operand;
astore 7
start local 7 10: aload 0
aload 2
invokevirtual org.jruby.ast.FCallNode.getName:()Lorg/jruby/RubySymbol;
aload 7
invokevirtual org.jruby.ir.IRBuilder.determineIfMaybeRefined:(Lorg/jruby/RubySymbol;[Lorg/jruby/ir/operands/Operand;)V
11: aload 0
aload 2
invokevirtual org.jruby.ast.FCallNode.getIterNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.setupCallClosure:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 6
start local 6 12: getstatic org.jruby.util.CommonByteLists.DEFINE_METHOD_METHOD:Lorg/jruby/util/ByteList;
aload 2
invokevirtual org.jruby.ast.FCallNode.getName:()Lorg/jruby/RubySymbol;
invokevirtual org.jruby.RubySymbol.getBytes:()Lorg/jruby/util/ByteList;
invokevirtual org.jruby.util.ByteList.equals:(Ljava/lang/Object;)Z
ifeq 17
aload 6
instanceof org.jruby.ir.operands.WrappedIRClosure
ifeq 17
13: aload 6
checkcast org.jruby.ir.operands.WrappedIRClosure
invokevirtual org.jruby.ir.operands.WrappedIRClosure.getClosure:()Lorg/jruby/ir/IRClosure;
astore 8
start local 8 14: aload 8
invokevirtual org.jruby.ir.IRClosure.getFlags:()Ljava/util/EnumSet;
getstatic org.jruby.ir.IRFlags.ACCESS_PARENTS_LOCAL_VARIABLES:Lorg/jruby/ir/IRFlags;
invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
ifne 17
15: aload 2
invokevirtual org.jruby.ast.FCallNode.getIterNode:()Lorg/jruby/ast/Node;
instanceof org.jruby.ast.IterNode
ifeq 17
16: aload 8
aload 2
invokevirtual org.jruby.ast.FCallNode.getIterNode:()Lorg/jruby/ast/Node;
checkcast org.jruby.ast.IterNode
invokevirtual org.jruby.ir.IRClosure.setSource:(Lorg/jruby/ast/IterNode;)V
end local 8 17: StackMap locals: org.jruby.ir.IRBuilder org.jruby.ir.operands.Variable org.jruby.ast.FCallNode org.jruby.ast.Node org.jruby.ast.HashNode top org.jruby.ir.operands.Operand org.jruby.ir.operands.Operand[]
StackMap stack:
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
getstatic org.jruby.runtime.CallType.FUNCTIONAL:Lorg/jruby/runtime/CallType;
aload 1
aload 2
invokevirtual org.jruby.ast.FCallNode.getName:()Lorg/jruby/RubySymbol;
aload 0
invokevirtual org.jruby.ir.IRBuilder.buildSelf:()Lorg/jruby/ir/operands/Variable;
aload 7
aload 6
invokestatic org.jruby.ir.instructions.CallInstr.create:(Lorg/jruby/ir/IRScope;Lorg/jruby/runtime/CallType;Lorg/jruby/ir/operands/Variable;Lorg/jruby/RubySymbol;Lorg/jruby/ir/operands/Operand;[Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/instructions/CallInstr;
astore 5
end local 7 start local 5 18: StackMap locals: org.jruby.ir.IRBuilder org.jruby.ir.operands.Variable org.jruby.ast.FCallNode org.jruby.ast.Node org.jruby.ast.HashNode org.jruby.ir.instructions.CallInstr org.jruby.ir.operands.Operand
StackMap stack:
aload 0
aload 2
invokevirtual org.jruby.ir.IRBuilder.determineIfWeNeedLineNumber:(Lorg/jruby/ast/Node;)V
19: aload 0
aload 6
aload 5
invokevirtual org.jruby.ir.IRBuilder.receiveBreakException:(Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/instructions/CallInstr;)V
20: aload 1
areturn
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 21 0 this Lorg/jruby/ir/IRBuilder;
0 21 1 result Lorg/jruby/ir/operands/Variable;
0 21 2 fcallNode Lorg/jruby/ast/FCallNode;
1 21 3 callArgsNode Lorg/jruby/ast/Node;
3 21 4 keywordArgs Lorg/jruby/ast/HashNode;
8 9 5 callInstr Lorg/jruby/ir/instructions/CallInstr;
18 21 5 callInstr Lorg/jruby/ir/instructions/CallInstr;
7 9 6 block Lorg/jruby/ir/operands/Operand;
12 21 6 block Lorg/jruby/ir/operands/Operand;
5 8 7 args [Lorg/jruby/ir/operands/Operand;
6 8 8 kwargs Ljava/util/List<Lorg/jruby/util/KeyValuePair<Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;>;>;
10 18 7 args [Lorg/jruby/ir/operands/Operand;
14 17 8 closure Lorg/jruby/ir/IRClosure;
MethodParameters:
Name Flags
result
fcallNode
private org.jruby.ir.operands.Operand setupCallClosure(org.jruby.ast.Node);
descriptor: (Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 1
aconst_null
areturn
1: StackMap locals:
StackMap stack:
invokestatic org.jruby.ir.IRBuilder.$SWITCH_TABLE$org$jruby$ast$NodeType:()[I
aload 1
invokevirtual org.jruby.ast.Node.getNodeType:()Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
iaload
lookupswitch { // 2
14: 3
51: 2
default: 8
}
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
areturn
3: StackMap locals:
StackMap stack:
aload 1
checkcast org.jruby.ast.BlockPassNode
invokevirtual org.jruby.ast.BlockPassNode.getBodyNode:()Lorg/jruby/ast/Node;
astore 2
start local 2 4: aload 2
instanceof org.jruby.ast.SymbolNode
ifeq 6
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.maybeUsingRefinements:()Z
ifne 6
5: new org.jruby.ir.operands.SymbolProc
dup
aload 2
checkcast org.jruby.ast.SymbolNode
invokevirtual org.jruby.ast.SymbolNode.getName:()Lorg/jruby/RubySymbol;
invokespecial org.jruby.ir.operands.SymbolProc.<init>:(Lorg/jruby/RubySymbol;)V
goto 7
StackMap locals: org.jruby.ast.Node
StackMap stack:
6: aload 0
aload 2
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
7: StackMap locals:
StackMap stack: org.jruby.ir.operands.Operand
areturn
end local 2 8: StackMap locals:
StackMap stack:
new org.jruby.compiler.NotCompilableException
dup
new java.lang.StringBuilder
dup
ldc "ERROR: Encountered a method with a non-block, non-blockpass iter node at: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.jruby.compiler.NotCompilableException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/jruby/ir/IRBuilder;
0 9 1 node Lorg/jruby/ast/Node;
4 8 2 bodyNode Lorg/jruby/ast/Node;
MethodParameters:
Name Flags
node
private void determineIfMaybeRefined(org.jruby.RubySymbol, org.jruby.ir.operands.Operand[]);
descriptor: (Lorg/jruby/RubySymbol;[Lorg/jruby/ir/operands/Operand;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.getNearestTopLocalVariableScope:()Lorg/jruby/ir/IRScope;
astore 3
start local 3 1: aload 3
instanceof org.jruby.ir.IRMethod
ifne 5
aload 2
arraylength
iconst_1
if_icmpne 5
2: getstatic org.jruby.util.CommonByteLists.USING_METHOD:Lorg/jruby/util/ByteList;
aload 1
invokevirtual org.jruby.RubySymbol.getBytes:()Lorg/jruby/util/ByteList;
invokevirtual org.jruby.util.ByteList.equals:(Ljava/lang/Object;)Z
ifne 4
3: getstatic org.jruby.util.CommonByteLists.REFINE_METHOD:Lorg/jruby/util/ByteList;
aload 1
invokevirtual org.jruby.RubySymbol.getBytes:()Lorg/jruby/util/ByteList;
invokevirtual org.jruby.util.ByteList.equals:(Ljava/lang/Object;)Z
ifeq 5
4: StackMap locals: org.jruby.ir.IRScope
StackMap stack:
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.setIsMaybeUsingRefinements:()V
5: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/jruby/ir/IRBuilder;
0 6 1 methodName Lorg/jruby/RubySymbol;
0 6 2 args [Lorg/jruby/ir/operands/Operand;
1 6 3 outerScope Lorg/jruby/ir/IRScope;
MethodParameters:
Name Flags
methodName
args
public org.jruby.ir.operands.Operand buildFixnum(org.jruby.ast.FixnumNode);
descriptor: (Lorg/jruby/ast/FixnumNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
aload 1
invokevirtual org.jruby.ast.FixnumNode.getValue:()J
invokevirtual org.jruby.ir.IRManager.newFixnum:(J)Lorg/jruby/ir/operands/Fixnum;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/IRBuilder;
0 1 1 node Lorg/jruby/ast/FixnumNode;
MethodParameters:
Name Flags
node
public org.jruby.ir.operands.Operand buildFlip(org.jruby.ast.FlipNode);
descriptor: (Lorg/jruby/ast/FlipNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=11, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.getManager:()Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getRuntime:()Lorg/jruby/Ruby;
astore 2
start local 2 1: aload 0
new org.jruby.ir.operands.ObjectClass
dup
invokespecial org.jruby.ir.operands.ObjectClass.<init>:()V
aload 2
ldc "NotImplementedError"
invokevirtual org.jruby.Ruby.newSymbol:(Ljava/lang/String;)Lorg/jruby/RubySymbol;
invokevirtual org.jruby.ir.IRBuilder.searchModuleForConst:(Lorg/jruby/ir/operands/Operand;Lorg/jruby/RubySymbol;)Lorg/jruby/ir/operands/Operand;
astore 3
start local 3 2: aload 0
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
aload 2
ldc "new"
invokevirtual org.jruby.Ruby.newSymbol:(Ljava/lang/String;)Lorg/jruby/RubySymbol;
aload 3
iconst_1
anewarray org.jruby.ir.operands.Operand
dup
iconst_0
new org.jruby.ir.operands.StringLiteral
dup
ldc "flip-flop is no longer supported in JRuby"
invokespecial org.jruby.ir.operands.StringLiteral.<init>:(Ljava/lang/String;)V
aastore
aconst_null
invokestatic org.jruby.ir.instructions.CallInstr.create:(Lorg/jruby/ir/IRScope;Lorg/jruby/ir/operands/Variable;Lorg/jruby/RubySymbol;Lorg/jruby/ir/operands/Operand;[Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/instructions/CallInstr;
invokevirtual org.jruby.ir.IRBuilder.addResultInstr:(Lorg/jruby/ir/instructions/ResultInstr;)Lorg/jruby/ir/operands/Variable;
astore 4
start local 4 3: aload 0
new org.jruby.ir.instructions.ThrowExceptionInstr
dup
aload 4
invokespecial org.jruby.ir.instructions.ThrowExceptionInstr.<init>:(Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
4: aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getNil:()Lorg/jruby/ir/operands/Nil;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/jruby/ir/IRBuilder;
0 5 1 flipNode Lorg/jruby/ast/FlipNode;
1 5 2 runtime Lorg/jruby/Ruby;
2 5 3 exceptionClass Lorg/jruby/ir/operands/Operand;
3 5 4 exception Lorg/jruby/ir/operands/Operand;
MethodParameters:
Name Flags
flipNode
public org.jruby.ir.operands.Operand buildFloat(org.jruby.ast.FloatNode);
descriptor: (Lorg/jruby/ast/FloatNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new org.jruby.ir.operands.Float
dup
aload 1
invokevirtual org.jruby.ast.FloatNode.getValue:()D
invokespecial org.jruby.ir.operands.Float.<init>:(D)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/IRBuilder;
0 1 1 node Lorg/jruby/ast/FloatNode;
MethodParameters:
Name Flags
node
public org.jruby.ir.operands.Operand buildFor(org.jruby.ast.ForNode);
descriptor: (Lorg/jruby/ast/ForNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=10, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 2
start local 2 1: aload 0
aload 1
invokevirtual org.jruby.ast.ForNode.getIterNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 3
start local 3 2: aload 0
aload 1
invokevirtual org.jruby.ir.IRBuilder.buildForIter:(Lorg/jruby/ast/ForNode;)Lorg/jruby/ir/operands/Operand;
astore 4
start local 4 3: new org.jruby.ir.instructions.CallInstr
dup
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
getstatic org.jruby.runtime.CallType.NORMAL:Lorg/jruby/runtime/CallType;
aload 2
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
getfield org.jruby.ir.IRManager.runtime:Lorg/jruby/Ruby;
getstatic org.jruby.util.CommonByteLists.EACH:Lorg/jruby/util/ByteList;
invokevirtual org.jruby.Ruby.newSymbol:(Lorg/jruby/util/ByteList;)Lorg/jruby/RubySymbol;
aload 3
getstatic org.jruby.ir.instructions.Instr.EMPTY_OPERANDS:[Lorg/jruby/ir/operands/Operand;
4: aload 4
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.maybeUsingRefinements:()Z
5: invokespecial org.jruby.ir.instructions.CallInstr.<init>:(Lorg/jruby/ir/IRScope;Lorg/jruby/runtime/CallType;Lorg/jruby/ir/operands/Variable;Lorg/jruby/RubySymbol;Lorg/jruby/ir/operands/Operand;[Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;Z)V
astore 5
start local 5 6: aload 0
aload 4
aload 5
invokevirtual org.jruby.ir.IRBuilder.receiveBreakException:(Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/instructions/CallInstr;)V
7: aload 2
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 8 0 this Lorg/jruby/ir/IRBuilder;
0 8 1 forNode Lorg/jruby/ast/ForNode;
1 8 2 result Lorg/jruby/ir/operands/Variable;
2 8 3 receiver Lorg/jruby/ir/operands/Operand;
3 8 4 forBlock Lorg/jruby/ir/operands/Operand;
6 8 5 callInstr Lorg/jruby/ir/instructions/CallInstr;
MethodParameters:
Name Flags
forNode
public org.jruby.ir.operands.Operand buildForIter(org.jruby.ast.ForNode);
descriptor: (Lorg/jruby/ast/ForNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=3, args_size=2
start local 0 start local 1 0: new org.jruby.ir.IRFor
dup
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
aload 1
invokevirtual org.jruby.ast.ForNode.getLine:()I
aload 1
invokevirtual org.jruby.ast.ForNode.getScope:()Lorg/jruby/parser/StaticScope;
aload 1
invokestatic org.jruby.runtime.Signature.from:(Lorg/jruby/ast/ForNode;)Lorg/jruby/runtime/Signature;
invokespecial org.jruby.ir.IRFor.<init>:(Lorg/jruby/ir/IRManager;Lorg/jruby/ir/IRScope;ILorg/jruby/parser/StaticScope;Lorg/jruby/runtime/Signature;)V
astore 2
start local 2 1: aload 0
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
aload 2
invokevirtual org.jruby.ir.IRBuilder.newIRBuilder:(Lorg/jruby/ir/IRManager;Lorg/jruby/ir/IRScope;)Lorg/jruby/ir/IRBuilder;
aload 1
invokevirtual org.jruby.ir.IRBuilder.buildIterInner:(Lorg/jruby/ast/IterNode;)Lorg/jruby/ir/interpreter/InterpreterContext;
pop
2: new org.jruby.ir.operands.WrappedIRClosure
dup
aload 0
invokevirtual org.jruby.ir.IRBuilder.buildSelf:()Lorg/jruby/ir/operands/Variable;
aload 2
invokespecial org.jruby.ir.operands.WrappedIRClosure.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/IRClosure;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/ir/IRBuilder;
0 3 1 forNode Lorg/jruby/ast/ForNode;
1 3 2 closure Lorg/jruby/ir/IRClosure;
MethodParameters:
Name Flags
forNode final
public org.jruby.ir.operands.Operand buildGlobalAsgn(org.jruby.ast.GlobalAsgnNode);
descriptor: (Lorg/jruby/ast/GlobalAsgnNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.jruby.ast.GlobalAsgnNode.getValueNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 2
start local 2 1: aload 0
new org.jruby.ir.instructions.PutGlobalVarInstr
dup
aload 1
invokevirtual org.jruby.ast.GlobalAsgnNode.getName:()Lorg/jruby/RubySymbol;
aload 2
invokespecial org.jruby.ir.instructions.PutGlobalVarInstr.<init>:(Lorg/jruby/RubySymbol;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
2: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/ir/IRBuilder;
0 3 1 globalAsgnNode Lorg/jruby/ast/GlobalAsgnNode;
1 3 2 value Lorg/jruby/ir/operands/Operand;
MethodParameters:
Name Flags
globalAsgnNode
public org.jruby.ir.operands.Operand buildGlobalVar(org.jruby.ir.operands.Variable, org.jruby.ast.GlobalVarNode);
descriptor: (Lorg/jruby/ir/operands/Variable;Lorg/jruby/ast/GlobalVarNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 1
aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 1
1: StackMap locals:
StackMap stack:
aload 0
new org.jruby.ir.instructions.GetGlobalVariableInstr
dup
aload 1
aload 2
invokevirtual org.jruby.ast.GlobalVarNode.getName:()Lorg/jruby/RubySymbol;
invokespecial org.jruby.ir.instructions.GetGlobalVariableInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/RubySymbol;)V
invokevirtual org.jruby.ir.IRBuilder.addResultInstr:(Lorg/jruby/ir/instructions/ResultInstr;)Lorg/jruby/ir/operands/Variable;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/ir/IRBuilder;
0 2 1 result Lorg/jruby/ir/operands/Variable;
0 2 2 node Lorg/jruby/ast/GlobalVarNode;
MethodParameters:
Name Flags
result
node
public org.jruby.ir.operands.Operand buildHash(org.jruby.ast.HashNode);
descriptor: (Lorg/jruby/ast/HashNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=11, locals=10, args_size=2
start local 0 start local 1 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
start local 2 1: aload 1
invokevirtual org.jruby.ast.HashNode.containsVariableAssignment:()Z
istore 3
start local 3 2: aconst_null
astore 4
start local 4 3: aload 1
invokevirtual org.jruby.ast.HashNode.getPairs:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 19
StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.HashNode java.util.List int org.jruby.ir.operands.Variable top java.util.Iterator
StackMap stack:
4: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.jruby.util.KeyValuePair
astore 5
start local 5 5: aload 5
invokevirtual org.jruby.util.KeyValuePair.getKey:()Ljava/lang/Object;
checkcast org.jruby.ast.Node
astore 7
start local 7 6: aload 7
ifnonnull 17
7: aload 4
ifnonnull 11
8: aload 0
new org.jruby.ir.operands.Hash
dup
aload 2
invokespecial org.jruby.ir.operands.Hash.<init>:(Ljava/util/List;)V
invokevirtual org.jruby.ir.IRBuilder.copyAndReturnValue:(Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/operands/Variable;
astore 4
9: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
10: goto 14
StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.HashNode java.util.List int org.jruby.ir.operands.Variable org.jruby.util.KeyValuePair java.util.Iterator org.jruby.ast.Node
StackMap stack:
11: aload 2
invokeinterface java.util.List.isEmpty:()Z
ifne 14
12: aload 0
new org.jruby.ir.instructions.RuntimeHelperCall
dup
aload 4
getstatic org.jruby.ir.instructions.RuntimeHelperCall$Methods.MERGE_KWARGS:Lorg/jruby/ir/instructions/RuntimeHelperCall$Methods;
iconst_2
anewarray org.jruby.ir.operands.Operand
dup
iconst_0
aload 4
aastore
dup
iconst_1
new org.jruby.ir.operands.Hash
dup
aload 2
invokespecial org.jruby.ir.operands.Hash.<init>:(Ljava/util/List;)V
aastore
invokespecial org.jruby.ir.instructions.RuntimeHelperCall.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/instructions/RuntimeHelperCall$Methods;[Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
13: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
14: StackMap locals:
StackMap stack:
aload 0
aload 5
invokevirtual org.jruby.util.KeyValuePair.getValue:()Ljava/lang/Object;
checkcast org.jruby.ast.Node
iload 3
invokevirtual org.jruby.ir.IRBuilder.buildWithOrder:(Lorg/jruby/ast/Node;Z)Lorg/jruby/ir/operands/Operand;
astore 9
start local 9 15: aload 0
new org.jruby.ir.instructions.RuntimeHelperCall
dup
aload 4
getstatic org.jruby.ir.instructions.RuntimeHelperCall$Methods.MERGE_KWARGS:Lorg/jruby/ir/instructions/RuntimeHelperCall$Methods;
iconst_2
anewarray org.jruby.ir.operands.Operand
dup
iconst_0
aload 4
aastore
dup
iconst_1
aload 9
aastore
invokespecial org.jruby.ir.instructions.RuntimeHelperCall.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/instructions/RuntimeHelperCall$Methods;[Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
16: goto 19
end local 9 17: StackMap locals:
StackMap stack:
aload 0
aload 7
iload 3
invokevirtual org.jruby.ir.IRBuilder.buildWithOrder:(Lorg/jruby/ast/Node;Z)Lorg/jruby/ir/operands/Operand;
astore 8
start local 8 18: aload 2
new org.jruby.util.KeyValuePair
dup
aload 8
aload 0
aload 5
invokevirtual org.jruby.util.KeyValuePair.getValue:()Ljava/lang/Object;
checkcast org.jruby.ast.Node
iload 3
invokevirtual org.jruby.ir.IRBuilder.buildWithOrder:(Lorg/jruby/ast/Node;Z)Lorg/jruby/ir/operands/Operand;
invokespecial org.jruby.util.KeyValuePair.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 8 end local 7 end local 5 19: StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.HashNode java.util.List int org.jruby.ir.operands.Variable top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
20: aload 4
ifnonnull 23
21: aload 0
new org.jruby.ir.operands.Hash
dup
aload 2
invokespecial org.jruby.ir.operands.Hash.<init>:(Ljava/util/List;)V
invokevirtual org.jruby.ir.IRBuilder.copyAndReturnValue:(Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/operands/Variable;
astore 4
22: goto 25
StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.HashNode java.util.List int org.jruby.ir.operands.Variable
StackMap stack:
23: aload 2
invokeinterface java.util.List.isEmpty:()Z
ifne 25
24: aload 0
new org.jruby.ir.instructions.RuntimeHelperCall
dup
aload 4
getstatic org.jruby.ir.instructions.RuntimeHelperCall$Methods.MERGE_KWARGS:Lorg/jruby/ir/instructions/RuntimeHelperCall$Methods;
iconst_2
anewarray org.jruby.ir.operands.Operand
dup
iconst_0
aload 4
aastore
dup
iconst_1
new org.jruby.ir.operands.Hash
dup
aload 2
invokespecial org.jruby.ir.operands.Hash.<init>:(Ljava/util/List;)V
aastore
invokespecial org.jruby.ir.instructions.RuntimeHelperCall.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/instructions/RuntimeHelperCall$Methods;[Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
25: StackMap locals:
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lorg/jruby/ir/IRBuilder;
0 26 1 hashNode Lorg/jruby/ast/HashNode;
1 26 2 args Ljava/util/List<Lorg/jruby/util/KeyValuePair<Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;>;>;
2 26 3 hasAssignments Z
3 26 4 hash Lorg/jruby/ir/operands/Variable;
5 19 5 pair Lorg/jruby/util/KeyValuePair<Lorg/jruby/ast/Node;Lorg/jruby/ast/Node;>;
6 19 7 key Lorg/jruby/ast/Node;
18 19 8 keyOperand Lorg/jruby/ir/operands/Operand;
15 17 9 splat Lorg/jruby/ir/operands/Operand;
MethodParameters:
Name Flags
hashNode
public org.jruby.ir.operands.Operand buildIf(org.jruby.ir.operands.Variable, org.jruby.ast.IfNode);
descriptor: (Lorg/jruby/ir/operands/Variable;Lorg/jruby/ast/IfNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=12, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual org.jruby.ast.IfNode.getCondition:()Lorg/jruby/ast/Node;
astore 3
start local 3 1: aload 0
invokevirtual org.jruby.ir.IRBuilder.getNewLabel:()Lorg/jruby/ir/operands/Label;
astore 4
start local 4 2: aload 0
invokevirtual org.jruby.ir.IRBuilder.getNewLabel:()Lorg/jruby/ir/operands/Label;
astore 5
start local 5 3: aload 0
aload 0
aload 3
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getFalse:()Lorg/jruby/ir/operands/Boolean;
aload 4
invokestatic org.jruby.ir.IRBuilder.createBranch:(Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Label;)Lorg/jruby/ir/instructions/Instr;
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
4: iconst_0
istore 7
start local 7 5: iconst_0
istore 8
start local 8 6: iconst_0
istore 9
start local 9 7: iconst_0
istore 10
start local 10 8: aload 2
invokevirtual org.jruby.ast.IfNode.getThenBody:()Lorg/jruby/ast/Node;
ifnull 17
9: aload 0
aload 1
aload 2
invokevirtual org.jruby.ast.IfNode.getThenBody:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 6
start local 6 10: aload 6
getstatic org.jruby.ir.IRBuilder.U_NIL:Lorg/jruby/ir/operands/UnexecutableNil;
if_acmpeq 14
11: aload 0
aload 6
invokevirtual org.jruby.ir.IRBuilder.getValueInTemporaryVariable:(Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/operands/Variable;
astore 1
12: aload 0
new org.jruby.ir.instructions.JumpInstr
dup
aload 5
invokespecial org.jruby.ir.instructions.JumpInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
13: goto 21
14: StackMap locals: org.jruby.ir.IRBuilder org.jruby.ir.operands.Variable org.jruby.ast.IfNode org.jruby.ast.Node org.jruby.ir.operands.Label org.jruby.ir.operands.Label org.jruby.ir.operands.Operand int int int int
StackMap stack:
aload 1
ifnonnull 15
aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 1
15: StackMap locals:
StackMap stack:
iconst_1
istore 9
16: goto 21
end local 6 17: StackMap locals: org.jruby.ir.IRBuilder org.jruby.ir.operands.Variable org.jruby.ast.IfNode org.jruby.ast.Node org.jruby.ir.operands.Label org.jruby.ir.operands.Label top int int int int
StackMap stack:
iconst_1
istore 7
18: aload 1
ifnonnull 19
aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 1
19: StackMap locals:
StackMap stack:
aload 0
new org.jruby.ir.instructions.CopyInstr
dup
aload 1
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getNil:()Lorg/jruby/ir/operands/Nil;
invokespecial org.jruby.ir.instructions.CopyInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
20: aload 0
new org.jruby.ir.instructions.JumpInstr
dup
aload 5
invokespecial org.jruby.ir.instructions.JumpInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
21: StackMap locals:
StackMap stack:
aload 0
new org.jruby.ir.instructions.LabelInstr
dup
aload 4
invokespecial org.jruby.ir.instructions.LabelInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
22: aload 2
invokevirtual org.jruby.ast.IfNode.getElseBody:()Lorg/jruby/ast/Node;
ifnull 29
23: aload 0
aload 2
invokevirtual org.jruby.ast.IfNode.getElseBody:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 11
start local 11 24: aload 11
getstatic org.jruby.ir.IRBuilder.U_NIL:Lorg/jruby/ir/operands/UnexecutableNil;
if_acmpeq 27
25: aload 0
new org.jruby.ir.instructions.CopyInstr
dup
aload 1
aload 11
invokespecial org.jruby.ir.instructions.CopyInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
26: goto 31
27: StackMap locals: org.jruby.ir.operands.Operand
StackMap stack:
iconst_1
istore 10
end local 11 28: goto 31
29: StackMap locals:
StackMap stack:
iconst_1
istore 8
30: aload 0
new org.jruby.ir.instructions.CopyInstr
dup
aload 1
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getNil:()Lorg/jruby/ir/operands/Nil;
invokespecial org.jruby.ir.instructions.CopyInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
31: StackMap locals:
StackMap stack:
iload 7
ifeq 34
iload 8
ifeq 34
32: aload 0
new org.jruby.ir.instructions.LabelInstr
dup
aload 5
invokespecial org.jruby.ir.instructions.LabelInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
33: aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getNil:()Lorg/jruby/ir/operands/Nil;
areturn
34: StackMap locals:
StackMap stack:
iload 9
ifeq 36
iload 10
ifeq 36
35: getstatic org.jruby.ir.IRBuilder.U_NIL:Lorg/jruby/ir/operands/UnexecutableNil;
areturn
36: StackMap locals:
StackMap stack:
aload 0
new org.jruby.ir.instructions.LabelInstr
dup
aload 5
invokespecial org.jruby.ir.instructions.LabelInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
37: aload 1
areturn
end local 10 end local 9 end local 8 end local 7 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 38 0 this Lorg/jruby/ir/IRBuilder;
0 38 1 result Lorg/jruby/ir/operands/Variable;
0 38 2 ifNode Lorg/jruby/ast/IfNode;
1 38 3 actualCondition Lorg/jruby/ast/Node;
2 38 4 falseLabel Lorg/jruby/ir/operands/Label;
3 38 5 doneLabel Lorg/jruby/ir/operands/Label;
10 17 6 thenResult Lorg/jruby/ir/operands/Operand;
5 38 7 thenNull Z
6 38 8 elseNull Z
7 38 9 thenUnil Z
8 38 10 elseUnil Z
24 28 11 elseResult Lorg/jruby/ir/operands/Operand;
MethodParameters:
Name Flags
result
ifNode final
public org.jruby.ir.operands.Operand buildInstAsgn(org.jruby.ast.InstAsgnNode);
descriptor: (Lorg/jruby/ast/InstAsgnNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.jruby.ast.InstAsgnNode.getValueNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 2
start local 2 1: aload 0
new org.jruby.ir.instructions.PutFieldInstr
dup
aload 0
invokevirtual org.jruby.ir.IRBuilder.buildSelf:()Lorg/jruby/ir/operands/Variable;
aload 1
invokevirtual org.jruby.ast.InstAsgnNode.getName:()Lorg/jruby/RubySymbol;
aload 2
invokespecial org.jruby.ir.instructions.PutFieldInstr.<init>:(Lorg/jruby/ir/operands/Operand;Lorg/jruby/RubySymbol;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
2: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/ir/IRBuilder;
0 3 1 instAsgnNode Lorg/jruby/ast/InstAsgnNode;
1 3 2 val Lorg/jruby/ir/operands/Operand;
MethodParameters:
Name Flags
instAsgnNode final
public org.jruby.ir.operands.Operand buildInstVar(org.jruby.ast.InstVarNode);
descriptor: (Lorg/jruby/ast/InstVarNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new org.jruby.ir.instructions.GetFieldInstr
dup
aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
aload 0
invokevirtual org.jruby.ir.IRBuilder.buildSelf:()Lorg/jruby/ir/operands/Variable;
aload 1
invokevirtual org.jruby.ast.InstVarNode.getName:()Lorg/jruby/RubySymbol;
invokespecial org.jruby.ir.instructions.GetFieldInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;Lorg/jruby/RubySymbol;)V
invokevirtual org.jruby.ir.IRBuilder.addResultInstr:(Lorg/jruby/ir/instructions/ResultInstr;)Lorg/jruby/ir/operands/Variable;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/IRBuilder;
0 1 1 node Lorg/jruby/ast/InstVarNode;
MethodParameters:
Name Flags
node
private org.jruby.ir.interpreter.InterpreterContext buildIterInner(org.jruby.ast.IterNode);
descriptor: (Lorg/jruby/ast/IterNode;)Lorg/jruby/ir/interpreter/InterpreterContext;
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=4, args_size=2
start local 0 start local 1 0: aload 1
instanceof org.jruby.ast.ForNode
istore 2
start local 2 1: aload 0
invokevirtual org.jruby.ir.IRBuilder.prepareImplicitState:()V
2: getstatic org.jruby.RubyInstanceConfig.FULL_TRACE_ENABLED:Z
ifeq 4
3: aload 0
new org.jruby.ir.instructions.TraceInstr
dup
getstatic org.jruby.runtime.RubyEvent.B_CALL:Lorg/jruby/runtime/RubyEvent;
aload 0
invokevirtual org.jruby.ir.IRBuilder.getName:()Lorg/jruby/RubySymbol;
aload 0
invokevirtual org.jruby.ir.IRBuilder.getFileName:()Ljava/lang/String;
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.getLine:()I
iconst_1
iadd
invokespecial org.jruby.ir.instructions.TraceInstr.<init>:(Lorg/jruby/runtime/RubyEvent;Lorg/jruby/RubySymbol;Ljava/lang/String;I)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
4: StackMap locals: int
StackMap stack:
iload 2
ifne 5
aload 0
invokevirtual org.jruby.ir.IRBuilder.addCurrentScopeAndModule:()V
5: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.jruby.ir.IRBuilder.receiveBlockArgs:(Lorg/jruby/ast/IterNode;)V
6: iload 2
ifeq 7
aload 0
invokevirtual org.jruby.ir.IRBuilder.addCurrentScopeAndModule:()V
7: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.jruby.ir.IRBuilder.instructions:Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
isub
putfield org.jruby.ir.IRBuilder.afterPrologueIndex:I
8: aload 1
invokevirtual org.jruby.ast.IterNode.getBodyNode:()Lorg/jruby/ast/Node;
ifnonnull 9
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getNil:()Lorg/jruby/ir/operands/Nil;
goto 10
StackMap locals:
StackMap stack:
9: aload 0
aload 1
invokevirtual org.jruby.ast.IterNode.getBodyNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
StackMap locals:
StackMap stack: org.jruby.ir.operands.Operand
10: astore 3
start local 3 11: getstatic org.jruby.RubyInstanceConfig.FULL_TRACE_ENABLED:Z
ifeq 13
12: aload 0
new org.jruby.ir.instructions.TraceInstr
dup
getstatic org.jruby.runtime.RubyEvent.B_RETURN:Lorg/jruby/runtime/RubyEvent;
aload 0
invokevirtual org.jruby.ir.IRBuilder.getName:()Lorg/jruby/RubySymbol;
aload 0
invokevirtual org.jruby.ir.IRBuilder.getFileName:()Ljava/lang/String;
aload 1
invokevirtual org.jruby.ast.IterNode.getEndLine:()I
iconst_1
iadd
invokespecial org.jruby.ir.instructions.TraceInstr.<init>:(Lorg/jruby/runtime/RubyEvent;Lorg/jruby/RubySymbol;Ljava/lang/String;I)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
13: StackMap locals: org.jruby.ir.operands.Operand
StackMap stack:
aload 3
getstatic org.jruby.ir.IRBuilder.U_NIL:Lorg/jruby/ir/operands/UnexecutableNil;
if_acmpeq 14
aload 0
new org.jruby.ir.instructions.ReturnInstr
dup
aload 3
invokespecial org.jruby.ir.instructions.ReturnInstr.<init>:(Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
14: StackMap locals:
StackMap stack:
iload 2
ifne 15
aload 0
invokevirtual org.jruby.ir.IRBuilder.handleBreakAndReturnsInLambdas:()V
15: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
aload 0
getfield org.jruby.ir.IRBuilder.instructions:Ljava/util/List;
invokevirtual org.jruby.ir.IRScope.allocateInterpreterContext:(Ljava/util/List;)Lorg/jruby/ir/interpreter/InterpreterContext;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/jruby/ir/IRBuilder;
0 16 1 iterNode Lorg/jruby/ast/IterNode;
1 16 2 forNode Z
11 16 3 closureRetVal Lorg/jruby/ir/operands/Operand;
MethodParameters:
Name Flags
iterNode
public org.jruby.ir.operands.Operand buildIter(org.jruby.ast.IterNode);
descriptor: (Lorg/jruby/ast/IterNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=3, args_size=2
start local 0 start local 1 0: new org.jruby.ir.IRClosure
dup
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
aload 1
invokevirtual org.jruby.ast.IterNode.getLine:()I
aload 1
invokevirtual org.jruby.ast.IterNode.getScope:()Lorg/jruby/parser/StaticScope;
aload 1
invokestatic org.jruby.runtime.Signature.from:(Lorg/jruby/ast/IterNode;)Lorg/jruby/runtime/Signature;
aload 0
getfield org.jruby.ir.IRBuilder.needsCodeCoverage:Z
invokespecial org.jruby.ir.IRClosure.<init>:(Lorg/jruby/ir/IRManager;Lorg/jruby/ir/IRScope;ILorg/jruby/parser/StaticScope;Lorg/jruby/runtime/Signature;Z)V
astore 2
start local 2 1: aload 0
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
aload 2
invokevirtual org.jruby.ir.IRBuilder.newIRBuilder:(Lorg/jruby/ir/IRManager;Lorg/jruby/ir/IRScope;)Lorg/jruby/ir/IRBuilder;
aload 1
invokevirtual org.jruby.ir.IRBuilder.buildIterInner:(Lorg/jruby/ast/IterNode;)Lorg/jruby/ir/interpreter/InterpreterContext;
pop
2: new org.jruby.ir.operands.WrappedIRClosure
dup
aload 0
invokevirtual org.jruby.ir.IRBuilder.buildSelf:()Lorg/jruby/ir/operands/Variable;
aload 2
invokespecial org.jruby.ir.operands.WrappedIRClosure.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/IRClosure;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/ir/IRBuilder;
0 3 1 iterNode Lorg/jruby/ast/IterNode;
1 3 2 closure Lorg/jruby/ir/IRClosure;
MethodParameters:
Name Flags
iterNode final
public org.jruby.ir.operands.Operand buildLiteral(org.jruby.ast.LiteralNode);
descriptor: (Lorg/jruby/ast/LiteralNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: new org.jruby.ir.operands.StringLiteral
dup
aload 1
invokevirtual org.jruby.ast.LiteralNode.getSymbolName:()Lorg/jruby/RubySymbol;
invokespecial org.jruby.ir.operands.StringLiteral.<init>:(Lorg/jruby/RubySymbol;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/IRBuilder;
0 1 1 literalNode Lorg/jruby/ast/LiteralNode;
MethodParameters:
Name Flags
literalNode
public org.jruby.ir.operands.Operand buildLocalAsgn(org.jruby.ast.LocalAsgnNode);
descriptor: (Lorg/jruby/ast/LocalAsgnNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.jruby.ast.LocalAsgnNode.getName:()Lorg/jruby/RubySymbol;
aload 1
invokevirtual org.jruby.ast.LocalAsgnNode.getDepth:()I
invokevirtual org.jruby.ir.IRBuilder.getLocalVariable:(Lorg/jruby/RubySymbol;I)Lorg/jruby/ir/operands/LocalVariable;
astore 2
start local 2 1: aload 0
aload 2
aload 1
invokevirtual org.jruby.ast.LocalAsgnNode.getValueNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 3
start local 3 2: aload 2
aload 3
if_acmpne 3
aload 3
areturn
3: StackMap locals: org.jruby.ir.operands.Variable org.jruby.ir.operands.Operand
StackMap stack:
aload 0
new org.jruby.ir.instructions.CopyInstr
dup
aload 2
aload 3
invokespecial org.jruby.ir.instructions.CopyInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
4: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/jruby/ir/IRBuilder;
0 5 1 localAsgnNode Lorg/jruby/ast/LocalAsgnNode;
1 5 2 variable Lorg/jruby/ir/operands/Variable;
2 5 3 value Lorg/jruby/ir/operands/Operand;
MethodParameters:
Name Flags
localAsgnNode
public org.jruby.ir.operands.Operand buildLocalVar(org.jruby.ast.LocalVarNode);
descriptor: (Lorg/jruby/ast/LocalVarNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.jruby.ast.LocalVarNode.getName:()Lorg/jruby/RubySymbol;
aload 1
invokevirtual org.jruby.ast.LocalVarNode.getDepth:()I
invokevirtual org.jruby.ir.IRBuilder.getLocalVariable:(Lorg/jruby/RubySymbol;I)Lorg/jruby/ir/operands/LocalVariable;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/IRBuilder;
0 1 1 node Lorg/jruby/ast/LocalVarNode;
MethodParameters:
Name Flags
node
public org.jruby.ir.operands.Operand buildMatch(org.jruby.ir.operands.Variable, org.jruby.ast.MatchNode);
descriptor: (Lorg/jruby/ir/operands/Variable;Lorg/jruby/ast/MatchNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
invokevirtual org.jruby.ast.MatchNode.getRegexpNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 3
start local 3 1: aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 4
start local 4 2: aload 0
new org.jruby.ir.instructions.GetGlobalVariableInstr
dup
aload 4
aload 0
ldc "$_"
invokevirtual org.jruby.ir.IRBuilder.symbol:(Ljava/lang/String;)Lorg/jruby/RubySymbol;
invokespecial org.jruby.ir.instructions.GetGlobalVariableInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/RubySymbol;)V
invokevirtual org.jruby.ir.IRBuilder.addResultInstr:(Lorg/jruby/ir/instructions/ResultInstr;)Lorg/jruby/ir/operands/Variable;
pop
3: aload 1
ifnonnull 4
aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 1
4: StackMap locals: org.jruby.ir.operands.Operand org.jruby.ir.operands.Variable
StackMap stack:
aload 0
new org.jruby.ir.instructions.MatchInstr
dup
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
aload 1
aload 3
aload 4
invokespecial org.jruby.ir.instructions.MatchInstr.<init>:(Lorg/jruby/ir/IRScope;Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addResultInstr:(Lorg/jruby/ir/instructions/ResultInstr;)Lorg/jruby/ir/operands/Variable;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/jruby/ir/IRBuilder;
0 5 1 result Lorg/jruby/ir/operands/Variable;
0 5 2 matchNode Lorg/jruby/ast/MatchNode;
1 5 3 regexp Lorg/jruby/ir/operands/Operand;
2 5 4 tempLastLine Lorg/jruby/ir/operands/Variable;
MethodParameters:
Name Flags
result
matchNode
public org.jruby.ir.operands.Operand buildMatch2(org.jruby.ir.operands.Variable, org.jruby.ast.Match2Node);
descriptor: (Lorg/jruby/ir/operands/Variable;Lorg/jruby/ast/Match2Node;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=13, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
invokevirtual org.jruby.ast.Match2Node.getReceiverNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 3
start local 3 1: aload 0
aload 2
invokevirtual org.jruby.ast.Match2Node.getValueNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 4
start local 4 2: aload 1
ifnonnull 3
aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 1
3: StackMap locals: org.jruby.ir.operands.Operand org.jruby.ir.operands.Operand
StackMap stack:
aload 0
new org.jruby.ir.instructions.MatchInstr
dup
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
aload 1
aload 3
aload 4
invokespecial org.jruby.ir.instructions.MatchInstr.<init>:(Lorg/jruby/ir/IRScope;Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
4: aload 2
instanceof org.jruby.ast.Match2CaptureNode
ifeq 14
5: aload 2
checkcast org.jruby.ast.Match2CaptureNode
astore 5
start local 5 6: aload 5
invokevirtual org.jruby.ast.Match2CaptureNode.getScopeOffsets:()[I
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 13
StackMap locals: org.jruby.ir.IRBuilder org.jruby.ir.operands.Variable org.jruby.ast.Match2Node org.jruby.ir.operands.Operand org.jruby.ir.operands.Operand org.jruby.ast.Match2CaptureNode top int int int[]
StackMap stack:
7: aload 9
iload 7
iaload
istore 6
start local 6 8: iload 6
bipush 16
ishr
istore 10
start local 10 9: iload 6
ldc 65535
iand
istore 11
start local 11 10: aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
getfield org.jruby.ir.IRManager.runtime:Lorg/jruby/Ruby;
aload 0
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
iload 10
iload 11
invokevirtual org.jruby.ir.IRBuilder.getVarNameFromScopeTree:(Lorg/jruby/ir/IRScope;II)Ljava/lang/String;
invokevirtual org.jruby.Ruby.newSymbol:(Ljava/lang/String;)Lorg/jruby/RubySymbol;
astore 12
start local 12 11: aload 0
new org.jruby.ir.instructions.SetCapturedVarInstr
dup
aload 0
aload 12
iload 10
invokevirtual org.jruby.ir.IRBuilder.getLocalVariable:(Lorg/jruby/RubySymbol;I)Lorg/jruby/ir/operands/LocalVariable;
aload 1
aload 12
invokespecial org.jruby.ir.instructions.SetCapturedVarInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;Lorg/jruby/RubySymbol;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
end local 12 end local 11 end local 10 end local 6 12: iinc 7 1
StackMap locals:
StackMap stack:
13: iload 7
iload 8
if_icmplt 7
end local 5 14: StackMap locals: org.jruby.ir.IRBuilder org.jruby.ir.operands.Variable org.jruby.ast.Match2Node org.jruby.ir.operands.Operand org.jruby.ir.operands.Operand
StackMap stack:
aload 1
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/jruby/ir/IRBuilder;
0 15 1 result Lorg/jruby/ir/operands/Variable;
0 15 2 matchNode Lorg/jruby/ast/Match2Node;
1 15 3 receiver Lorg/jruby/ir/operands/Operand;
2 15 4 value Lorg/jruby/ir/operands/Operand;
6 14 5 m2c Lorg/jruby/ast/Match2CaptureNode;
8 12 6 slot I
9 12 10 depth I
10 12 11 offset I
11 12 12 var Lorg/jruby/RubySymbol;
MethodParameters:
Name Flags
result
matchNode
private java.lang.String getVarNameFromScopeTree(org.jruby.ir.IRScope, int, int);
descriptor: (Lorg/jruby/ir/IRScope;II)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 2
ifne 2
1: aload 1
invokevirtual org.jruby.ir.IRScope.getStaticScope:()Lorg/jruby/parser/StaticScope;
invokevirtual org.jruby.parser.StaticScope.getVariables:()[Ljava/lang/String;
iload 3
aaload
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.jruby.ir.IRScope.getLexicalParent:()Lorg/jruby/ir/IRScope;
iload 2
iconst_1
isub
iload 3
invokevirtual org.jruby.ir.IRBuilder.getVarNameFromScopeTree:(Lorg/jruby/ir/IRScope;II)Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/ir/IRBuilder;
0 3 1 scope Lorg/jruby/ir/IRScope;
0 3 2 depth I
0 3 3 offset I
MethodParameters:
Name Flags
scope
depth
offset
public org.jruby.ir.operands.Operand buildMatch3(org.jruby.ir.operands.Variable, org.jruby.ast.Match3Node);
descriptor: (Lorg/jruby/ir/operands/Variable;Lorg/jruby/ast/Match3Node;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
invokevirtual org.jruby.ast.Match3Node.getReceiverNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 3
start local 3 1: aload 0
aload 2
invokevirtual org.jruby.ast.Match3Node.getValueNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 4
start local 4 2: aload 1
ifnonnull 3
aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 1
3: StackMap locals: org.jruby.ir.operands.Operand org.jruby.ir.operands.Operand
StackMap stack:
aload 0
new org.jruby.ir.instructions.MatchInstr
dup
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
aload 1
aload 3
aload 4
invokespecial org.jruby.ir.instructions.MatchInstr.<init>:(Lorg/jruby/ir/IRScope;Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addResultInstr:(Lorg/jruby/ir/instructions/ResultInstr;)Lorg/jruby/ir/operands/Variable;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jruby/ir/IRBuilder;
0 4 1 result Lorg/jruby/ir/operands/Variable;
0 4 2 matchNode Lorg/jruby/ast/Match3Node;
1 4 3 receiver Lorg/jruby/ir/operands/Operand;
2 4 4 value Lorg/jruby/ir/operands/Operand;
MethodParameters:
Name Flags
result
matchNode
private org.jruby.ir.operands.Operand getContainerFromCPath(org.jruby.ast.Colon3Node);
descriptor: (Lorg/jruby/ast/Colon3Node;)Lorg/jruby/ir/operands/Operand;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
instanceof org.jruby.ast.Colon2Node
ifeq 7
1: aload 1
checkcast org.jruby.ast.Colon2Node
invokevirtual org.jruby.ast.Colon2Node.getLeftNode:()Lorg/jruby/ast/Node;
astore 3
start local 3 2: aload 3
ifnull 5
3: aload 0
aload 3
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 2
start local 2 4: goto 8
end local 2 5: StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.Colon3Node top org.jruby.ast.Node
StackMap stack:
aload 0
invokevirtual org.jruby.ir.IRBuilder.findContainerModule:()Lorg/jruby/ir/operands/Operand;
astore 2
end local 3 start local 2 6: goto 8
end local 2 7: StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.Colon3Node
StackMap stack:
new org.jruby.ir.operands.ObjectClass
dup
invokespecial org.jruby.ir.operands.ObjectClass.<init>:()V
astore 2
start local 2 8: StackMap locals: org.jruby.ir.operands.Operand
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/jruby/ir/IRBuilder;
0 9 1 cpath Lorg/jruby/ast/Colon3Node;
4 5 2 container Lorg/jruby/ir/operands/Operand;
6 7 2 container Lorg/jruby/ir/operands/Operand;
8 9 2 container Lorg/jruby/ir/operands/Operand;
2 6 3 leftNode Lorg/jruby/ast/Node;
MethodParameters:
Name Flags
cpath
public org.jruby.ir.operands.Operand buildModule(org.jruby.ast.ModuleNode);
descriptor: (Lorg/jruby/ast/ModuleNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=8, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.ir.IRBuilder.executesOnce:Z
istore 2
start local 2 1: aload 1
invokevirtual org.jruby.ast.ModuleNode.getCPath:()Lorg/jruby/ast/Colon3Node;
astore 3
start local 3 2: aload 3
invokevirtual org.jruby.ast.Colon3Node.getName:()Lorg/jruby/RubySymbol;
invokevirtual org.jruby.RubySymbol.getBytes:()Lorg/jruby/util/ByteList;
astore 4
start local 4 3: aload 0
aload 3
invokevirtual org.jruby.ir.IRBuilder.getContainerFromCPath:(Lorg/jruby/ast/Colon3Node;)Lorg/jruby/ir/operands/Operand;
astore 5
start local 5 4: new org.jruby.ir.IRModuleBody
dup
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
aload 4
aload 1
invokevirtual org.jruby.ast.ModuleNode.getLine:()I
aload 1
invokevirtual org.jruby.ast.ModuleNode.getScope:()Lorg/jruby/parser/StaticScope;
iload 2
invokespecial org.jruby.ir.IRModuleBody.<init>:(Lorg/jruby/ir/IRManager;Lorg/jruby/ir/IRScope;Lorg/jruby/util/ByteList;ILorg/jruby/parser/StaticScope;Z)V
astore 6
start local 6 5: aload 0
new org.jruby.ir.instructions.DefineModuleInstr
dup
aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
aload 6
aload 5
invokespecial org.jruby.ir.instructions.DefineModuleInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/IRModuleBody;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addResultInstr:(Lorg/jruby/ir/instructions/ResultInstr;)Lorg/jruby/ir/operands/Variable;
astore 7
start local 7 6: aload 0
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
aload 6
invokevirtual org.jruby.ir.IRBuilder.newIRBuilder:(Lorg/jruby/ir/IRManager;Lorg/jruby/ir/IRScope;)Lorg/jruby/ir/IRBuilder;
aload 1
invokevirtual org.jruby.ast.ModuleNode.getBodyNode:()Lorg/jruby/ast/Node;
aload 1
invokevirtual org.jruby.ast.ModuleNode.getLine:()I
aload 1
invokevirtual org.jruby.ast.ModuleNode.getEndLine:()I
invokevirtual org.jruby.ir.IRBuilder.buildModuleOrClassBody:(Lorg/jruby/ast/Node;II)Lorg/jruby/ir/interpreter/InterpreterContext;
pop
7: aload 7
areturn
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 8 0 this Lorg/jruby/ir/IRBuilder;
0 8 1 moduleNode Lorg/jruby/ast/ModuleNode;
1 8 2 executesOnce Z
2 8 3 cpath Lorg/jruby/ast/Colon3Node;
3 8 4 moduleName Lorg/jruby/util/ByteList;
4 8 5 container Lorg/jruby/ir/operands/Operand;
5 8 6 body Lorg/jruby/ir/IRModuleBody;
6 8 7 bodyResult Lorg/jruby/ir/operands/Variable;
MethodParameters:
Name Flags
moduleNode
public org.jruby.ir.operands.Operand buildNext(org.jruby.ast.NextNode);
descriptor: (Lorg/jruby/ast/NextNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.jruby.ir.IRBuilder.getCurrentLoop:()Lorg/jruby/ir/IRBuilder$IRLoop;
astore 2
start local 2 1: aload 0
aload 1
invokevirtual org.jruby.ast.NextNode.getValueNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 3
start local 3 2: aload 0
getfield org.jruby.ir.IRBuilder.activeEnsureBlockStack:Ljava/util/Stack;
invokevirtual java.util.Stack.empty:()Z
ifne 3
aload 0
aload 2
invokevirtual org.jruby.ir.IRBuilder.emitEnsureBlocks:(Lorg/jruby/ir/IRBuilder$IRLoop;)V
3: StackMap locals: org.jruby.ir.IRBuilder$IRLoop org.jruby.ir.operands.Operand
StackMap stack:
aload 2
ifnull 6
4: aload 0
new org.jruby.ir.instructions.JumpInstr
dup
aload 2
getfield org.jruby.ir.IRBuilder$IRLoop.iterEndLabel:Lorg/jruby/ir/operands/Label;
invokespecial org.jruby.ir.instructions.JumpInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
5: goto 14
6: StackMap locals:
StackMap stack:
aload 0
new org.jruby.ir.instructions.ThreadPollInstr
dup
iconst_1
invokespecial org.jruby.ir.instructions.ThreadPollInstr.<init>:(Z)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
7: aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
instanceof org.jruby.ir.IRClosure
ifeq 13
8: aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
instanceof org.jruby.ir.IREvalScript
ifeq 11
9: aload 0
aload 1
ldc "Can't escape from eval with next"
invokevirtual org.jruby.ir.IRBuilder.throwSyntaxError:(Lorg/jruby/ast/Node;Ljava/lang/String;)V
10: goto 14
11: StackMap locals:
StackMap stack:
aload 0
new org.jruby.ir.instructions.ReturnInstr
dup
aload 3
invokespecial org.jruby.ir.instructions.ReturnInstr.<init>:(Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
12: goto 14
13: StackMap locals:
StackMap stack:
aload 0
aload 1
ldc "Invalid next"
invokevirtual org.jruby.ir.IRBuilder.throwSyntaxError:(Lorg/jruby/ast/Node;Ljava/lang/String;)V
14: StackMap locals:
StackMap stack:
getstatic org.jruby.ir.IRBuilder.U_NIL:Lorg/jruby/ir/operands/UnexecutableNil;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/jruby/ir/IRBuilder;
0 15 1 nextNode Lorg/jruby/ast/NextNode;
1 15 2 currLoop Lorg/jruby/ir/IRBuilder$IRLoop;
2 15 3 rv Lorg/jruby/ir/operands/Operand;
MethodParameters:
Name Flags
nextNode final
public org.jruby.ir.operands.Operand buildNthRef(org.jruby.ast.NthRefNode);
descriptor: (Lorg/jruby/ast/NthRefNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new org.jruby.ir.operands.NthRef
dup
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
aload 1
invokevirtual org.jruby.ast.NthRefNode.getMatchNumber:()I
invokespecial org.jruby.ir.operands.NthRef.<init>:(Lorg/jruby/ir/IRScope;I)V
invokevirtual org.jruby.ir.IRBuilder.copyAndReturnValue:(Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/operands/Variable;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/IRBuilder;
0 1 1 nthRefNode Lorg/jruby/ast/NthRefNode;
MethodParameters:
Name Flags
nthRefNode
public org.jruby.ir.operands.Operand buildNil();
descriptor: ()Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getNil:()Lorg/jruby/ir/operands/Nil;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/IRBuilder;
public org.jruby.ir.operands.Operand buildOpAsgn(org.jruby.ast.OpAsgnNode);
descriptor: (Lorg/jruby/ast/OpAsgnNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=10, locals=14, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 3
start local 3 1: aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 4
start local 4 2: aload 1
invokevirtual org.jruby.ast.OpAsgnNode.getReceiverNode:()Lorg/jruby/ast/Node;
astore 5
start local 5 3: aload 5
instanceof org.jruby.ast.SelfNode
ifeq 4
getstatic org.jruby.runtime.CallType.FUNCTIONAL:Lorg/jruby/runtime/CallType;
goto 5
StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.OpAsgnNode top org.jruby.ir.operands.Variable org.jruby.ir.operands.Variable org.jruby.ast.Node
StackMap stack:
4: getstatic org.jruby.runtime.CallType.NORMAL:Lorg/jruby/runtime/CallType;
StackMap locals:
StackMap stack: org.jruby.runtime.CallType
5: astore 6
start local 6 6: aload 0
aload 1
invokevirtual org.jruby.ast.OpAsgnNode.getReceiverNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 7
start local 7 7: aconst_null
astore 8
start local 8 8: aconst_null
astore 9
start local 9 9: aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 10
start local 10 10: aload 1
invokevirtual org.jruby.ast.OpAsgnNode.isLazy:()Z
ifeq 14
11: aload 0
invokevirtual org.jruby.ir.IRBuilder.getNewLabel:()Lorg/jruby/ir/operands/Label;
astore 8
12: aload 0
invokevirtual org.jruby.ir.IRBuilder.getNewLabel:()Lorg/jruby/ir/operands/Label;
astore 9
13: aload 0
new org.jruby.ir.instructions.BNilInstr
dup
aload 8
aload 7
invokespecial org.jruby.ir.instructions.BNilInstr.<init>:(Lorg/jruby/ir/operands/Label;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
14: StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.OpAsgnNode top org.jruby.ir.operands.Variable org.jruby.ir.operands.Variable org.jruby.ast.Node org.jruby.runtime.CallType org.jruby.ir.operands.Operand org.jruby.ir.operands.Label org.jruby.ir.operands.Label org.jruby.ir.operands.Variable
StackMap stack:
aload 0
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
aload 6
aload 3
aload 1
invokevirtual org.jruby.ast.OpAsgnNode.getVariableSymbolName:()Lorg/jruby/RubySymbol;
aload 7
getstatic org.jruby.ir.instructions.Instr.EMPTY_OPERANDS:[Lorg/jruby/ir/operands/Operand;
aconst_null
invokestatic org.jruby.ir.instructions.CallInstr.create:(Lorg/jruby/ir/IRScope;Lorg/jruby/runtime/CallType;Lorg/jruby/ir/operands/Variable;Lorg/jruby/RubySymbol;Lorg/jruby/ir/operands/Operand;[Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/instructions/CallInstr;
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
15: aload 1
invokevirtual org.jruby.ast.OpAsgnNode.isOr:()Z
istore 11
start local 11 16: iload 11
ifne 17
aload 1
invokevirtual org.jruby.ast.OpAsgnNode.isAnd:()Z
ifeq 28
17: StackMap locals: int
StackMap stack:
aload 0
invokevirtual org.jruby.ir.IRBuilder.getNewLabel:()Lorg/jruby/ir/operands/Label;
astore 2
start local 2 18: aload 0
aload 3
iload 11
ifeq 19
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getTrue:()Lorg/jruby/ir/operands/Boolean;
goto 20
StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.OpAsgnNode org.jruby.ir.operands.Label org.jruby.ir.operands.Variable org.jruby.ir.operands.Variable org.jruby.ast.Node org.jruby.runtime.CallType org.jruby.ir.operands.Operand org.jruby.ir.operands.Label org.jruby.ir.operands.Label org.jruby.ir.operands.Variable int
StackMap stack: org.jruby.ir.IRBuilder org.jruby.ir.operands.Variable
19: aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getFalse:()Lorg/jruby/ir/operands/Boolean;
StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.OpAsgnNode org.jruby.ir.operands.Label org.jruby.ir.operands.Variable org.jruby.ir.operands.Variable org.jruby.ast.Node org.jruby.runtime.CallType org.jruby.ir.operands.Operand org.jruby.ir.operands.Label org.jruby.ir.operands.Label org.jruby.ir.operands.Variable int
StackMap stack: org.jruby.ir.IRBuilder org.jruby.ir.operands.Variable org.jruby.ir.operands.Boolean
20: aload 2
invokestatic org.jruby.ir.IRBuilder.createBranch:(Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Label;)Lorg/jruby/ir/instructions/Instr;
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
21: aload 0
aload 1
invokevirtual org.jruby.ast.OpAsgnNode.getValueNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 12
start local 12 22: aload 0
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
aload 6
aload 4
aload 1
invokevirtual org.jruby.ast.OpAsgnNode.getVariableSymbolNameAsgn:()Lorg/jruby/RubySymbol;
aload 7
iconst_1
anewarray org.jruby.ir.operands.Operand
dup
iconst_0
aload 12
aastore
aconst_null
invokestatic org.jruby.ir.instructions.CallInstr.create:(Lorg/jruby/ir/IRScope;Lorg/jruby/runtime/CallType;Lorg/jruby/ir/operands/Variable;Lorg/jruby/RubySymbol;Lorg/jruby/ir/operands/Operand;[Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/instructions/CallInstr;
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
23: aload 0
new org.jruby.ir.instructions.CopyInstr
dup
aload 3
aload 12
invokespecial org.jruby.ir.instructions.CopyInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
24: aload 0
new org.jruby.ir.instructions.LabelInstr
dup
aload 2
invokespecial org.jruby.ir.instructions.LabelInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
25: aload 1
invokevirtual org.jruby.ast.OpAsgnNode.isLazy:()Z
ifne 26
aload 3
areturn
26: StackMap locals: org.jruby.ir.operands.Operand
StackMap stack:
aload 0
new org.jruby.ir.instructions.CopyInstr
dup
aload 10
aload 3
invokespecial org.jruby.ir.instructions.CopyInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
end local 12 27: goto 34
end local 2 28: StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.OpAsgnNode top org.jruby.ir.operands.Variable org.jruby.ir.operands.Variable org.jruby.ast.Node org.jruby.runtime.CallType org.jruby.ir.operands.Operand org.jruby.ir.operands.Label org.jruby.ir.operands.Label org.jruby.ir.operands.Variable int
StackMap stack:
aload 0
aload 1
invokevirtual org.jruby.ast.OpAsgnNode.getValueNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 12
start local 12 29: aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 13
start local 13 30: aload 0
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
aload 13
aload 1
invokevirtual org.jruby.ast.OpAsgnNode.getOperatorSymbolName:()Lorg/jruby/RubySymbol;
aload 3
iconst_1
anewarray org.jruby.ir.operands.Operand
dup
iconst_0
aload 12
aastore
aconst_null
invokestatic org.jruby.ir.instructions.CallInstr.create:(Lorg/jruby/ir/IRScope;Lorg/jruby/ir/operands/Variable;Lorg/jruby/RubySymbol;Lorg/jruby/ir/operands/Operand;[Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/instructions/CallInstr;
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
31: aload 0
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
aload 6
aload 4
aload 1
invokevirtual org.jruby.ast.OpAsgnNode.getVariableSymbolNameAsgn:()Lorg/jruby/RubySymbol;
aload 7
iconst_1
anewarray org.jruby.ir.operands.Operand
dup
iconst_0
aload 13
aastore
aconst_null
invokestatic org.jruby.ir.instructions.CallInstr.create:(Lorg/jruby/ir/IRScope;Lorg/jruby/runtime/CallType;Lorg/jruby/ir/operands/Variable;Lorg/jruby/RubySymbol;Lorg/jruby/ir/operands/Operand;[Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/instructions/CallInstr;
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
32: aload 1
invokevirtual org.jruby.ast.OpAsgnNode.isLazy:()Z
ifne 33
aload 13
areturn
33: StackMap locals: org.jruby.ir.operands.Operand org.jruby.ir.operands.Variable
StackMap stack:
aload 0
new org.jruby.ir.instructions.CopyInstr
dup
aload 10
aload 13
invokespecial org.jruby.ir.instructions.CopyInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
end local 13 end local 12 34: StackMap locals:
StackMap stack:
aload 0
new org.jruby.ir.instructions.JumpInstr
dup
aload 9
invokespecial org.jruby.ir.instructions.JumpInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
35: aload 0
new org.jruby.ir.instructions.LabelInstr
dup
aload 8
invokespecial org.jruby.ir.instructions.LabelInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
36: aload 0
new org.jruby.ir.instructions.CopyInstr
dup
aload 10
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getNil:()Lorg/jruby/ir/operands/Nil;
invokespecial org.jruby.ir.instructions.CopyInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
37: aload 0
new org.jruby.ir.instructions.LabelInstr
dup
aload 9
invokespecial org.jruby.ir.instructions.LabelInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
38: aload 10
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 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 39 0 this Lorg/jruby/ir/IRBuilder;
0 39 1 opAsgnNode Lorg/jruby/ast/OpAsgnNode;
18 28 2 l Lorg/jruby/ir/operands/Label;
1 39 3 readerValue Lorg/jruby/ir/operands/Variable;
2 39 4 writerValue Lorg/jruby/ir/operands/Variable;
3 39 5 receiver Lorg/jruby/ast/Node;
6 39 6 callType Lorg/jruby/runtime/CallType;
7 39 7 v1 Lorg/jruby/ir/operands/Operand;
8 39 8 lazyLabel Lorg/jruby/ir/operands/Label;
9 39 9 endLabel Lorg/jruby/ir/operands/Label;
10 39 10 result Lorg/jruby/ir/operands/Variable;
16 39 11 isOrOr Z
22 27 12 v2 Lorg/jruby/ir/operands/Operand;
29 34 12 v2 Lorg/jruby/ir/operands/Operand;
30 34 13 setValue Lorg/jruby/ir/operands/Variable;
MethodParameters:
Name Flags
opAsgnNode
private org.jruby.ir.operands.Operand buildColon2ForConstAsgnDeclNode(org.jruby.ast.Node, org.jruby.ir.operands.Variable, boolean);
descriptor: (Lorg/jruby/ast/Node;Lorg/jruby/ir/operands/Variable;Z)Lorg/jruby/ir/operands/Operand;
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 4
start local 4 1: aload 1
instanceof org.jruby.ast.Colon2Node
ifeq 7
2: aload 1
checkcast org.jruby.ast.Colon2Node
astore 6
start local 6 3: aload 6
invokevirtual org.jruby.ast.Colon2Node.getName:()Lorg/jruby/RubySymbol;
astore 5
start local 5 4: aload 0
aload 6
invokevirtual org.jruby.ast.Colon2Node.getLeftNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 7
start local 7 5: aload 0
aload 4
aload 7
invokevirtual org.jruby.ir.IRBuilder.copy:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/operands/Operand;
pop
end local 7 end local 6 6: goto 9
end local 5 7: StackMap locals: org.jruby.ir.operands.Variable
StackMap stack:
aload 0
aload 4
new org.jruby.ir.operands.ObjectClass
dup
invokespecial org.jruby.ir.operands.ObjectClass.<init>:()V
invokevirtual org.jruby.ir.IRBuilder.copy:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/operands/Operand;
pop
8: aload 1
checkcast org.jruby.ast.Colon3Node
invokevirtual org.jruby.ast.Colon3Node.getName:()Lorg/jruby/RubySymbol;
astore 5
start local 5 9: StackMap locals: org.jruby.RubySymbol
StackMap stack:
aload 0
new org.jruby.ir.instructions.SearchModuleForConstInstr
dup
aload 2
aload 4
aload 5
iconst_0
iload 3
invokespecial org.jruby.ir.instructions.SearchModuleForConstInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;Lorg/jruby/RubySymbol;ZZ)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
10: aload 4
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 11 0 this Lorg/jruby/ir/IRBuilder;
0 11 1 lhs Lorg/jruby/ast/Node;
0 11 2 valueResult Lorg/jruby/ir/operands/Variable;
0 11 3 constMissing Z
1 11 4 leftModule Lorg/jruby/ir/operands/Variable;
4 7 5 name Lorg/jruby/RubySymbol;
9 11 5 name Lorg/jruby/RubySymbol;
3 6 6 colon2Node Lorg/jruby/ast/Colon2Node;
5 6 7 leftValue Lorg/jruby/ir/operands/Operand;
MethodParameters:
Name Flags
lhs
valueResult
constMissing
public org.jruby.ir.operands.Operand buildOpAsgnConstDeclNode(org.jruby.ast.OpAsgnConstDeclNode);
descriptor: (Lorg/jruby/ast/OpAsgnConstDeclNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.jruby.ast.OpAsgnConstDeclNode.isOr:()Z
ifeq 10
1: aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 2
start local 2 2: aload 0
invokevirtual org.jruby.ir.IRBuilder.getNewLabel:()Lorg/jruby/ir/operands/Label;
astore 3
start local 3 3: aload 0
aload 1
invokevirtual org.jruby.ast.OpAsgnConstDeclNode.getFirstNode:()Lorg/jruby/ast/Node;
aload 2
iconst_0
invokevirtual org.jruby.ir.IRBuilder.buildColon2ForConstAsgnDeclNode:(Lorg/jruby/ast/Node;Lorg/jruby/ir/operands/Variable;Z)Lorg/jruby/ir/operands/Operand;
astore 4
start local 4 4: aload 0
aload 3
aload 2
getstatic org.jruby.ir.operands.UndefinedValue.UNDEFINED:Lorg/jruby/ir/operands/UndefinedValue;
invokestatic org.jruby.ir.instructions.BNEInstr.create:(Lorg/jruby/ir/operands/Label;Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/instructions/BranchInstr;
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
5: aload 0
aload 1
invokevirtual org.jruby.ast.OpAsgnConstDeclNode.getSecondNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 5
start local 5 6: aload 0
aload 2
aload 5
invokevirtual org.jruby.ir.IRBuilder.copy:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/operands/Operand;
pop
7: aload 0
new org.jruby.ir.instructions.PutConstInstr
dup
aload 4
aload 1
invokevirtual org.jruby.ast.OpAsgnConstDeclNode.getFirstNode:()Lorg/jruby/ast/Node;
checkcast org.jruby.ast.Colon3Node
invokevirtual org.jruby.ast.Colon3Node.getName:()Lorg/jruby/RubySymbol;
aload 5
invokespecial org.jruby.ir.instructions.PutConstInstr.<init>:(Lorg/jruby/ir/operands/Operand;Lorg/jruby/RubySymbol;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
8: aload 0
new org.jruby.ir.instructions.LabelInstr
dup
aload 3
invokespecial org.jruby.ir.instructions.LabelInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
9: aload 2
areturn
end local 5 end local 4 end local 3 end local 2 10: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.jruby.ast.OpAsgnConstDeclNode.isAnd:()Z
ifeq 20
11: aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 2
start local 2 12: aload 0
invokevirtual org.jruby.ir.IRBuilder.getNewLabel:()Lorg/jruby/ir/operands/Label;
astore 3
start local 3 13: aload 0
aload 1
invokevirtual org.jruby.ast.OpAsgnConstDeclNode.getFirstNode:()Lorg/jruby/ast/Node;
aload 2
iconst_1
invokevirtual org.jruby.ir.IRBuilder.buildColon2ForConstAsgnDeclNode:(Lorg/jruby/ast/Node;Lorg/jruby/ir/operands/Variable;Z)Lorg/jruby/ir/operands/Operand;
astore 4
start local 4 14: aload 0
new org.jruby.ir.instructions.BFalseInstr
dup
aload 3
aload 2
invokespecial org.jruby.ir.instructions.BFalseInstr.<init>:(Lorg/jruby/ir/operands/Label;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
15: aload 0
aload 1
invokevirtual org.jruby.ast.OpAsgnConstDeclNode.getSecondNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 5
start local 5 16: aload 0
aload 2
aload 5
invokevirtual org.jruby.ir.IRBuilder.copy:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/operands/Operand;
pop
17: aload 0
new org.jruby.ir.instructions.PutConstInstr
dup
aload 4
aload 1
invokevirtual org.jruby.ast.OpAsgnConstDeclNode.getFirstNode:()Lorg/jruby/ast/Node;
checkcast org.jruby.ast.Colon3Node
invokevirtual org.jruby.ast.Colon3Node.getName:()Lorg/jruby/RubySymbol;
aload 5
invokespecial org.jruby.ir.instructions.PutConstInstr.<init>:(Lorg/jruby/ir/operands/Operand;Lorg/jruby/RubySymbol;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
18: aload 0
new org.jruby.ir.instructions.LabelInstr
dup
aload 3
invokespecial org.jruby.ir.instructions.LabelInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
19: aload 2
areturn
end local 5 end local 4 end local 3 end local 2 20: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 2
start local 2 21: aload 0
aload 1
invokevirtual org.jruby.ast.OpAsgnConstDeclNode.getFirstNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 3
start local 3 22: aload 0
aload 1
invokevirtual org.jruby.ast.OpAsgnConstDeclNode.getSecondNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 4
start local 4 23: aload 0
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
aload 2
aload 1
invokevirtual org.jruby.ast.OpAsgnConstDeclNode.getSymbolOperator:()Lorg/jruby/RubySymbol;
aload 3
iconst_1
anewarray org.jruby.ir.operands.Operand
dup
iconst_0
aload 4
aastore
aconst_null
invokestatic org.jruby.ir.instructions.CallInstr.create:(Lorg/jruby/ir/IRScope;Lorg/jruby/ir/operands/Variable;Lorg/jruby/RubySymbol;Lorg/jruby/ir/operands/Operand;[Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/instructions/CallInstr;
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
24: aload 0
new org.jruby.ir.instructions.CopyInstr
dup
aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
aload 0
aload 1
aload 2
invokevirtual org.jruby.ir.IRBuilder.putConstantAssignment:(Lorg/jruby/ast/OpAsgnConstDeclNode;Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/operands/Operand;
invokespecial org.jruby.ir.instructions.CopyInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addResultInstr:(Lorg/jruby/ir/instructions/ResultInstr;)Lorg/jruby/ir/operands/Variable;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lorg/jruby/ir/IRBuilder;
0 25 1 node Lorg/jruby/ast/OpAsgnConstDeclNode;
2 10 2 result Lorg/jruby/ir/operands/Variable;
3 10 3 done Lorg/jruby/ir/operands/Label;
4 10 4 module Lorg/jruby/ir/operands/Operand;
6 10 5 rhsValue Lorg/jruby/ir/operands/Operand;
12 20 2 result Lorg/jruby/ir/operands/Variable;
13 20 3 done Lorg/jruby/ir/operands/Label;
14 20 4 module Lorg/jruby/ir/operands/Operand;
16 20 5 rhsValue Lorg/jruby/ir/operands/Operand;
21 25 2 result Lorg/jruby/ir/operands/Variable;
22 25 3 lhs Lorg/jruby/ir/operands/Operand;
23 25 4 rhs Lorg/jruby/ir/operands/Operand;
MethodParameters:
Name Flags
node
public org.jruby.ir.operands.Operand buildOpAsgnAnd(org.jruby.ast.OpAsgnAndNode);
descriptor: (Lorg/jruby/ast/OpAsgnAndNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.jruby.ir.IRBuilder.getNewLabel:()Lorg/jruby/ir/operands/Label;
astore 2
start local 2 1: aload 0
aload 1
invokevirtual org.jruby.ast.OpAsgnAndNode.getFirstNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 3
start local 3 2: aload 0
aload 3
invokevirtual org.jruby.ir.IRBuilder.getValueInTemporaryVariable:(Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/operands/Variable;
astore 4
start local 4 3: aload 0
aload 3
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getFalse:()Lorg/jruby/ir/operands/Boolean;
aload 2
invokestatic org.jruby.ir.IRBuilder.createBranch:(Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Label;)Lorg/jruby/ir/instructions/Instr;
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
4: aload 0
aload 1
invokevirtual org.jruby.ast.OpAsgnAndNode.getSecondNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 5
start local 5 5: aload 0
new org.jruby.ir.instructions.CopyInstr
dup
aload 4
aload 5
invokespecial org.jruby.ir.instructions.CopyInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
6: aload 0
new org.jruby.ir.instructions.LabelInstr
dup
aload 2
invokespecial org.jruby.ir.instructions.LabelInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
7: aload 4
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 8 0 this Lorg/jruby/ir/IRBuilder;
0 8 1 andNode Lorg/jruby/ast/OpAsgnAndNode;
1 8 2 l Lorg/jruby/ir/operands/Label;
2 8 3 v1 Lorg/jruby/ir/operands/Operand;
3 8 4 result Lorg/jruby/ir/operands/Variable;
5 8 5 v2 Lorg/jruby/ir/operands/Operand;
MethodParameters:
Name Flags
andNode
public org.jruby.ir.operands.Operand buildOpAsgnOr(org.jruby.ast.OpAsgnOrNode);
descriptor: (Lorg/jruby/ast/OpAsgnOrNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.jruby.ir.IRBuilder.getNewLabel:()Lorg/jruby/ir/operands/Label;
astore 2
start local 2 1: aconst_null
astore 3
start local 3 2: aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 4
start local 4 3: aload 1
invokevirtual org.jruby.ast.OpAsgnOrNode.getFirstNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ast.Node.needsDefinitionCheck:()Z
istore 6
start local 6 4: iload 6
ifeq 9
5: aload 0
invokevirtual org.jruby.ir.IRBuilder.getNewLabel:()Lorg/jruby/ir/operands/Label;
astore 3
6: aload 0
aload 1
invokevirtual org.jruby.ast.OpAsgnOrNode.getFirstNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.buildGetDefinition:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 5
start local 5 7: aload 0
new org.jruby.ir.instructions.CopyInstr
dup
aload 4
aload 5
invokespecial org.jruby.ir.instructions.CopyInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
8: aload 0
aload 4
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getNil:()Lorg/jruby/ir/operands/Nil;
aload 3
invokestatic org.jruby.ir.IRBuilder.createBranch:(Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Label;)Lorg/jruby/ir/instructions/Instr;
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
end local 5 9: StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.OpAsgnOrNode org.jruby.ir.operands.Label org.jruby.ir.operands.Label org.jruby.ir.operands.Variable top int
StackMap stack:
aload 0
aload 1
invokevirtual org.jruby.ast.OpAsgnOrNode.getFirstNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 5
start local 5 10: aload 0
new org.jruby.ir.instructions.CopyInstr
dup
aload 4
aload 5
invokespecial org.jruby.ir.instructions.CopyInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
11: aload 0
aload 5
invokevirtual org.jruby.ir.IRBuilder.getValueInTemporaryVariable:(Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/operands/Variable;
astore 7
start local 7 12: iload 6
ifeq 14
13: aload 0
new org.jruby.ir.instructions.LabelInstr
dup
aload 3
invokespecial org.jruby.ir.instructions.LabelInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
14: StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.OpAsgnOrNode org.jruby.ir.operands.Label org.jruby.ir.operands.Label org.jruby.ir.operands.Variable org.jruby.ir.operands.Operand int org.jruby.ir.operands.Variable
StackMap stack:
aload 0
aload 4
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getTrue:()Lorg/jruby/ir/operands/Boolean;
aload 2
invokestatic org.jruby.ir.IRBuilder.createBranch:(Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Label;)Lorg/jruby/ir/instructions/Instr;
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
15: aload 0
aload 1
invokevirtual org.jruby.ast.OpAsgnOrNode.getSecondNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 8
start local 8 16: aload 0
new org.jruby.ir.instructions.CopyInstr
dup
aload 7
aload 8
invokespecial org.jruby.ir.instructions.CopyInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
17: aload 0
new org.jruby.ir.instructions.LabelInstr
dup
aload 2
invokespecial org.jruby.ir.instructions.LabelInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
18: aload 7
areturn
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 19 0 this Lorg/jruby/ir/IRBuilder;
0 19 1 orNode Lorg/jruby/ast/OpAsgnOrNode;
1 19 2 l1 Lorg/jruby/ir/operands/Label;
2 19 3 l2 Lorg/jruby/ir/operands/Label;
3 19 4 flag Lorg/jruby/ir/operands/Variable;
7 9 5 v1 Lorg/jruby/ir/operands/Operand;
10 19 5 v1 Lorg/jruby/ir/operands/Operand;
4 19 6 needsDefnCheck Z
12 19 7 result Lorg/jruby/ir/operands/Variable;
16 19 8 v2 Lorg/jruby/ir/operands/Operand;
MethodParameters:
Name Flags
orNode final
public org.jruby.ir.operands.Operand buildOpElementAsgn(org.jruby.ast.OpElementAsgnNode);
descriptor: (Lorg/jruby/ast/OpElementAsgnNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.jruby.ast.OpElementAsgnNode.isOr:()Z
ifeq 1
aload 0
aload 1
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getTrue:()Lorg/jruby/ir/operands/Boolean;
invokevirtual org.jruby.ir.IRBuilder.buildOpElementAsgnWith:(Lorg/jruby/ast/OpElementAsgnNode;Lorg/jruby/ir/operands/Boolean;)Lorg/jruby/ir/operands/Operand;
areturn
1: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.jruby.ast.OpElementAsgnNode.isAnd:()Z
ifeq 2
aload 0
aload 1
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getFalse:()Lorg/jruby/ir/operands/Boolean;
invokevirtual org.jruby.ir.IRBuilder.buildOpElementAsgnWith:(Lorg/jruby/ast/OpElementAsgnNode;Lorg/jruby/ir/operands/Boolean;)Lorg/jruby/ir/operands/Operand;
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.jruby.ir.IRBuilder.buildOpElementAsgnWithMethod:(Lorg/jruby/ast/OpElementAsgnNode;)Lorg/jruby/ir/operands/Operand;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/ir/IRBuilder;
0 3 1 node Lorg/jruby/ast/OpElementAsgnNode;
MethodParameters:
Name Flags
node
private org.jruby.ir.operands.Operand buildOpElementAsgnWith(org.jruby.ast.OpElementAsgnNode, org.jruby.ir.operands.Boolean);
descriptor: (Lorg/jruby/ast/OpElementAsgnNode;Lorg/jruby/ir/operands/Boolean;)Lorg/jruby/ir/operands/Operand;
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.jruby.ast.OpElementAsgnNode.getReceiverNode:()Lorg/jruby/ast/Node;
astore 3
start local 3 1: aload 3
instanceof org.jruby.ast.SelfNode
ifeq 2
getstatic org.jruby.runtime.CallType.FUNCTIONAL:Lorg/jruby/runtime/CallType;
goto 3
StackMap locals: org.jruby.ast.Node
StackMap stack:
2: getstatic org.jruby.runtime.CallType.NORMAL:Lorg/jruby/runtime/CallType;
StackMap locals:
StackMap stack: org.jruby.runtime.CallType
3: astore 4
start local 4 4: aload 0
aload 3
aload 1
invokevirtual org.jruby.ast.OpElementAsgnNode.containsVariableAssignment:()Z
invokevirtual org.jruby.ir.IRBuilder.buildWithOrder:(Lorg/jruby/ast/Node;Z)Lorg/jruby/ir/operands/Operand;
astore 5
start local 5 5: aload 0
invokevirtual org.jruby.ir.IRBuilder.getNewLabel:()Lorg/jruby/ir/operands/Label;
astore 6
start local 6 6: aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 7
start local 7 7: aload 0
aload 1
invokevirtual org.jruby.ast.OpElementAsgnNode.getArgsNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.setupCallArgs:(Lorg/jruby/ast/Node;)[Lorg/jruby/ir/operands/Operand;
astore 8
start local 8 8: aload 0
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
aload 4
aload 7
aload 0
getstatic org.jruby.ir.instructions.ArrayDerefInstr.AREF:Lorg/jruby/util/ByteList;
invokevirtual org.jruby.ir.IRBuilder.symbol:(Lorg/jruby/util/ByteList;)Lorg/jruby/RubySymbol;
aload 5
aload 8
aconst_null
invokestatic org.jruby.ir.instructions.CallInstr.create:(Lorg/jruby/ir/IRScope;Lorg/jruby/runtime/CallType;Lorg/jruby/ir/operands/Variable;Lorg/jruby/RubySymbol;Lorg/jruby/ir/operands/Operand;[Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/instructions/CallInstr;
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
9: aload 0
aload 7
aload 2
aload 6
invokestatic org.jruby.ir.IRBuilder.createBranch:(Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Label;)Lorg/jruby/ir/instructions/Instr;
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
10: aload 0
aload 1
invokevirtual org.jruby.ast.OpElementAsgnNode.getValueNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 9
start local 9 11: aload 8
aload 9
invokestatic org.jruby.ir.IRBuilder.addArg:([Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;)[Lorg/jruby/ir/operands/Operand;
astore 8
12: aload 0
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
aload 4
aload 7
aload 0
getstatic org.jruby.ir.instructions.ArrayDerefInstr.ASET:Lorg/jruby/util/ByteList;
invokevirtual org.jruby.ir.IRBuilder.symbol:(Lorg/jruby/util/ByteList;)Lorg/jruby/RubySymbol;
aload 5
aload 8
aconst_null
invokestatic org.jruby.ir.instructions.CallInstr.create:(Lorg/jruby/ir/IRScope;Lorg/jruby/runtime/CallType;Lorg/jruby/ir/operands/Variable;Lorg/jruby/RubySymbol;Lorg/jruby/ir/operands/Operand;[Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/instructions/CallInstr;
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
13: aload 0
new org.jruby.ir.instructions.CopyInstr
dup
aload 7
aload 9
invokespecial org.jruby.ir.instructions.CopyInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
14: aload 0
new org.jruby.ir.instructions.LabelInstr
dup
aload 6
invokespecial org.jruby.ir.instructions.LabelInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
15: aload 7
areturn
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 16 0 this Lorg/jruby/ir/IRBuilder;
0 16 1 opElementAsgnNode Lorg/jruby/ast/OpElementAsgnNode;
0 16 2 truthy Lorg/jruby/ir/operands/Boolean;
1 16 3 receiver Lorg/jruby/ast/Node;
4 16 4 callType Lorg/jruby/runtime/CallType;
5 16 5 array Lorg/jruby/ir/operands/Operand;
6 16 6 endLabel Lorg/jruby/ir/operands/Label;
7 16 7 elt Lorg/jruby/ir/operands/Variable;
8 16 8 argList [Lorg/jruby/ir/operands/Operand;
11 16 9 value Lorg/jruby/ir/operands/Operand;
MethodParameters:
Name Flags
opElementAsgnNode
truthy
public org.jruby.ir.operands.Operand buildOpElementAsgnWithMethod(org.jruby.ast.OpElementAsgnNode);
descriptor: (Lorg/jruby/ast/OpElementAsgnNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=10, locals=10, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.jruby.ast.OpElementAsgnNode.getReceiverNode:()Lorg/jruby/ast/Node;
astore 2
start local 2 1: aload 2
instanceof org.jruby.ast.SelfNode
ifeq 2
getstatic org.jruby.runtime.CallType.FUNCTIONAL:Lorg/jruby/runtime/CallType;
goto 3
StackMap locals: org.jruby.ast.Node
StackMap stack:
2: getstatic org.jruby.runtime.CallType.NORMAL:Lorg/jruby/runtime/CallType;
StackMap locals:
StackMap stack: org.jruby.runtime.CallType
3: astore 3
start local 3 4: aload 0
aload 2
aload 1
invokevirtual org.jruby.ast.OpElementAsgnNode.containsVariableAssignment:()Z
invokevirtual org.jruby.ir.IRBuilder.buildWithOrder:(Lorg/jruby/ast/Node;Z)Lorg/jruby/ir/operands/Operand;
astore 4
start local 4 5: aload 0
aload 1
invokevirtual org.jruby.ast.OpElementAsgnNode.getArgsNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.setupCallArgs:(Lorg/jruby/ast/Node;)[Lorg/jruby/ir/operands/Operand;
astore 5
start local 5 6: aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 6
start local 6 7: aload 0
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
aload 3
aload 6
aload 0
getstatic org.jruby.ir.instructions.ArrayDerefInstr.AREF:Lorg/jruby/util/ByteList;
invokevirtual org.jruby.ir.IRBuilder.symbol:(Lorg/jruby/util/ByteList;)Lorg/jruby/RubySymbol;
aload 4
aload 5
aconst_null
invokestatic org.jruby.ir.instructions.CallInstr.create:(Lorg/jruby/ir/IRScope;Lorg/jruby/runtime/CallType;Lorg/jruby/ir/operands/Variable;Lorg/jruby/RubySymbol;Lorg/jruby/ir/operands/Operand;[Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/instructions/CallInstr;
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
8: aload 0
aload 1
invokevirtual org.jruby.ast.OpElementAsgnNode.getValueNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 7
start local 7 9: aload 1
invokevirtual org.jruby.ast.OpElementAsgnNode.getOperatorSymbolName:()Lorg/jruby/RubySymbol;
astore 8
start local 8 10: aload 0
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
aload 3
aload 6
aload 8
aload 6
iconst_1
anewarray org.jruby.ir.operands.Operand
dup
iconst_0
aload 7
aastore
aconst_null
invokestatic org.jruby.ir.instructions.CallInstr.create:(Lorg/jruby/ir/IRScope;Lorg/jruby/runtime/CallType;Lorg/jruby/ir/operands/Variable;Lorg/jruby/RubySymbol;Lorg/jruby/ir/operands/Operand;[Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/instructions/CallInstr;
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
11: aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 9
start local 9 12: aload 5
aload 6
invokestatic org.jruby.ir.IRBuilder.addArg:([Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;)[Lorg/jruby/ir/operands/Operand;
astore 5
13: aload 0
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
aload 3
aload 9
aload 0
getstatic org.jruby.ir.instructions.ArrayDerefInstr.ASET:Lorg/jruby/util/ByteList;
invokevirtual org.jruby.ir.IRBuilder.symbol:(Lorg/jruby/util/ByteList;)Lorg/jruby/RubySymbol;
aload 4
aload 5
aconst_null
invokestatic org.jruby.ir.instructions.CallInstr.create:(Lorg/jruby/ir/IRScope;Lorg/jruby/runtime/CallType;Lorg/jruby/ir/operands/Variable;Lorg/jruby/RubySymbol;Lorg/jruby/ir/operands/Operand;[Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/instructions/CallInstr;
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
14: aload 6
areturn
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 15 0 this Lorg/jruby/ir/IRBuilder;
0 15 1 opElementAsgnNode Lorg/jruby/ast/OpElementAsgnNode;
1 15 2 receiver Lorg/jruby/ast/Node;
4 15 3 callType Lorg/jruby/runtime/CallType;
5 15 4 array Lorg/jruby/ir/operands/Operand;
6 15 5 argList [Lorg/jruby/ir/operands/Operand;
7 15 6 elt Lorg/jruby/ir/operands/Variable;
9 15 7 value Lorg/jruby/ir/operands/Operand;
10 15 8 operation Lorg/jruby/RubySymbol;
12 15 9 tmp Lorg/jruby/ir/operands/Variable;
MethodParameters:
Name Flags
opElementAsgnNode
public org.jruby.ir.operands.Operand buildOr(org.jruby.ast.OrNode);
descriptor: (Lorg/jruby/ast/OrNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.jruby.ast.OrNode.getFirstNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ast.Node.getNodeType:()Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.alwaysTrue:()Z
ifeq 1
aload 0
aload 1
invokevirtual org.jruby.ast.OrNode.getFirstNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
areturn
1: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.jruby.ast.OrNode.getFirstNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ast.Node.getNodeType:()Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.alwaysFalse:()Z
ifeq 4
2: aload 0
aload 1
invokevirtual org.jruby.ast.OrNode.getFirstNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
pop
3: aload 0
aload 1
invokevirtual org.jruby.ast.OrNode.getSecondNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
areturn
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.ir.IRBuilder.getNewLabel:()Lorg/jruby/ir/operands/Label;
astore 2
start local 2 5: aload 0
aload 1
invokevirtual org.jruby.ast.OrNode.getFirstNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 3
start local 3 6: aload 0
aload 3
invokevirtual org.jruby.ir.IRBuilder.getValueInTemporaryVariable:(Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/operands/Variable;
astore 4
start local 4 7: aload 0
aload 3
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getTrue:()Lorg/jruby/ir/operands/Boolean;
aload 2
invokestatic org.jruby.ir.IRBuilder.createBranch:(Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Label;)Lorg/jruby/ir/instructions/Instr;
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
8: aload 0
aload 1
invokevirtual org.jruby.ast.OrNode.getSecondNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 5
start local 5 9: aload 0
new org.jruby.ir.instructions.CopyInstr
dup
aload 4
aload 5
invokespecial org.jruby.ir.instructions.CopyInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
10: aload 0
new org.jruby.ir.instructions.LabelInstr
dup
aload 2
invokespecial org.jruby.ir.instructions.LabelInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
11: aload 4
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 12 0 this Lorg/jruby/ir/IRBuilder;
0 12 1 orNode Lorg/jruby/ast/OrNode;
5 12 2 endOfExprLabel Lorg/jruby/ir/operands/Label;
6 12 3 left Lorg/jruby/ir/operands/Operand;
7 12 4 result Lorg/jruby/ir/operands/Variable;
9 12 5 right Lorg/jruby/ir/operands/Operand;
MethodParameters:
Name Flags
orNode final
private org.jruby.ir.interpreter.InterpreterContext buildPrePostExeInner(org.jruby.ast.Node);
descriptor: (Lorg/jruby/ast/Node;)Lorg/jruby/ir/interpreter/InterpreterContext;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new org.jruby.ir.instructions.CopyInstr
dup
aload 0
invokevirtual org.jruby.ir.IRBuilder.getCurrentScopeVariable:()Lorg/jruby/ir/operands/Variable;
getstatic org.jruby.ir.operands.CurrentScope.INSTANCE:Lorg/jruby/ir/operands/CurrentScope;
invokespecial org.jruby.ir.instructions.CopyInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
1: aload 0
new org.jruby.ir.instructions.CopyInstr
dup
aload 0
invokevirtual org.jruby.ir.IRBuilder.getCurrentModuleVariable:()Lorg/jruby/ir/operands/Variable;
getstatic org.jruby.ir.operands.ScopeModule.SCOPE_MODULE:[Lorg/jruby/ir/operands/ScopeModule;
iconst_0
aaload
invokespecial org.jruby.ir.instructions.CopyInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
2: aload 0
aload 1
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
pop
3: aload 0
new org.jruby.ir.instructions.ReturnInstr
dup
new org.jruby.ir.operands.Nil
dup
invokespecial org.jruby.ir.operands.Nil.<init>:()V
invokespecial org.jruby.ir.instructions.ReturnInstr.<init>:(Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
4: aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
aload 0
getfield org.jruby.ir.IRBuilder.instructions:Ljava/util/List;
invokevirtual org.jruby.ir.IRScope.allocateInterpreterContext:(Ljava/util/List;)Lorg/jruby/ir/interpreter/InterpreterContext;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/jruby/ir/IRBuilder;
0 5 1 body Lorg/jruby/ast/Node;
MethodParameters:
Name Flags
body
private java.util.List<org.jruby.ir.instructions.Instr> buildPreExeInner(org.jruby.ast.Node);
descriptor: (Lorg/jruby/ast/Node;)Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
pop
1: aload 0
getfield org.jruby.ir.IRBuilder.instructions:Ljava/util/List;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/ir/IRBuilder;
0 2 1 body Lorg/jruby/ast/Node;
Signature: (Lorg/jruby/ast/Node;)Ljava/util/List<Lorg/jruby/ir/instructions/Instr;>;
MethodParameters:
Name Flags
body
public org.jruby.ir.operands.Operand buildPostExe(org.jruby.ast.PostExeNode);
descriptor: (Lorg/jruby/ast/PostExeNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.getRootLexicalScope:()Lorg/jruby/ir/IRScope;
astore 2
start local 2 1: aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.getNearestTopLocalVariableScope:()Lorg/jruby/ir/IRScope;
astore 3
start local 3 2: new org.jruby.ir.IRClosure
dup
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
aload 1
invokevirtual org.jruby.ast.PostExeNode.getLine:()I
aload 3
invokevirtual org.jruby.ir.IRScope.getStaticScope:()Lorg/jruby/parser/StaticScope;
3: aload 1
invokestatic org.jruby.runtime.Signature.from:(Lorg/jruby/ast/PostExeNode;)Lorg/jruby/runtime/Signature;
getstatic org.jruby.util.CommonByteLists._END_:Lorg/jruby/util/ByteList;
iconst_1
4: invokespecial org.jruby.ir.IRClosure.<init>:(Lorg/jruby/ir/IRManager;Lorg/jruby/ir/IRScope;ILorg/jruby/parser/StaticScope;Lorg/jruby/runtime/Signature;Lorg/jruby/util/ByteList;Z)V
astore 4
start local 4 5: aload 4
invokevirtual org.jruby.ir.IRClosure.setIsEND:()V
6: aload 0
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
aload 4
invokevirtual org.jruby.ir.IRBuilder.newIRBuilder:(Lorg/jruby/ir/IRManager;Lorg/jruby/ir/IRScope;)Lorg/jruby/ir/IRBuilder;
aload 1
invokevirtual org.jruby.ast.PostExeNode.getBodyNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.buildPrePostExeInner:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/interpreter/InterpreterContext;
pop
7: aload 0
new org.jruby.ir.instructions.RecordEndBlockInstr
dup
aload 2
new org.jruby.ir.operands.WrappedIRClosure
dup
aload 0
invokevirtual org.jruby.ir.IRBuilder.buildSelf:()Lorg/jruby/ir/operands/Variable;
aload 4
invokespecial org.jruby.ir.operands.WrappedIRClosure.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/IRClosure;)V
invokespecial org.jruby.ir.instructions.RecordEndBlockInstr.<init>:(Lorg/jruby/ir/IRScope;Lorg/jruby/ir/operands/WrappedIRClosure;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
8: aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getNil:()Lorg/jruby/ir/operands/Nil;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/jruby/ir/IRBuilder;
0 9 1 postExeNode Lorg/jruby/ast/PostExeNode;
1 9 2 topLevel Lorg/jruby/ir/IRScope;
2 9 3 nearestLVarScope Lorg/jruby/ir/IRScope;
5 9 4 endClosure Lorg/jruby/ir/IRClosure;
MethodParameters:
Name Flags
postExeNode
public org.jruby.ir.operands.Operand buildPreExe(org.jruby.ast.PreExeNode);
descriptor: (Lorg/jruby/ast/PreExeNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRBuilder.newIRBuilder:(Lorg/jruby/ir/IRManager;Lorg/jruby/ir/IRScope;)Lorg/jruby/ir/IRBuilder;
astore 2
start local 2 1: aload 2
aload 0
getfield org.jruby.ir.IRBuilder.currentScopeVariable:Lorg/jruby/ir/operands/Variable;
putfield org.jruby.ir.IRBuilder.currentScopeVariable:Lorg/jruby/ir/operands/Variable;
2: aload 2
aload 1
invokevirtual org.jruby.ast.PreExeNode.getBodyNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.buildPreExeInner:(Lorg/jruby/ast/Node;)Ljava/util/List;
astore 3
start local 3 3: aload 0
getfield org.jruby.ir.IRBuilder.instructions:Ljava/util/List;
aload 0
getfield org.jruby.ir.IRBuilder.afterPrologueIndex:I
aload 3
invokeinterface java.util.List.addAll:(ILjava/util/Collection;)Z
pop
4: aload 0
dup
getfield org.jruby.ir.IRBuilder.afterPrologueIndex:I
aload 3
invokeinterface java.util.List.size:()I
iadd
putfield org.jruby.ir.IRBuilder.afterPrologueIndex:I
5: aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getNil:()Lorg/jruby/ir/operands/Nil;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/jruby/ir/IRBuilder;
0 6 1 preExeNode Lorg/jruby/ast/PreExeNode;
1 6 2 builder Lorg/jruby/ir/IRBuilder;
3 6 3 beginInstrs Ljava/util/List<Lorg/jruby/ir/instructions/Instr;>;
MethodParameters:
Name Flags
preExeNode
public org.jruby.ir.operands.Operand buildRational(org.jruby.ast.RationalNode);
descriptor: (Lorg/jruby/ast/RationalNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: new org.jruby.ir.operands.Rational
dup
aload 0
aload 1
invokevirtual org.jruby.ast.RationalNode.getNumerator:()Lorg/jruby/ast/NumericNode;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
checkcast org.jruby.ir.operands.ImmutableLiteral
1: aload 0
aload 1
invokevirtual org.jruby.ast.RationalNode.getDenominator:()Lorg/jruby/ast/NumericNode;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
checkcast org.jruby.ir.operands.ImmutableLiteral
2: invokespecial org.jruby.ir.operands.Rational.<init>:(Lorg/jruby/ir/operands/ImmutableLiteral;Lorg/jruby/ir/operands/ImmutableLiteral;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/ir/IRBuilder;
0 3 1 rationalNode Lorg/jruby/ast/RationalNode;
MethodParameters:
Name Flags
rationalNode
public org.jruby.ir.operands.Operand buildRedo(org.jruby.ast.RedoNode);
descriptor: (Lorg/jruby/ast/RedoNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.ir.IRBuilder.activeEnsureBlockStack:Ljava/util/Stack;
invokevirtual java.util.Stack.empty:()Z
ifne 2
1: aload 0
aload 0
invokevirtual org.jruby.ir.IRBuilder.getCurrentLoop:()Lorg/jruby/ir/IRBuilder$IRLoop;
invokevirtual org.jruby.ir.IRBuilder.emitEnsureBlocks:(Lorg/jruby/ir/IRBuilder$IRLoop;)V
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.ir.IRBuilder.getCurrentLoop:()Lorg/jruby/ir/IRBuilder$IRLoop;
astore 2
start local 2 3: aload 2
ifnull 6
4: aload 0
new org.jruby.ir.instructions.JumpInstr
dup
aload 2
getfield org.jruby.ir.IRBuilder$IRLoop.iterStartLabel:Lorg/jruby/ir/operands/Label;
invokespecial org.jruby.ir.instructions.JumpInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
5: goto 16
6: StackMap locals: org.jruby.ir.IRBuilder$IRLoop
StackMap stack:
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
instanceof org.jruby.ir.IRClosure
ifeq 15
7: aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
instanceof org.jruby.ir.IREvalScript
ifeq 10
8: aload 0
aload 1
ldc "Can't escape from eval with redo"
invokevirtual org.jruby.ir.IRBuilder.throwSyntaxError:(Lorg/jruby/ast/Node;Ljava/lang/String;)V
9: goto 16
10: StackMap locals:
StackMap stack:
aload 0
new org.jruby.ir.instructions.ThreadPollInstr
dup
iconst_1
invokespecial org.jruby.ir.instructions.ThreadPollInstr.<init>:(Z)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
11: new org.jruby.ir.operands.Label
dup
new java.lang.StringBuilder
dup
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.getId:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "_START"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
invokespecial org.jruby.ir.operands.Label.<init>:(Ljava/lang/String;I)V
astore 3
start local 3 12: aload 0
getfield org.jruby.ir.IRBuilder.instructions:Ljava/util/List;
aload 0
getfield org.jruby.ir.IRBuilder.afterPrologueIndex:I
new org.jruby.ir.instructions.LabelInstr
dup
aload 3
invokespecial org.jruby.ir.instructions.LabelInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokeinterface java.util.List.add:(ILjava/lang/Object;)V
13: aload 0
new org.jruby.ir.instructions.JumpInstr
dup
aload 3
invokespecial org.jruby.ir.instructions.JumpInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
end local 3 14: goto 16
15: StackMap locals:
StackMap stack:
aload 0
aload 1
ldc "Invalid redo"
invokevirtual org.jruby.ir.IRBuilder.throwSyntaxError:(Lorg/jruby/ast/Node;Ljava/lang/String;)V
16: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getNil:()Lorg/jruby/ir/operands/Nil;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/jruby/ir/IRBuilder;
0 17 1 redoNode Lorg/jruby/ast/RedoNode;
3 17 2 currLoop Lorg/jruby/ir/IRBuilder$IRLoop;
12 14 3 startLabel Lorg/jruby/ir/operands/Label;
MethodParameters:
Name Flags
redoNode
public org.jruby.ir.operands.Operand buildRegexp(org.jruby.ast.RegexpNode);
descriptor: (Lorg/jruby/ast/RegexpNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new org.jruby.ir.operands.Regexp
dup
aload 1
invokevirtual org.jruby.ast.RegexpNode.getValue:()Lorg/jruby/util/ByteList;
aload 1
invokevirtual org.jruby.ast.RegexpNode.getOptions:()Lorg/jruby/util/RegexpOptions;
invokespecial org.jruby.ir.operands.Regexp.<init>:(Lorg/jruby/util/ByteList;Lorg/jruby/util/RegexpOptions;)V
invokevirtual org.jruby.ir.IRBuilder.copyAndReturnValue:(Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/operands/Variable;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/IRBuilder;
0 1 1 reNode Lorg/jruby/ast/RegexpNode;
MethodParameters:
Name Flags
reNode
public org.jruby.ir.operands.Operand buildRescue(org.jruby.ast.RescueNode);
descriptor: (Lorg/jruby/ast/RescueNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aconst_null
invokevirtual org.jruby.ir.IRBuilder.buildEnsureInternal:(Lorg/jruby/ast/Node;Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/IRBuilder;
0 1 1 node Lorg/jruby/ast/RescueNode;
MethodParameters:
Name Flags
node
private boolean canBacktraceBeRemoved(org.jruby.ast.RescueNode);
descriptor: (Lorg/jruby/ast/RescueNode;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: getstatic org.jruby.RubyInstanceConfig.FULL_TRACE_ENABLED:Z
ifne 2
aload 1
instanceof org.jruby.ast.RescueModNode
ifne 3
1: aload 1
invokevirtual org.jruby.ast.RescueNode.getElseNode:()Lorg/jruby/ast/Node;
ifnull 3
StackMap locals:
StackMap stack:
2: iconst_0
ireturn
3: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.jruby.ast.RescueNode.getRescueNode:()Lorg/jruby/ast/RescueBodyNode;
astore 2
start local 2 4: aload 2
invokevirtual org.jruby.ast.RescueBodyNode.getOptRescueNode:()Lorg/jruby/ast/RescueBodyNode;
ifnull 5
iconst_0
ireturn
5: StackMap locals: org.jruby.ast.RescueBodyNode
StackMap stack:
aload 2
invokevirtual org.jruby.ast.RescueBodyNode.getExceptionNodes:()Lorg/jruby/ast/Node;
ifnull 6
iconst_0
ireturn
6: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.jruby.ast.RescueBodyNode.getBodyNode:()Lorg/jruby/ast/Node;
astore 3
start local 3 7: aload 3
instanceof org.jruby.ast.GlobalVarNode
ifeq 8
aload 3
checkcast org.jruby.ast.GlobalVarNode
invokevirtual org.jruby.ast.GlobalVarNode.getName:()Lorg/jruby/RubySymbol;
invokevirtual org.jruby.RubySymbol.idString:()Ljava/lang/String;
ldc "$!"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 8
iconst_0
ireturn
8: StackMap locals: org.jruby.ast.Node
StackMap stack:
aload 3
instanceof org.jruby.ast.SideEffectFree
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/jruby/ir/IRBuilder;
0 9 1 rescueNode Lorg/jruby/ast/RescueNode;
4 9 2 rescueClause Lorg/jruby/ast/RescueBodyNode;
7 9 3 body Lorg/jruby/ast/Node;
MethodParameters:
Name Flags
rescueNode
private org.jruby.ir.operands.Operand buildRescueInternal(org.jruby.ast.RescueNode, org.jruby.ir.IRBuilder$EnsureBlockInfo);
descriptor: (Lorg/jruby/ast/RescueNode;Lorg/jruby/ir/IRBuilder$EnsureBlockInfo;)Lorg/jruby/ir/operands/Operand;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=11, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual org.jruby.ir.IRBuilder.canBacktraceBeRemoved:(Lorg/jruby/ast/RescueNode;)Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: istore 3
start local 3 3: aload 0
invokevirtual org.jruby.ir.IRBuilder.getNewLabel:()Lorg/jruby/ir/operands/Label;
astore 4
start local 4 4: aload 2
getfield org.jruby.ir.IRBuilder$EnsureBlockInfo.end:Lorg/jruby/ir/operands/Label;
astore 5
start local 5 5: aload 0
invokevirtual org.jruby.ir.IRBuilder.getNewLabel:()Lorg/jruby/ir/operands/Label;
astore 6
start local 6 6: aload 2
iload 3
putfield org.jruby.ir.IRBuilder$EnsureBlockInfo.needsBacktrace:Z
7: aload 0
new org.jruby.ir.instructions.LabelInstr
dup
aload 4
invokespecial org.jruby.ir.instructions.LabelInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
8: aload 0
new org.jruby.ir.instructions.ExceptionRegionStartMarkerInstr
dup
aload 6
invokespecial org.jruby.ir.instructions.ExceptionRegionStartMarkerInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
9: aload 0
getfield org.jruby.ir.IRBuilder.activeRescuers:Ljava/util/Stack;
aload 6
invokevirtual java.util.Stack.push:(Ljava/lang/Object;)Ljava/lang/Object;
pop
10: aload 0
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
iload 3
invokevirtual org.jruby.ir.IRManager.needsBacktrace:(Z)Lorg/jruby/ir/instructions/ToggleBacktraceInstr;
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
11: aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getNil:()Lorg/jruby/ir/operands/Nil;
astore 7
start local 7 12: aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 8
start local 8 13: aload 1
invokevirtual org.jruby.ast.RescueNode.getBodyNode:()Lorg/jruby/ast/Node;
ifnull 14
aload 0
aload 1
invokevirtual org.jruby.ast.RescueNode.getBodyNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 7
14: StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.RescueNode org.jruby.ir.IRBuilder$EnsureBlockInfo int org.jruby.ir.operands.Label org.jruby.ir.operands.Label org.jruby.ir.operands.Label org.jruby.ir.operands.Operand org.jruby.ir.operands.Variable
StackMap stack:
new org.jruby.ir.IRBuilder$RescueBlockInfo
dup
aload 4
aload 2
getfield org.jruby.ir.IRBuilder$EnsureBlockInfo.savedGlobalException:Lorg/jruby/ir/operands/Variable;
invokespecial org.jruby.ir.IRBuilder$RescueBlockInfo.<init>:(Lorg/jruby/ir/operands/Label;Lorg/jruby/ir/operands/Variable;)V
astore 9
start local 9 15: aload 0
getfield org.jruby.ir.IRBuilder.activeRescueBlockStack:Ljava/util/Stack;
aload 9
invokevirtual java.util.Stack.push:(Ljava/lang/Object;)Ljava/lang/Object;
pop
16: aload 0
new org.jruby.ir.instructions.ExceptionRegionEndMarkerInstr
dup
invokespecial org.jruby.ir.instructions.ExceptionRegionEndMarkerInstr.<init>:()V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
17: aload 0
getfield org.jruby.ir.IRBuilder.activeRescuers:Ljava/util/Stack;
invokevirtual java.util.Stack.pop:()Ljava/lang/Object;
pop
18: aload 1
invokevirtual org.jruby.ast.RescueNode.getElseNode:()Lorg/jruby/ast/Node;
ifnull 21
19: aload 0
new org.jruby.ir.instructions.LabelInstr
dup
aload 0
invokevirtual org.jruby.ir.IRBuilder.getNewLabel:()Lorg/jruby/ir/operands/Label;
invokespecial org.jruby.ir.instructions.LabelInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
20: aload 0
aload 1
invokevirtual org.jruby.ast.RescueNode.getElseNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 7
21: StackMap locals: org.jruby.ir.IRBuilder$RescueBlockInfo
StackMap stack:
aload 7
getstatic org.jruby.ir.IRBuilder.U_NIL:Lorg/jruby/ir/operands/UnexecutableNil;
if_acmpeq 25
22: aload 0
new org.jruby.ir.instructions.CopyInstr
dup
aload 8
aload 7
invokespecial org.jruby.ir.instructions.CopyInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
23: aload 2
aload 0
invokevirtual org.jruby.ir.IRBuilder$EnsureBlockInfo.cloneIntoHostScope:(Lorg/jruby/ir/IRBuilder;)V
24: aload 0
new org.jruby.ir.instructions.JumpInstr
dup
aload 5
invokespecial org.jruby.ir.instructions.JumpInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
25: StackMap locals:
StackMap stack:
aload 0
new org.jruby.ir.instructions.LabelInstr
dup
aload 6
invokespecial org.jruby.ir.instructions.LabelInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
26: iload 3
ifne 27
aload 0
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
iconst_1
invokevirtual org.jruby.ir.IRManager.needsBacktrace:(Z)Lorg/jruby/ir/instructions/ToggleBacktraceInstr;
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
27: StackMap locals:
StackMap stack:
aload 0
new org.jruby.ir.instructions.ReceiveRubyExceptionInstr
dup
aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
invokespecial org.jruby.ir.instructions.ReceiveRubyExceptionInstr.<init>:(Lorg/jruby/ir/operands/Variable;)V
invokevirtual org.jruby.ir.IRBuilder.addResultInstr:(Lorg/jruby/ir/instructions/ResultInstr;)Lorg/jruby/ir/operands/Variable;
astore 10
start local 10 28: aload 0
aload 1
invokevirtual org.jruby.ast.RescueNode.getRescueNode:()Lorg/jruby/ast/RescueBodyNode;
aload 8
aload 10
aload 5
invokevirtual org.jruby.ir.IRBuilder.buildRescueBodyInternal:(Lorg/jruby/ast/RescueBodyNode;Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Label;)V
29: aload 0
getfield org.jruby.ir.IRBuilder.activeRescueBlockStack:Ljava/util/Stack;
invokevirtual java.util.Stack.pop:()Ljava/lang/Object;
pop
30: aload 8
areturn
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 31 0 this Lorg/jruby/ir/IRBuilder;
0 31 1 rescueNode Lorg/jruby/ast/RescueNode;
0 31 2 ensure Lorg/jruby/ir/IRBuilder$EnsureBlockInfo;
3 31 3 needsBacktrace Z
4 31 4 rBeginLabel Lorg/jruby/ir/operands/Label;
5 31 5 rEndLabel Lorg/jruby/ir/operands/Label;
6 31 6 rescueLabel Lorg/jruby/ir/operands/Label;
12 31 7 tmp Lorg/jruby/ir/operands/Operand;
13 31 8 rv Lorg/jruby/ir/operands/Variable;
15 31 9 rbi Lorg/jruby/ir/IRBuilder$RescueBlockInfo;
28 31 10 exc Lorg/jruby/ir/operands/Variable;
MethodParameters:
Name Flags
rescueNode
ensure
private void outputExceptionCheck(org.jruby.ir.operands.Operand, org.jruby.ir.operands.Operand, org.jruby.ir.operands.Label);
descriptor: (Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Label;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
new org.jruby.ir.instructions.RescueEQQInstr
dup
aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
aload 1
aload 2
invokespecial org.jruby.ir.instructions.RescueEQQInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addResultInstr:(Lorg/jruby/ir/instructions/ResultInstr;)Lorg/jruby/ir/operands/Variable;
astore 4
start local 4 1: aload 0
aload 4
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getTrue:()Lorg/jruby/ir/operands/Boolean;
aload 3
invokestatic org.jruby.ir.IRBuilder.createBranch:(Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Label;)Lorg/jruby/ir/instructions/Instr;
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
2: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/ir/IRBuilder;
0 3 1 excType Lorg/jruby/ir/operands/Operand;
0 3 2 excObj Lorg/jruby/ir/operands/Operand;
0 3 3 caughtLabel Lorg/jruby/ir/operands/Label;
1 3 4 eqqResult Lorg/jruby/ir/operands/Variable;
MethodParameters:
Name Flags
excType
excObj
caughtLabel
private void buildRescueBodyInternal(org.jruby.ast.RescueBodyNode, org.jruby.ir.operands.Variable, org.jruby.ir.operands.Variable, org.jruby.ir.operands.Label);
descriptor: (Lorg/jruby/ast/RescueBodyNode;Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Label;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=10, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
invokevirtual org.jruby.ast.RescueBodyNode.getExceptionNodes:()Lorg/jruby/ast/Node;
astore 5
start local 5 1: aload 0
invokevirtual org.jruby.ir.IRBuilder.getNewLabel:()Lorg/jruby/ir/operands/Label;
astore 6
start local 6 2: aload 0
invokevirtual org.jruby.ir.IRBuilder.getNewLabel:()Lorg/jruby/ir/operands/Label;
astore 7
start local 7 3: aload 5
ifnull 17
4: aload 5
instanceof org.jruby.ast.ListNode
ifeq 12
5: aload 5
checkcast org.jruby.ast.ListNode
invokevirtual org.jruby.ast.ListNode.children:()[Lorg/jruby/ast/Node;
astore 8
start local 8 6: iconst_0
istore 9
start local 9 7: goto 10
8: StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.RescueBodyNode org.jruby.ir.operands.Variable org.jruby.ir.operands.Variable org.jruby.ir.operands.Label org.jruby.ast.Node org.jruby.ir.operands.Label org.jruby.ir.operands.Label org.jruby.ast.Node[] int
StackMap stack:
aload 0
aload 0
aload 8
iload 9
aaload
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
aload 3
aload 7
invokevirtual org.jruby.ir.IRBuilder.outputExceptionCheck:(Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Label;)V
9: iinc 9 1
StackMap locals:
StackMap stack:
10: iload 9
aload 8
arraylength
if_icmplt 8
end local 9 end local 8 11: goto 18
StackMap locals:
StackMap stack:
12: aload 5
instanceof org.jruby.ast.SplatNode
ifeq 15
13: aload 0
aload 0
aload 5
checkcast org.jruby.ast.SplatNode
invokevirtual org.jruby.ast.SplatNode.getValue:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
aload 3
aload 7
invokevirtual org.jruby.ir.IRBuilder.outputExceptionCheck:(Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Label;)V
14: goto 18
15: StackMap locals:
StackMap stack:
aload 0
aload 0
aload 5
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
aload 3
aload 7
invokevirtual org.jruby.ir.IRBuilder.outputExceptionCheck:(Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Label;)V
16: goto 18
17: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getStandardError:()Lorg/jruby/ir/operands/StandardError;
aload 3
aload 7
invokevirtual org.jruby.ir.IRBuilder.outputExceptionCheck:(Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Label;)V
18: StackMap locals:
StackMap stack:
aload 0
new org.jruby.ir.instructions.LabelInstr
dup
aload 6
invokespecial org.jruby.ir.instructions.LabelInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
19: aload 1
invokevirtual org.jruby.ast.RescueBodyNode.getOptRescueNode:()Lorg/jruby/ast/RescueBodyNode;
ifnull 22
20: aload 0
aload 1
invokevirtual org.jruby.ast.RescueBodyNode.getOptRescueNode:()Lorg/jruby/ast/RescueBodyNode;
aload 2
aload 3
aload 4
invokevirtual org.jruby.ir.IRBuilder.buildRescueBodyInternal:(Lorg/jruby/ast/RescueBodyNode;Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Label;)V
21: goto 23
22: StackMap locals:
StackMap stack:
aload 0
new org.jruby.ir.instructions.ThrowExceptionInstr
dup
aload 3
invokespecial org.jruby.ir.instructions.ThrowExceptionInstr.<init>:(Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
23: StackMap locals:
StackMap stack:
aload 0
new org.jruby.ir.instructions.LabelInstr
dup
aload 7
invokespecial org.jruby.ir.instructions.LabelInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
24: aload 1
invokevirtual org.jruby.ast.RescueBodyNode.getBodyNode:()Lorg/jruby/ast/Node;
astore 8
start local 8 25: aload 0
aload 8
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 9
start local 9 26: aload 9
getstatic org.jruby.ir.IRBuilder.U_NIL:Lorg/jruby/ir/operands/UnexecutableNil;
if_acmpeq 30
27: aload 0
new org.jruby.ir.instructions.CopyInstr
dup
aload 2
aload 9
invokespecial org.jruby.ir.instructions.CopyInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
28: aload 0
getfield org.jruby.ir.IRBuilder.activeEnsureBlockStack:Ljava/util/Stack;
invokevirtual java.util.Stack.peek:()Ljava/lang/Object;
checkcast org.jruby.ir.IRBuilder$EnsureBlockInfo
aload 0
invokevirtual org.jruby.ir.IRBuilder$EnsureBlockInfo.cloneIntoHostScope:(Lorg/jruby/ir/IRBuilder;)V
29: aload 0
new org.jruby.ir.instructions.JumpInstr
dup
aload 4
invokespecial org.jruby.ir.instructions.JumpInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
30: StackMap locals: org.jruby.ast.Node org.jruby.ir.operands.Operand
StackMap stack:
return
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 31 0 this Lorg/jruby/ir/IRBuilder;
0 31 1 rescueBodyNode Lorg/jruby/ast/RescueBodyNode;
0 31 2 rv Lorg/jruby/ir/operands/Variable;
0 31 3 exc Lorg/jruby/ir/operands/Variable;
0 31 4 endLabel Lorg/jruby/ir/operands/Label;
1 31 5 exceptionList Lorg/jruby/ast/Node;
2 31 6 uncaughtLabel Lorg/jruby/ir/operands/Label;
3 31 7 caughtLabel Lorg/jruby/ir/operands/Label;
6 11 8 exceptionNodes [Lorg/jruby/ast/Node;
7 11 9 i I
25 31 8 realBody Lorg/jruby/ast/Node;
26 31 9 x Lorg/jruby/ir/operands/Operand;
MethodParameters:
Name Flags
rescueBodyNode
rv
exc
endLabel
public org.jruby.ir.operands.Operand buildRetry();
descriptor: ()Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
getfield org.jruby.ir.IRBuilder.activeRescueBlockStack:Ljava/util/Stack;
invokevirtual java.util.Stack.empty:()Z
ifeq 3
1: aload 0
new org.jruby.ir.instructions.ThrowExceptionInstr
dup
getstatic org.jruby.ir.operands.IRException.RETRY_LocalJumpError:Lorg/jruby/ir/operands/IRException;
invokespecial org.jruby.ir.instructions.ThrowExceptionInstr.<init>:(Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
2: goto 8
3: StackMap locals:
StackMap stack:
aload 0
new org.jruby.ir.instructions.ThreadPollInstr
dup
iconst_1
invokespecial org.jruby.ir.instructions.ThreadPollInstr.<init>:(Z)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
4: aload 0
getfield org.jruby.ir.IRBuilder.activeRescueBlockStack:Ljava/util/Stack;
invokevirtual java.util.Stack.peek:()Ljava/lang/Object;
checkcast org.jruby.ir.IRBuilder$RescueBlockInfo
astore 1
start local 1 5: aload 0
new org.jruby.ir.instructions.PutGlobalVarInstr
dup
aload 0
ldc "$!"
invokevirtual org.jruby.ir.IRBuilder.symbol:(Ljava/lang/String;)Lorg/jruby/RubySymbol;
aload 1
getfield org.jruby.ir.IRBuilder$RescueBlockInfo.savedExceptionVariable:Lorg/jruby/ir/operands/Variable;
invokespecial org.jruby.ir.instructions.PutGlobalVarInstr.<init>:(Lorg/jruby/RubySymbol;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
6: aload 0
new org.jruby.ir.instructions.JumpInstr
dup
aload 1
getfield org.jruby.ir.IRBuilder$RescueBlockInfo.entryLabel:Lorg/jruby/ir/operands/Label;
invokespecial org.jruby.ir.instructions.JumpInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
7: aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.setHasLoopsFlag:()V
end local 1 8: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getNil:()Lorg/jruby/ir/operands/Nil;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/jruby/ir/IRBuilder;
5 8 1 rbi Lorg/jruby/ir/IRBuilder$RescueBlockInfo;
private org.jruby.ir.operands.Operand processEnsureRescueBlocks(org.jruby.ir.operands.Operand);
descriptor: (Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/operands/Operand;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.ir.IRBuilder.activeEnsureBlockStack:Ljava/util/Stack;
invokevirtual java.util.Stack.empty:()Z
ifne 3
1: aload 0
new org.jruby.ir.instructions.CopyInstr
dup
aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
aload 1
invokespecial org.jruby.ir.instructions.CopyInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addResultInstr:(Lorg/jruby/ir/instructions/ResultInstr;)Lorg/jruby/ir/operands/Variable;
astore 1
2: aload 0
aconst_null
invokevirtual org.jruby.ir.IRBuilder.emitEnsureBlocks:(Lorg/jruby/ir/IRBuilder$IRLoop;)V
3: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jruby/ir/IRBuilder;
0 4 1 retVal Lorg/jruby/ir/operands/Operand;
MethodParameters:
Name Flags
retVal
public org.jruby.ir.operands.Operand buildReturn(org.jruby.ast.ReturnNode);
descriptor: (Lorg/jruby/ast/ReturnNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.jruby.ast.ReturnNode.getValueNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 2
start local 2 1: aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
instanceof org.jruby.ir.IRClosure
ifeq 17
2: aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.isWithinEND:()Z
ifeq 5
3: aload 0
new org.jruby.ir.instructions.ThrowExceptionInstr
dup
getstatic org.jruby.ir.operands.IRException.RETURN_LocalJumpError:Lorg/jruby/ir/operands/IRException;
invokespecial org.jruby.ir.instructions.ThrowExceptionInstr.<init>:(Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
4: goto 26
5: StackMap locals: org.jruby.ir.operands.Operand
StackMap stack:
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.getNearestMethod:()Lorg/jruby/ir/IRMethod;
ifnull 6
iconst_1
goto 7
StackMap locals:
StackMap stack:
6: iconst_0
StackMap locals:
StackMap stack: int
7: istore 3
start local 3 8: aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
instanceof org.jruby.ir.IREvalScript
ifne 10
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
instanceof org.jruby.ir.IRFor
ifne 10
9: aload 0
new org.jruby.ir.instructions.CheckForLJEInstr
dup
iload 3
invokespecial org.jruby.ir.instructions.CheckForLJEInstr.<init>:(Z)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
10: StackMap locals: int
StackMap stack:
aload 0
11: new org.jruby.ir.instructions.NonlocalReturnInstr
dup
aload 2
12: iload 3
ifeq 13
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.getNearestMethod:()Lorg/jruby/ir/IRMethod;
invokevirtual org.jruby.ir.IRMethod.getId:()Ljava/lang/String;
goto 14
StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.ReturnNode org.jruby.ir.operands.Operand int
StackMap stack: org.jruby.ir.IRBuilder new 11 new 11 org.jruby.ir.operands.Operand
13: ldc "--none--"
StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.ReturnNode org.jruby.ir.operands.Operand int
StackMap stack: org.jruby.ir.IRBuilder new 11 new 11 org.jruby.ir.operands.Operand java.lang.String
14: invokespecial org.jruby.ir.instructions.NonlocalReturnInstr.<init>:(Lorg/jruby/ir/operands/Operand;Ljava/lang/String;)V
15: invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
end local 3 16: goto 26
StackMap locals:
StackMap stack:
17: aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.isModuleBody:()Z
ifeq 22
18: aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.getNearestMethod:()Lorg/jruby/ir/IRMethod;
astore 3
start local 3 19: aload 3
ifnonnull 20
aload 0
new org.jruby.ir.instructions.ThrowExceptionInstr
dup
getstatic org.jruby.ir.operands.IRException.RETURN_LocalJumpError:Lorg/jruby/ir/operands/IRException;
invokespecial org.jruby.ir.instructions.ThrowExceptionInstr.<init>:(Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
20: StackMap locals: org.jruby.ir.IRMethod
StackMap stack:
aload 3
ifnull 26
aload 0
new org.jruby.ir.instructions.NonlocalReturnInstr
dup
aload 2
aload 3
invokevirtual org.jruby.ir.IRMethod.getId:()Ljava/lang/String;
invokespecial org.jruby.ir.instructions.NonlocalReturnInstr.<init>:(Lorg/jruby/ir/operands/Operand;Ljava/lang/String;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
end local 3 21: goto 26
22: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual org.jruby.ir.IRBuilder.processEnsureRescueBlocks:(Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/operands/Operand;
astore 2
23: getstatic org.jruby.RubyInstanceConfig.FULL_TRACE_ENABLED:Z
ifeq 25
24: aload 0
new org.jruby.ir.instructions.TraceInstr
dup
getstatic org.jruby.runtime.RubyEvent.RETURN:Lorg/jruby/runtime/RubyEvent;
aload 0
invokevirtual org.jruby.ir.IRBuilder.getName:()Lorg/jruby/RubySymbol;
aload 0
invokevirtual org.jruby.ir.IRBuilder.getFileName:()Ljava/lang/String;
aload 1
invokevirtual org.jruby.ast.ReturnNode.getLine:()I
iconst_1
iadd
invokespecial org.jruby.ir.instructions.TraceInstr.<init>:(Lorg/jruby/runtime/RubyEvent;Lorg/jruby/RubySymbol;Ljava/lang/String;I)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
25: StackMap locals:
StackMap stack:
aload 0
new org.jruby.ir.instructions.ReturnInstr
dup
aload 2
invokespecial org.jruby.ir.instructions.ReturnInstr.<init>:(Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
26: StackMap locals:
StackMap stack:
getstatic org.jruby.ir.IRBuilder.U_NIL:Lorg/jruby/ir/operands/UnexecutableNil;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lorg/jruby/ir/IRBuilder;
0 27 1 returnNode Lorg/jruby/ast/ReturnNode;
1 27 2 retVal Lorg/jruby/ir/operands/Operand;
8 16 3 definedWithinMethod Z
19 21 3 sm Lorg/jruby/ir/IRMethod;
MethodParameters:
Name Flags
returnNode
public org.jruby.ir.interpreter.InterpreterContext buildEvalRoot(org.jruby.ast.RootNode);
descriptor: (Lorg/jruby/ast/RootNode;)Lorg/jruby/ir/interpreter/InterpreterContext;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
iconst_0
putfield org.jruby.ir.IRBuilder.executesOnce:Z
1: aload 0
iconst_0
putfield org.jruby.ir.IRBuilder.needsCodeCoverage:Z
2: aload 0
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.getLine:()I
invokevirtual org.jruby.ir.IRManager.newLineNumber:(I)Lorg/jruby/ir/instructions/LineNumberInstr;
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
3: aload 0
invokevirtual org.jruby.ir.IRBuilder.prepareImplicitState:()V
4: aload 0
invokevirtual org.jruby.ir.IRBuilder.addCurrentScopeAndModule:()V
5: aload 0
aload 0
getfield org.jruby.ir.IRBuilder.instructions:Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
isub
putfield org.jruby.ir.IRBuilder.afterPrologueIndex:I
6: aload 1
invokevirtual org.jruby.ast.RootNode.getBodyNode:()Lorg/jruby/ast/Node;
ifnonnull 7
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getNil:()Lorg/jruby/ir/operands/Nil;
goto 8
StackMap locals:
StackMap stack:
7: aload 0
aload 1
invokevirtual org.jruby.ast.RootNode.getBodyNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
StackMap locals:
StackMap stack: org.jruby.ir.operands.Operand
8: astore 2
start local 2 9: aload 0
new org.jruby.ir.instructions.ReturnInstr
dup
aload 2
invokespecial org.jruby.ir.instructions.ReturnInstr.<init>:(Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
10: aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
aload 0
getfield org.jruby.ir.IRBuilder.instructions:Ljava/util/List;
invokevirtual org.jruby.ir.IRScope.allocateInterpreterContext:(Ljava/util/List;)Lorg/jruby/ir/interpreter/InterpreterContext;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/jruby/ir/IRBuilder;
0 11 1 rootNode Lorg/jruby/ast/RootNode;
9 11 2 returnValue Lorg/jruby/ir/operands/Operand;
MethodParameters:
Name Flags
rootNode
public static org.jruby.ir.interpreter.InterpreterContext buildRoot(org.jruby.ir.IRManager, org.jruby.ast.RootNode);
descriptor: (Lorg/jruby/ir/IRManager;Lorg/jruby/ast/RootNode;)Lorg/jruby/ir/interpreter/InterpreterContext;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.jruby.ast.RootNode.getFile:()Ljava/lang/String;
astore 2
start local 2 1: new org.jruby.ir.IRScriptBody
dup
aload 0
aload 2
ifnonnull 2
ldc "(anon)"
goto 3
StackMap locals: org.jruby.ir.IRManager org.jruby.ast.RootNode java.lang.String
StackMap stack: new 1 new 1 org.jruby.ir.IRManager
2: aload 2
StackMap locals: org.jruby.ir.IRManager org.jruby.ast.RootNode java.lang.String
StackMap stack: new 1 new 1 org.jruby.ir.IRManager java.lang.String
3: aload 1
invokevirtual org.jruby.ast.RootNode.getStaticScope:()Lorg/jruby/parser/StaticScope;
invokespecial org.jruby.ir.IRScriptBody.<init>:(Lorg/jruby/ir/IRManager;Ljava/lang/String;Lorg/jruby/parser/StaticScope;)V
astore 3
start local 3 4: aload 0
aload 3
invokestatic org.jruby.ir.IRBuilder.topIRBuilder:(Lorg/jruby/ir/IRManager;Lorg/jruby/ir/IRScope;)Lorg/jruby/ir/IRBuilder;
aload 1
invokevirtual org.jruby.ir.IRBuilder.buildRootInner:(Lorg/jruby/ast/RootNode;)Lorg/jruby/ir/interpreter/InterpreterContext;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 manager Lorg/jruby/ir/IRManager;
0 5 1 rootNode Lorg/jruby/ast/RootNode;
1 5 2 file Ljava/lang/String;
4 5 3 script Lorg/jruby/ir/IRScriptBody;
MethodParameters:
Name Flags
manager
rootNode
private void addCurrentScopeAndModule();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=1, args_size=1
start local 0 0: aload 0
new org.jruby.ir.instructions.CopyInstr
dup
aload 0
invokevirtual org.jruby.ir.IRBuilder.getCurrentScopeVariable:()Lorg/jruby/ir/operands/Variable;
getstatic org.jruby.ir.operands.CurrentScope.INSTANCE:Lorg/jruby/ir/operands/CurrentScope;
invokespecial org.jruby.ir.instructions.CopyInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
1: aload 0
new org.jruby.ir.instructions.CopyInstr
dup
aload 0
invokevirtual org.jruby.ir.IRBuilder.getCurrentModuleVariable:()Lorg/jruby/ir/operands/Variable;
getstatic org.jruby.ir.operands.ScopeModule.SCOPE_MODULE:[Lorg/jruby/ir/operands/ScopeModule;
iconst_0
aaload
invokespecial org.jruby.ir.instructions.CopyInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/ir/IRBuilder;
private org.jruby.ir.interpreter.InterpreterContext buildRootInner(org.jruby.ast.RootNode);
descriptor: (Lorg/jruby/ast/RootNode;)Lorg/jruby/ir/interpreter/InterpreterContext;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.jruby.ast.RootNode.needsCoverage:()Z
putfield org.jruby.ir.IRBuilder.needsCodeCoverage:Z
1: aload 0
invokevirtual org.jruby.ir.IRBuilder.prepareImplicitState:()V
2: aload 0
invokevirtual org.jruby.ir.IRBuilder.addCurrentScopeAndModule:()V
3: aload 0
aload 0
getfield org.jruby.ir.IRBuilder.instructions:Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
isub
putfield org.jruby.ir.IRBuilder.afterPrologueIndex:I
4: aload 0
new org.jruby.ir.instructions.ReturnInstr
dup
aload 0
aload 1
invokevirtual org.jruby.ast.RootNode.getBodyNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
invokespecial org.jruby.ir.instructions.ReturnInstr.<init>:(Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
5: aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
aload 0
getfield org.jruby.ir.IRBuilder.instructions:Ljava/util/List;
invokevirtual org.jruby.ir.IRScope.computeScopeFlagsEarly:(Ljava/util/List;)V
6: aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.canReceiveNonlocalReturns:()Z
ifeq 7
aload 0
invokevirtual org.jruby.ir.IRBuilder.handleNonlocalReturnInMethod:()V
7: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
aload 0
getfield org.jruby.ir.IRBuilder.instructions:Ljava/util/List;
invokevirtual org.jruby.ir.IRScope.allocateInterpreterContext:(Ljava/util/List;)Lorg/jruby/ir/interpreter/InterpreterContext;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/jruby/ir/IRBuilder;
0 8 1 rootNode Lorg/jruby/ast/RootNode;
MethodParameters:
Name Flags
rootNode
public org.jruby.ir.operands.Variable buildSelf();
descriptor: ()Lorg/jruby/ir/operands/Variable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.getSelf:()Lorg/jruby/ir/operands/Variable;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/IRBuilder;
public org.jruby.ir.operands.Operand buildSplat(org.jruby.ast.SplatNode);
descriptor: (Lorg/jruby/ast/SplatNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new org.jruby.ir.instructions.BuildSplatInstr
dup
aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
aload 0
aload 1
invokevirtual org.jruby.ast.SplatNode.getValue:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
iconst_1
invokespecial org.jruby.ir.instructions.BuildSplatInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;Z)V
invokevirtual org.jruby.ir.IRBuilder.addResultInstr:(Lorg/jruby/ir/instructions/ResultInstr;)Lorg/jruby/ir/operands/Variable;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/IRBuilder;
0 1 1 splatNode Lorg/jruby/ast/SplatNode;
MethodParameters:
Name Flags
splatNode
public org.jruby.ir.operands.Operand buildStr(org.jruby.ast.StrNode);
descriptor: (Lorg/jruby/ast/StrNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.jruby.ir.IRBuilder.buildStrRaw:(Lorg/jruby/ast/StrNode;)Lorg/jruby/ir/operands/Operand;
astore 2
start local 2 1: aload 2
instanceof org.jruby.ir.operands.FrozenString
ifeq 2
aload 2
goto 3
StackMap locals: org.jruby.ir.operands.Operand
StackMap stack:
2: aload 0
aload 2
invokevirtual org.jruby.ir.IRBuilder.copyAndReturnValue:(Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/operands/Variable;
StackMap locals:
StackMap stack: org.jruby.ir.operands.Operand
3: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jruby/ir/IRBuilder;
0 4 1 strNode Lorg/jruby/ast/StrNode;
1 4 2 literal Lorg/jruby/ir/operands/Operand;
MethodParameters:
Name Flags
strNode
public org.jruby.ir.operands.Operand buildStrRaw(org.jruby.ast.StrNode);
descriptor: (Lorg/jruby/ast/StrNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 1
instanceof org.jruby.ast.FileNode
ifeq 1
new org.jruby.ir.operands.Filename
dup
invokespecial org.jruby.ir.operands.Filename.<init>:()V
areturn
1: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.jruby.ast.StrNode.getLine:()I
istore 2
start local 2 2: aload 1
invokevirtual org.jruby.ast.StrNode.isFrozen:()Z
ifeq 3
new org.jruby.ir.operands.FrozenString
dup
aload 1
invokevirtual org.jruby.ast.StrNode.getValue:()Lorg/jruby/util/ByteList;
aload 1
invokevirtual org.jruby.ast.StrNode.getCodeRange:()I
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.getFile:()Ljava/lang/String;
iload 2
invokespecial org.jruby.ir.operands.FrozenString.<init>:(Lorg/jruby/util/ByteList;ILjava/lang/String;I)V
areturn
3: StackMap locals: int
StackMap stack:
new org.jruby.ir.operands.StringLiteral
dup
aload 1
invokevirtual org.jruby.ast.StrNode.getValue:()Lorg/jruby/util/ByteList;
aload 1
invokevirtual org.jruby.ast.StrNode.getCodeRange:()I
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.getFile:()Ljava/lang/String;
iload 2
invokespecial org.jruby.ir.operands.StringLiteral.<init>:(Lorg/jruby/util/ByteList;ILjava/lang/String;I)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jruby/ir/IRBuilder;
0 4 1 strNode Lorg/jruby/ast/StrNode;
2 4 2 line I
MethodParameters:
Name Flags
strNode
private org.jruby.ir.operands.Operand buildSuperInstr(org.jruby.ir.operands.Operand, org.jruby.ir.operands.Operand[]);
descriptor: (Lorg/jruby/ir/operands/Operand;[Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/operands/Operand;
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 4
start local 4 1: aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
instanceof org.jruby.ir.IRMethod
ifeq 7
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.getLexicalParent:()Lorg/jruby/ir/IRScope;
instanceof org.jruby.ir.IRClassBody
ifeq 7
2: aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
checkcast org.jruby.ir.IRMethod
getfield org.jruby.ir.IRMethod.isInstanceMethod:Z
ifeq 5
3: new org.jruby.ir.instructions.InstanceSuperInstr
dup
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
aload 4
aload 0
invokevirtual org.jruby.ir.IRBuilder.getCurrentModuleVariable:()Lorg/jruby/ir/operands/Variable;
aload 0
invokevirtual org.jruby.ir.IRBuilder.getName:()Lorg/jruby/RubySymbol;
aload 2
aload 1
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.maybeUsingRefinements:()Z
invokespecial org.jruby.ir.instructions.InstanceSuperInstr.<init>:(Lorg/jruby/ir/IRScope;Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;Lorg/jruby/RubySymbol;[Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;Z)V
astore 3
start local 3 4: goto 8
end local 3 5: StackMap locals: org.jruby.ir.IRBuilder org.jruby.ir.operands.Operand org.jruby.ir.operands.Operand[] top org.jruby.ir.operands.Variable
StackMap stack:
new org.jruby.ir.instructions.ClassSuperInstr
dup
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
aload 4
aload 0
invokevirtual org.jruby.ir.IRBuilder.getCurrentModuleVariable:()Lorg/jruby/ir/operands/Variable;
aload 0
invokevirtual org.jruby.ir.IRBuilder.getName:()Lorg/jruby/RubySymbol;
aload 2
aload 1
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.maybeUsingRefinements:()Z
invokespecial org.jruby.ir.instructions.ClassSuperInstr.<init>:(Lorg/jruby/ir/IRScope;Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;Lorg/jruby/RubySymbol;[Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;Z)V
astore 3
start local 3 6: goto 8
end local 3 7: StackMap locals:
StackMap stack:
new org.jruby.ir.instructions.UnresolvedSuperInstr
dup
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
aload 4
aload 0
invokevirtual org.jruby.ir.IRBuilder.buildSelf:()Lorg/jruby/ir/operands/Variable;
aload 2
aload 1
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.maybeUsingRefinements:()Z
invokespecial org.jruby.ir.instructions.UnresolvedSuperInstr.<init>:(Lorg/jruby/ir/IRScope;Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;[Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;Z)V
astore 3
start local 3 8: StackMap locals: org.jruby.ir.IRBuilder org.jruby.ir.operands.Operand org.jruby.ir.operands.Operand[] org.jruby.ir.instructions.CallInstr org.jruby.ir.operands.Variable
StackMap stack:
aload 0
aload 1
aload 3
invokevirtual org.jruby.ir.IRBuilder.receiveBreakException:(Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/instructions/CallInstr;)V
9: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/jruby/ir/IRBuilder;
0 10 1 block Lorg/jruby/ir/operands/Operand;
0 10 2 args [Lorg/jruby/ir/operands/Operand;
4 5 3 superInstr Lorg/jruby/ir/instructions/CallInstr;
6 7 3 superInstr Lorg/jruby/ir/instructions/CallInstr;
8 10 3 superInstr Lorg/jruby/ir/instructions/CallInstr;
1 10 4 ret Lorg/jruby/ir/operands/Variable;
MethodParameters:
Name Flags
block
args
public org.jruby.ir.operands.Operand buildSuper(org.jruby.ast.SuperNode);
descriptor: (Lorg/jruby/ast/SuperNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.isModuleBody:()Z
ifeq 1
aload 0
invokevirtual org.jruby.ir.IRBuilder.buildSuperInScriptBody:()Lorg/jruby/ir/operands/Operand;
areturn
1: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.jruby.ast.SuperNode.getArgsNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.setupCallArgs:(Lorg/jruby/ast/Node;)[Lorg/jruby/ir/operands/Operand;
astore 2
start local 2 2: aload 0
aload 1
invokevirtual org.jruby.ast.SuperNode.getIterNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.setupCallClosure:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 3
start local 3 3: aload 3
ifnonnull 4
aload 0
invokevirtual org.jruby.ir.IRBuilder.getYieldClosureVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 3
4: StackMap locals: org.jruby.ir.operands.Operand[] org.jruby.ir.operands.Operand
StackMap stack:
aload 0
aload 3
aload 2
invokevirtual org.jruby.ir.IRBuilder.buildSuperInstr:(Lorg/jruby/ir/operands/Operand;[Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/operands/Operand;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/jruby/ir/IRBuilder;
0 5 1 superNode Lorg/jruby/ast/SuperNode;
2 5 2 args [Lorg/jruby/ir/operands/Operand;
3 5 3 block Lorg/jruby/ir/operands/Operand;
MethodParameters:
Name Flags
superNode
private org.jruby.ir.operands.Operand buildSuperInScriptBody();
descriptor: ()Lorg/jruby/ir/operands/Operand;
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=1, args_size=1
start local 0 0: aload 0
new org.jruby.ir.instructions.UnresolvedSuperInstr
dup
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
aload 0
invokevirtual org.jruby.ir.IRBuilder.buildSelf:()Lorg/jruby/ir/operands/Variable;
getstatic org.jruby.ir.instructions.Instr.EMPTY_OPERANDS:[Lorg/jruby/ir/operands/Operand;
aconst_null
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.maybeUsingRefinements:()Z
invokespecial org.jruby.ir.instructions.UnresolvedSuperInstr.<init>:(Lorg/jruby/ir/IRScope;Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;[Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;Z)V
invokevirtual org.jruby.ir.IRBuilder.addResultInstr:(Lorg/jruby/ir/instructions/ResultInstr;)Lorg/jruby/ir/operands/Variable;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/IRBuilder;
public org.jruby.ir.operands.Operand buildSValue(org.jruby.ast.SValueNode);
descriptor: (Lorg/jruby/ast/SValueNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new org.jruby.ir.operands.SValue
dup
aload 0
aload 1
invokevirtual org.jruby.ast.SValueNode.getValue:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
invokespecial org.jruby.ir.operands.SValue.<init>:(Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.copyAndReturnValue:(Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/operands/Variable;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/IRBuilder;
0 1 1 node Lorg/jruby/ast/SValueNode;
MethodParameters:
Name Flags
node
public org.jruby.ir.operands.Operand buildSymbol(org.jruby.ast.SymbolNode);
descriptor: (Lorg/jruby/ast/SymbolNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: new org.jruby.ir.operands.Symbol
dup
aload 1
invokevirtual org.jruby.ast.SymbolNode.getName:()Lorg/jruby/RubySymbol;
invokespecial org.jruby.ir.operands.Symbol.<init>:(Lorg/jruby/RubySymbol;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/IRBuilder;
0 1 1 node Lorg/jruby/ast/SymbolNode;
MethodParameters:
Name Flags
node
public org.jruby.ir.operands.Operand buildTrue();
descriptor: ()Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getTrue:()Lorg/jruby/ir/operands/Boolean;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/IRBuilder;
public org.jruby.ir.operands.Operand buildUndef(org.jruby.ast.Node);
descriptor: (Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
checkcast org.jruby.ast.UndefNode
invokevirtual org.jruby.ast.UndefNode.getName:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 2
start local 2 1: aload 0
new org.jruby.ir.instructions.UndefMethodInstr
dup
aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
aload 2
invokespecial org.jruby.ir.instructions.UndefMethodInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addResultInstr:(Lorg/jruby/ir/instructions/ResultInstr;)Lorg/jruby/ir/operands/Variable;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/ir/IRBuilder;
0 2 1 node Lorg/jruby/ast/Node;
1 2 2 methName Lorg/jruby/ir/operands/Operand;
MethodParameters:
Name Flags
node
private org.jruby.ir.operands.Operand buildConditionalLoop(org.jruby.ast.Node, org.jruby.ast.Node, boolean, boolean);
descriptor: (Lorg/jruby/ast/Node;Lorg/jruby/ast/Node;ZZ)Lorg/jruby/ir/operands/Operand;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 4
ifeq 5
1: iload 3
ifeq 2
aload 1
invokevirtual org.jruby.ast.Node.getNodeType:()Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.alwaysFalse:()Z
ifne 3
2: StackMap locals:
StackMap stack:
iload 3
ifne 5
aload 1
invokevirtual org.jruby.ast.Node.getNodeType:()Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.alwaysTrue:()Z
ifeq 5
3: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
pop
4: aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getNil:()Lorg/jruby/ir/operands/Nil;
areturn
5: StackMap locals:
StackMap stack:
new org.jruby.ir.IRBuilder$IRLoop
dup
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
aload 0
invokevirtual org.jruby.ir.IRBuilder.getCurrentLoop:()Lorg/jruby/ir/IRBuilder$IRLoop;
invokespecial org.jruby.ir.IRBuilder$IRLoop.<init>:(Lorg/jruby/ir/IRScope;Lorg/jruby/ir/IRBuilder$IRLoop;)V
astore 5
start local 5 6: aload 5
getfield org.jruby.ir.IRBuilder$IRLoop.loopResult:Lorg/jruby/ir/operands/Variable;
astore 6
start local 6 7: aload 0
invokevirtual org.jruby.ir.IRBuilder.getNewLabel:()Lorg/jruby/ir/operands/Label;
astore 7
start local 7 8: aload 0
getfield org.jruby.ir.IRBuilder.loopStack:Ljava/util/Stack;
aload 5
invokevirtual java.util.Stack.push:(Ljava/lang/Object;)Ljava/lang/Object;
pop
9: aload 0
new org.jruby.ir.instructions.LabelInstr
dup
aload 5
getfield org.jruby.ir.IRBuilder$IRLoop.loopStartLabel:Lorg/jruby/ir/operands/Label;
invokespecial org.jruby.ir.instructions.LabelInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
10: iload 4
ifeq 15
11: aload 0
aload 1
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 8
start local 8 12: aload 0
aload 8
iload 3
ifeq 13
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getFalse:()Lorg/jruby/ir/operands/Boolean;
goto 14
StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.Node org.jruby.ast.Node int int org.jruby.ir.IRBuilder$IRLoop org.jruby.ir.operands.Variable org.jruby.ir.operands.Label org.jruby.ir.operands.Operand
StackMap stack: org.jruby.ir.IRBuilder org.jruby.ir.operands.Operand
13: aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getTrue:()Lorg/jruby/ir/operands/Boolean;
StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.Node org.jruby.ast.Node int int org.jruby.ir.IRBuilder$IRLoop org.jruby.ir.operands.Variable org.jruby.ir.operands.Label org.jruby.ir.operands.Operand
StackMap stack: org.jruby.ir.IRBuilder org.jruby.ir.operands.Operand org.jruby.ir.operands.Boolean
14: aload 7
invokestatic org.jruby.ir.IRBuilder.createBranch:(Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Label;)Lorg/jruby/ir/instructions/Instr;
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
end local 8 15: StackMap locals:
StackMap stack:
aload 0
new org.jruby.ir.instructions.LabelInstr
dup
aload 5
getfield org.jruby.ir.IRBuilder$IRLoop.iterStartLabel:Lorg/jruby/ir/operands/Label;
invokespecial org.jruby.ir.instructions.LabelInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
16: aload 0
new org.jruby.ir.instructions.ThreadPollInstr
dup
iconst_1
invokespecial org.jruby.ir.instructions.ThreadPollInstr.<init>:(Z)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
17: aload 2
ifnull 18
aload 0
aload 2
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
pop
18: StackMap locals:
StackMap stack:
aload 0
new org.jruby.ir.instructions.LabelInstr
dup
aload 5
getfield org.jruby.ir.IRBuilder$IRLoop.iterEndLabel:Lorg/jruby/ir/operands/Label;
invokespecial org.jruby.ir.instructions.LabelInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
19: iload 4
ifeq 22
20: aload 0
new org.jruby.ir.instructions.JumpInstr
dup
aload 5
getfield org.jruby.ir.IRBuilder$IRLoop.loopStartLabel:Lorg/jruby/ir/operands/Label;
invokespecial org.jruby.ir.instructions.JumpInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
21: goto 26
22: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 8
start local 8 23: aload 0
aload 8
iload 3
ifeq 24
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getTrue:()Lorg/jruby/ir/operands/Boolean;
goto 25
StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.Node org.jruby.ast.Node int int org.jruby.ir.IRBuilder$IRLoop org.jruby.ir.operands.Variable org.jruby.ir.operands.Label org.jruby.ir.operands.Operand
StackMap stack: org.jruby.ir.IRBuilder org.jruby.ir.operands.Operand
24: aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getFalse:()Lorg/jruby/ir/operands/Boolean;
StackMap locals: org.jruby.ir.IRBuilder org.jruby.ast.Node org.jruby.ast.Node int int org.jruby.ir.IRBuilder$IRLoop org.jruby.ir.operands.Variable org.jruby.ir.operands.Label org.jruby.ir.operands.Operand
StackMap stack: org.jruby.ir.IRBuilder org.jruby.ir.operands.Operand org.jruby.ir.operands.Boolean
25: aload 5
getfield org.jruby.ir.IRBuilder$IRLoop.iterStartLabel:Lorg/jruby/ir/operands/Label;
invokestatic org.jruby.ir.IRBuilder.createBranch:(Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Label;)Lorg/jruby/ir/instructions/Instr;
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
end local 8 26: StackMap locals:
StackMap stack:
aload 0
new org.jruby.ir.instructions.LabelInstr
dup
aload 7
invokespecial org.jruby.ir.instructions.LabelInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
27: aload 0
new org.jruby.ir.instructions.CopyInstr
dup
aload 6
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getNil:()Lorg/jruby/ir/operands/Nil;
invokespecial org.jruby.ir.instructions.CopyInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
28: aload 0
new org.jruby.ir.instructions.LabelInstr
dup
aload 5
getfield org.jruby.ir.IRBuilder$IRLoop.loopEndLabel:Lorg/jruby/ir/operands/Label;
invokespecial org.jruby.ir.instructions.LabelInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
29: aload 0
getfield org.jruby.ir.IRBuilder.loopStack:Ljava/util/Stack;
invokevirtual java.util.Stack.pop:()Ljava/lang/Object;
pop
30: aload 6
areturn
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 31 0 this Lorg/jruby/ir/IRBuilder;
0 31 1 conditionNode Lorg/jruby/ast/Node;
0 31 2 bodyNode Lorg/jruby/ast/Node;
0 31 3 isWhile Z
0 31 4 isLoopHeadCondition Z
6 31 5 loop Lorg/jruby/ir/IRBuilder$IRLoop;
7 31 6 loopResult Lorg/jruby/ir/operands/Variable;
8 31 7 setupResultLabel Lorg/jruby/ir/operands/Label;
12 15 8 cv Lorg/jruby/ir/operands/Operand;
23 26 8 cv Lorg/jruby/ir/operands/Operand;
MethodParameters:
Name Flags
conditionNode
bodyNode
isWhile
isLoopHeadCondition
public org.jruby.ir.operands.Operand buildUntil(org.jruby.ast.UntilNode);
descriptor: (Lorg/jruby/ast/UntilNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.jruby.ast.UntilNode.getConditionNode:()Lorg/jruby/ast/Node;
aload 1
invokevirtual org.jruby.ast.UntilNode.getBodyNode:()Lorg/jruby/ast/Node;
iconst_0
aload 1
invokevirtual org.jruby.ast.UntilNode.evaluateAtStart:()Z
invokevirtual org.jruby.ir.IRBuilder.buildConditionalLoop:(Lorg/jruby/ast/Node;Lorg/jruby/ast/Node;ZZ)Lorg/jruby/ir/operands/Operand;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/IRBuilder;
0 1 1 untilNode Lorg/jruby/ast/UntilNode;
MethodParameters:
Name Flags
untilNode final
public org.jruby.ir.operands.Operand buildVAlias(org.jruby.ast.VAliasNode);
descriptor: (Lorg/jruby/ast/VAliasNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new org.jruby.ir.instructions.GVarAliasInstr
dup
new org.jruby.ir.operands.StringLiteral
dup
aload 1
invokevirtual org.jruby.ast.VAliasNode.getNewName:()Lorg/jruby/RubySymbol;
invokespecial org.jruby.ir.operands.StringLiteral.<init>:(Lorg/jruby/RubySymbol;)V
new org.jruby.ir.operands.StringLiteral
dup
aload 1
invokevirtual org.jruby.ast.VAliasNode.getOldName:()Lorg/jruby/RubySymbol;
invokespecial org.jruby.ir.operands.StringLiteral.<init>:(Lorg/jruby/RubySymbol;)V
invokespecial org.jruby.ir.instructions.GVarAliasInstr.<init>:(Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
1: aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getNil:()Lorg/jruby/ir/operands/Nil;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/ir/IRBuilder;
0 2 1 valiasNode Lorg/jruby/ast/VAliasNode;
MethodParameters:
Name Flags
valiasNode
public org.jruby.ir.operands.Operand buildVCall(org.jruby.ir.operands.Variable, org.jruby.ast.VCallNode);
descriptor: (Lorg/jruby/ir/operands/Variable;Lorg/jruby/ast/VCallNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 1
aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 1
1: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
getstatic org.jruby.runtime.CallType.VARIABLE:Lorg/jruby/runtime/CallType;
aload 1
aload 2
invokevirtual org.jruby.ast.VCallNode.getName:()Lorg/jruby/RubySymbol;
aload 0
invokevirtual org.jruby.ir.IRBuilder.buildSelf:()Lorg/jruby/ir/operands/Variable;
getstatic org.jruby.ir.instructions.Instr.EMPTY_OPERANDS:[Lorg/jruby/ir/operands/Operand;
aconst_null
invokestatic org.jruby.ir.instructions.CallInstr.create:(Lorg/jruby/ir/IRScope;Lorg/jruby/runtime/CallType;Lorg/jruby/ir/operands/Variable;Lorg/jruby/RubySymbol;Lorg/jruby/ir/operands/Operand;[Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/instructions/CallInstr;
invokevirtual org.jruby.ir.IRBuilder.addResultInstr:(Lorg/jruby/ir/instructions/ResultInstr;)Lorg/jruby/ir/operands/Variable;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/ir/IRBuilder;
0 2 1 result Lorg/jruby/ir/operands/Variable;
0 2 2 node Lorg/jruby/ast/VCallNode;
MethodParameters:
Name Flags
result
node
public org.jruby.ir.operands.Operand buildWhile(org.jruby.ast.WhileNode);
descriptor: (Lorg/jruby/ast/WhileNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.jruby.ast.WhileNode.getConditionNode:()Lorg/jruby/ast/Node;
aload 1
invokevirtual org.jruby.ast.WhileNode.getBodyNode:()Lorg/jruby/ast/Node;
iconst_1
aload 1
invokevirtual org.jruby.ast.WhileNode.evaluateAtStart:()Z
invokevirtual org.jruby.ir.IRBuilder.buildConditionalLoop:(Lorg/jruby/ast/Node;Lorg/jruby/ast/Node;ZZ)Lorg/jruby/ir/operands/Operand;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/IRBuilder;
0 1 1 whileNode Lorg/jruby/ast/WhileNode;
MethodParameters:
Name Flags
whileNode final
public org.jruby.ir.operands.Operand buildXStr(org.jruby.ast.XStrNode);
descriptor: (Lorg/jruby/ast/XStrNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=15, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
getstatic org.jruby.runtime.CallType.FUNCTIONAL:Lorg/jruby/runtime/CallType;
aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
1: aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getRuntime:()Lorg/jruby/Ruby;
ldc "`"
invokevirtual org.jruby.Ruby.newSymbol:(Ljava/lang/String;)Lorg/jruby/RubySymbol;
getstatic org.jruby.ir.operands.Self.SELF:Lorg/jruby/ir/operands/Self;
2: iconst_1
anewarray org.jruby.ir.operands.Operand
dup
iconst_0
new org.jruby.ir.operands.FrozenString
dup
aload 1
invokevirtual org.jruby.ast.XStrNode.getValue:()Lorg/jruby/util/ByteList;
aload 1
invokevirtual org.jruby.ast.XStrNode.getCodeRange:()I
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.getFile:()Ljava/lang/String;
aload 1
invokevirtual org.jruby.ast.XStrNode.getLine:()I
invokespecial org.jruby.ir.operands.FrozenString.<init>:(Lorg/jruby/util/ByteList;ILjava/lang/String;I)V
aastore
aconst_null
3: invokestatic org.jruby.ir.instructions.CallInstr.create:(Lorg/jruby/ir/IRScope;Lorg/jruby/runtime/CallType;Lorg/jruby/ir/operands/Variable;Lorg/jruby/RubySymbol;Lorg/jruby/ir/operands/Operand;[Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/instructions/CallInstr;
invokevirtual org.jruby.ir.IRBuilder.addResultInstr:(Lorg/jruby/ir/instructions/ResultInstr;)Lorg/jruby/ir/operands/Variable;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jruby/ir/IRBuilder;
0 4 1 node Lorg/jruby/ast/XStrNode;
MethodParameters:
Name Flags
node
public org.jruby.ir.operands.Operand buildYield(org.jruby.ast.YieldNode, org.jruby.ir.operands.Variable);
descriptor: (Lorg/jruby/ast/YieldNode;Lorg/jruby/ir/operands/Variable;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
instanceof org.jruby.ir.IRScriptBody
ifeq 1
aload 0
aload 1
ldc "Invalid yield"
invokevirtual org.jruby.ir.IRBuilder.throwSyntaxError:(Lorg/jruby/ast/Node;Ljava/lang/String;)V
1: StackMap locals:
StackMap stack:
iconst_1
istore 3
start local 3 2: aload 1
invokevirtual org.jruby.ast.YieldNode.getArgsNode:()Lorg/jruby/ast/Node;
astore 4
start local 4 3: aload 4
ifnull 6
aload 4
instanceof org.jruby.ast.ArrayNode
ifeq 6
aload 4
checkcast org.jruby.ast.ArrayNode
invokevirtual org.jruby.ast.ArrayNode.size:()I
iconst_1
if_icmpne 6
4: aload 4
checkcast org.jruby.ast.ArrayNode
invokevirtual org.jruby.ast.ArrayNode.getLast:()Lorg/jruby/ast/Node;
astore 4
5: iconst_0
istore 3
6: StackMap locals: int org.jruby.ast.Node
StackMap stack:
aload 2
ifnonnull 7
aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
goto 8
StackMap locals:
StackMap stack:
7: aload 2
StackMap locals:
StackMap stack: org.jruby.ir.operands.Variable
8: astore 5
start local 5 9: aload 4
instanceof org.jruby.ast.ArrayNode
ifeq 10
iload 3
ifeq 10
aload 0
aload 4
checkcast org.jruby.ast.ArrayNode
iconst_1
invokevirtual org.jruby.ir.IRBuilder.buildArray:(Lorg/jruby/ast/ArrayNode;Z)Lorg/jruby/ir/operands/Operand;
goto 11
StackMap locals: org.jruby.ir.operands.Variable
StackMap stack:
10: aload 0
aload 4
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
StackMap locals:
StackMap stack: org.jruby.ir.operands.Operand
11: astore 6
start local 6 12: aload 0
new org.jruby.ir.instructions.YieldInstr
dup
aload 5
aload 0
invokevirtual org.jruby.ir.IRBuilder.getYieldClosureVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
aload 6
iload 3
invokespecial org.jruby.ir.instructions.YieldInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;Z)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
13: aload 5
areturn
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 14 0 this Lorg/jruby/ir/IRBuilder;
0 14 1 node Lorg/jruby/ast/YieldNode;
0 14 2 result Lorg/jruby/ir/operands/Variable;
2 14 3 unwrap Z
3 14 4 argNode Lorg/jruby/ast/Node;
9 14 5 ret Lorg/jruby/ir/operands/Variable;
12 14 6 value Lorg/jruby/ir/operands/Operand;
MethodParameters:
Name Flags
node
result
public org.jruby.ir.operands.Operand copy(org.jruby.ir.operands.Operand);
descriptor: (Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aconst_null
aload 1
invokevirtual org.jruby.ir.IRBuilder.copy:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/operands/Operand;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/IRBuilder;
0 1 1 value Lorg/jruby/ir/operands/Operand;
MethodParameters:
Name Flags
value
public org.jruby.ir.operands.Operand copy(org.jruby.ir.operands.Variable, org.jruby.ir.operands.Operand);
descriptor: (Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
1: new org.jruby.ir.instructions.CopyInstr
dup
aload 1
ifnonnull 2
aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
goto 3
StackMap locals: org.jruby.ir.IRBuilder org.jruby.ir.operands.Variable org.jruby.ir.operands.Operand
StackMap stack: org.jruby.ir.IRBuilder new 1 new 1
2: aload 1
StackMap locals: org.jruby.ir.IRBuilder org.jruby.ir.operands.Variable org.jruby.ir.operands.Operand
StackMap stack: org.jruby.ir.IRBuilder new 1 new 1 org.jruby.ir.operands.Variable
3: aload 2
invokespecial org.jruby.ir.instructions.CopyInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addResultInstr:(Lorg/jruby/ir/instructions/ResultInstr;)Lorg/jruby/ir/operands/Variable;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jruby/ir/IRBuilder;
0 4 1 result Lorg/jruby/ir/operands/Variable;
0 4 2 value Lorg/jruby/ir/operands/Operand;
MethodParameters:
Name Flags
result
value
public org.jruby.ir.operands.Operand buildZArray(org.jruby.ir.operands.Variable);
descriptor: (Lorg/jruby/ir/operands/Variable;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
new org.jruby.ir.operands.Array
dup
invokespecial org.jruby.ir.operands.Array.<init>:()V
invokevirtual org.jruby.ir.IRBuilder.copy:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/operands/Operand;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/IRBuilder;
0 1 1 result Lorg/jruby/ir/operands/Variable;
MethodParameters:
Name Flags
result
private org.jruby.ir.operands.Operand buildZSuperIfNest(org.jruby.ir.operands.Operand);
descriptor: (Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/operands/Operand;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
astore 2
start local 2 1: new org.jruby.ir.IRBuilder$9
dup
aload 0
aload 2
aload 1
invokespecial org.jruby.ir.IRBuilder$9.<init>:(Lorg/jruby/ir/IRBuilder;Lorg/jruby/ir/IRBuilder;Lorg/jruby/ir/operands/Operand;)V
astore 3
start local 3 2: aload 0
aload 1
aload 3
invokevirtual org.jruby.ir.IRBuilder.receiveBreakException:(Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/IRBuilder$CodeBlock;)Lorg/jruby/ir/operands/Operand;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/ir/IRBuilder;
0 3 1 block Lorg/jruby/ir/operands/Operand;
1 3 2 builder Lorg/jruby/ir/IRBuilder;
2 3 3 zsuperBuilder Lorg/jruby/ir/IRBuilder$CodeBlock;
MethodParameters:
Name Flags
block final
public org.jruby.ir.operands.Operand buildZSuper(org.jruby.ast.ZSuperNode);
descriptor: (Lorg/jruby/ast/ZSuperNode;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.isModuleBody:()Z
ifeq 1
aload 0
invokevirtual org.jruby.ir.IRBuilder.buildSuperInScriptBody:()Lorg/jruby/ir/operands/Operand;
areturn
1: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.jruby.ast.ZSuperNode.getIterNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.setupCallClosure:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 2
start local 2 2: aload 2
ifnonnull 3
aload 0
invokevirtual org.jruby.ir.IRBuilder.getYieldClosureVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 2
3: StackMap locals: org.jruby.ir.operands.Operand
StackMap stack:
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
instanceof org.jruby.ir.IRMethod
ifeq 5
4: aload 0
aload 2
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
aload 0
invokestatic org.jruby.ir.IRBuilder.getCallArgs:(Lorg/jruby/ir/IRScope;Lorg/jruby/ir/IRBuilder;)[Lorg/jruby/ir/operands/Operand;
invokevirtual org.jruby.ir.IRBuilder.buildSuperInstr:(Lorg/jruby/ir/operands/Operand;[Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/operands/Operand;
areturn
5: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual org.jruby.ir.IRBuilder.buildZSuperIfNest:(Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/operands/Operand;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/jruby/ir/IRBuilder;
0 6 1 zsuperNode Lorg/jruby/ast/ZSuperNode;
2 6 2 block Lorg/jruby/ir/operands/Operand;
MethodParameters:
Name Flags
zsuperNode
private org.jruby.ir.operands.Operand[] adjustVariableDepth(org.jruby.ir.operands.Operand[], int);
descriptor: ([Lorg/jruby/ir/operands/Operand;I)[Lorg/jruby/ir/operands/Operand;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
arraylength
anewarray org.jruby.ir.operands.Operand
astore 3
start local 3 1: iconst_0
istore 4
start local 4 2: goto 8
3: StackMap locals: org.jruby.ir.operands.Operand[] int
StackMap stack:
aload 1
iload 4
aaload
instanceof org.jruby.ir.operands.Hash
ifeq 6
4: aload 3
iload 4
aload 1
iload 4
aaload
checkcast org.jruby.ir.operands.Hash
iload 2
invokevirtual org.jruby.ir.operands.Hash.cloneForLVarDepth:(I)Lorg/jruby/ir/operands/Operand;
aastore
5: goto 7
6: StackMap locals:
StackMap stack:
aload 3
iload 4
aload 1
iload 4
aaload
checkcast org.jruby.ir.operands.DepthCloneable
iload 2
invokeinterface org.jruby.ir.operands.DepthCloneable.cloneForDepth:(I)Lorg/jruby/ir/operands/Operand;
aastore
7: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
8: iload 4
aload 1
arraylength
if_icmplt 3
end local 4 9: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/jruby/ir/IRBuilder;
0 10 1 args [Lorg/jruby/ir/operands/Operand;
0 10 2 depthFromSuper I
1 10 3 newArgs [Lorg/jruby/ir/operands/Operand;
2 9 4 i I
MethodParameters:
Name Flags
args
depthFromSuper
private org.jruby.ir.interpreter.InterpreterContext buildModuleOrClassBody(org.jruby.ast.Node, int, int);
descriptor: (Lorg/jruby/ast/Node;II)Lorg/jruby/ir/interpreter/InterpreterContext;
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
new org.jruby.ir.instructions.TraceInstr
dup
getstatic org.jruby.runtime.RubyEvent.CLASS:Lorg/jruby/runtime/RubyEvent;
aconst_null
aload 0
invokevirtual org.jruby.ir.IRBuilder.getFileName:()Ljava/lang/String;
iload 2
iconst_1
iadd
invokespecial org.jruby.ir.instructions.TraceInstr.<init>:(Lorg/jruby/runtime/RubyEvent;Lorg/jruby/RubySymbol;Ljava/lang/String;I)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
1: aload 0
invokevirtual org.jruby.ir.IRBuilder.prepareImplicitState:()V
2: aload 0
invokevirtual org.jruby.ir.IRBuilder.addCurrentScopeAndModule:()V
3: aload 0
aload 1
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 4
start local 4 4: aload 0
aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
iload 3
invokevirtual org.jruby.ir.IRManager.newLineNumber:(I)Lorg/jruby/ir/instructions/LineNumberInstr;
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
5: aload 0
new org.jruby.ir.instructions.TraceInstr
dup
getstatic org.jruby.runtime.RubyEvent.END:Lorg/jruby/runtime/RubyEvent;
aconst_null
aload 0
invokevirtual org.jruby.ir.IRBuilder.getFileName:()Ljava/lang/String;
iload 3
iconst_1
iadd
invokespecial org.jruby.ir.instructions.TraceInstr.<init>:(Lorg/jruby/runtime/RubyEvent;Lorg/jruby/RubySymbol;Ljava/lang/String;I)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
6: aload 0
new org.jruby.ir.instructions.ReturnInstr
dup
aload 4
invokespecial org.jruby.ir.instructions.ReturnInstr.<init>:(Lorg/jruby/ir/operands/Operand;)V
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
7: aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
aload 0
getfield org.jruby.ir.IRBuilder.instructions:Ljava/util/List;
invokevirtual org.jruby.ir.IRScope.allocateInterpreterContext:(Ljava/util/List;)Lorg/jruby/ir/interpreter/InterpreterContext;
areturn
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/IRBuilder;
0 8 1 bodyNode Lorg/jruby/ast/Node;
0 8 2 startLine I
0 8 3 endLine I
4 8 4 bodyReturnValue Lorg/jruby/ir/operands/Operand;
MethodParameters:
Name Flags
bodyNode
startLine
endLine
private org.jruby.RubySymbol methodNameFor();
descriptor: ()Lorg/jruby/RubySymbol;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.getNearestMethod:()Lorg/jruby/ir/IRMethod;
astore 1
start local 1 1: aload 1
ifnonnull 2
aconst_null
goto 3
StackMap locals: org.jruby.ir.IRScope
StackMap stack:
2: aload 1
invokevirtual org.jruby.ir.IRScope.getName:()Lorg/jruby/RubySymbol;
StackMap locals:
StackMap stack: org.jruby.RubySymbol
3: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jruby/ir/IRBuilder;
1 4 1 method Lorg/jruby/ir/IRScope;
private org.jruby.ir.operands.TemporaryVariable createTemporaryVariable();
descriptor: ()Lorg/jruby/ir/operands/TemporaryVariable;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryLocalVariable;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/IRBuilder;
public org.jruby.ir.operands.LocalVariable getLocalVariable(org.jruby.RubySymbol, int);
descriptor: (Lorg/jruby/RubySymbol;I)Lorg/jruby/ir/operands/LocalVariable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
aload 1
iload 2
invokevirtual org.jruby.ir.IRScope.getLocalVariable:(Lorg/jruby/RubySymbol;I)Lorg/jruby/ir/operands/LocalVariable;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/IRBuilder;
0 1 1 name Lorg/jruby/RubySymbol;
0 1 2 scopeDepth I
MethodParameters:
Name Flags
name
scopeDepth
public org.jruby.ir.operands.LocalVariable getNewLocalVariable(org.jruby.RubySymbol, int);
descriptor: (Lorg/jruby/RubySymbol;I)Lorg/jruby/ir/operands/LocalVariable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
aload 1
iload 2
invokevirtual org.jruby.ir.IRScope.getNewLocalVariable:(Lorg/jruby/RubySymbol;I)Lorg/jruby/ir/operands/LocalVariable;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/IRBuilder;
0 1 1 name Lorg/jruby/RubySymbol;
0 1 2 scopeDepth I
MethodParameters:
Name Flags
name
scopeDepth
public org.jruby.RubySymbol getName();
descriptor: ()Lorg/jruby/RubySymbol;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.getName:()Lorg/jruby/RubySymbol;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/IRBuilder;
private org.jruby.ir.operands.Label getNewLabel();
descriptor: ()Lorg/jruby/ir/operands/Label;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.getNewLabel:()Lorg/jruby/ir/operands/Label;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/IRBuilder;
private java.lang.String getFileName();
descriptor: ()Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.ir.IRBuilder.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/IRBuilder;
private org.jruby.RubySymbol symbol(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/jruby/RubySymbol;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
getfield org.jruby.ir.IRManager.runtime:Lorg/jruby/Ruby;
aload 1
invokevirtual org.jruby.Ruby.newSymbol:(Ljava/lang/String;)Lorg/jruby/RubySymbol;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/IRBuilder;
0 1 1 id Ljava/lang/String;
MethodParameters:
Name Flags
id
private org.jruby.RubySymbol symbol(org.jruby.util.ByteList);
descriptor: (Lorg/jruby/util/ByteList;)Lorg/jruby/RubySymbol;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
getfield org.jruby.ir.IRManager.runtime:Lorg/jruby/Ruby;
aload 1
invokevirtual org.jruby.Ruby.newSymbol:(Lorg/jruby/util/ByteList;)Lorg/jruby/RubySymbol;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/IRBuilder;
0 1 1 bytelist Lorg/jruby/util/ByteList;
MethodParameters:
Name Flags
bytelist
public static org.jruby.ir.operands.Operand[] getCallArgs(org.jruby.ir.IRScope, org.jruby.ir.IRBuilder);
descriptor: (Lorg/jruby/ir/IRScope;Lorg/jruby/ir/IRBuilder;)[Lorg/jruby/ir/operands/Operand;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=8, args_size=2
start local 0 start local 1 0: new java.util.ArrayList
dup
iconst_5
invokespecial java.util.ArrayList.<init>:(I)V
astore 2
start local 2 1: new java.util.ArrayList
dup
iconst_3
invokespecial java.util.ArrayList.<init>:(I)V
astore 3
start local 3 2: aload 1
ifnull 8
3: aload 1
getfield org.jruby.ir.IRBuilder.instructions:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 6
StackMap locals: org.jruby.ir.IRScope org.jruby.ir.IRBuilder java.util.List java.util.List top java.util.Iterator
StackMap stack:
4: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.jruby.ir.instructions.Instr
astore 4
start local 4 5: aload 2
aload 3
aload 4
invokestatic org.jruby.ir.IRBuilder.extractCallOperands:(Ljava/util/List;Ljava/util/List;Lorg/jruby/ir/instructions/Instr;)V
end local 4 6: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
7: goto 13
8: StackMap locals: org.jruby.ir.IRScope org.jruby.ir.IRBuilder java.util.List java.util.List
StackMap stack:
aload 0
getfield org.jruby.ir.IRScope.interpreterContext:Lorg/jruby/ir/interpreter/InterpreterContext;
invokevirtual org.jruby.ir.interpreter.InterpreterContext.getInstructions:()[Lorg/jruby/ir/instructions/Instr;
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 12
StackMap locals: org.jruby.ir.IRScope org.jruby.ir.IRBuilder java.util.List java.util.List top int int org.jruby.ir.instructions.Instr[]
StackMap stack:
9: aload 7
iload 5
aaload
astore 4
start local 4 10: aload 2
aload 3
aload 4
invokestatic org.jruby.ir.IRBuilder.extractCallOperands:(Ljava/util/List;Ljava/util/List;Lorg/jruby/ir/instructions/Instr;)V
end local 4 11: iinc 5 1
StackMap locals:
StackMap stack:
12: iload 5
iload 6
if_icmplt 9
13: StackMap locals: org.jruby.ir.IRScope org.jruby.ir.IRBuilder java.util.List java.util.List
StackMap stack:
aload 0
aload 2
aload 3
invokestatic org.jruby.ir.IRBuilder.getCallOperands:(Lorg/jruby/ir/IRScope;Ljava/util/List;Ljava/util/List;)[Lorg/jruby/ir/operands/Operand;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 scope Lorg/jruby/ir/IRScope;
0 14 1 builder Lorg/jruby/ir/IRBuilder;
1 14 2 callArgs Ljava/util/List<Lorg/jruby/ir/operands/Operand;>;
2 14 3 keywordArgs Ljava/util/List<Lorg/jruby/util/KeyValuePair<Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;>;>;
5 6 4 instr Lorg/jruby/ir/instructions/Instr;
10 11 4 instr Lorg/jruby/ir/instructions/Instr;
MethodParameters:
Name Flags
scope
builder
private static void extractCallOperands(java.util.List<org.jruby.ir.operands.Operand>, java.util.List<org.jruby.util.KeyValuePair<org.jruby.ir.operands.Operand, org.jruby.ir.operands.Operand>>, org.jruby.ir.instructions.Instr);
descriptor: (Ljava/util/List;Ljava/util/List;Lorg/jruby/ir/instructions/Instr;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
instanceof org.jruby.ir.instructions.ReceiveKeywordRestArgInstr
ifeq 3
1: aload 1
iconst_0
new org.jruby.util.KeyValuePair
dup
getstatic org.jruby.ir.operands.Symbol.KW_REST_ARG_DUMMY:Lorg/jruby/ir/operands/Symbol;
aload 2
checkcast org.jruby.ir.instructions.ReceiveArgBase
invokevirtual org.jruby.ir.instructions.ReceiveArgBase.getResult:()Lorg/jruby/ir/operands/Variable;
invokespecial org.jruby.util.KeyValuePair.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
invokeinterface java.util.List.add:(ILjava/lang/Object;)V
2: goto 12
StackMap locals:
StackMap stack:
3: aload 2
instanceof org.jruby.ir.instructions.ReceiveKeywordArgInstr
ifeq 7
4: aload 2
checkcast org.jruby.ir.instructions.ReceiveKeywordArgInstr
astore 3
start local 3 5: aload 1
new org.jruby.util.KeyValuePair
dup
new org.jruby.ir.operands.Symbol
dup
aload 3
invokevirtual org.jruby.ir.instructions.ReceiveKeywordArgInstr.getKey:()Lorg/jruby/RubySymbol;
invokespecial org.jruby.ir.operands.Symbol.<init>:(Lorg/jruby/RubySymbol;)V
aload 3
invokevirtual org.jruby.ir.instructions.ReceiveKeywordArgInstr.getResult:()Lorg/jruby/ir/operands/Variable;
invokespecial org.jruby.util.KeyValuePair.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 3 6: goto 12
StackMap locals:
StackMap stack:
7: aload 2
instanceof org.jruby.ir.instructions.ReceiveRestArgInstr
ifeq 10
8: aload 0
new org.jruby.ir.operands.Splat
dup
aload 2
checkcast org.jruby.ir.instructions.ReceiveRestArgInstr
invokevirtual org.jruby.ir.instructions.ReceiveRestArgInstr.getResult:()Lorg/jruby/ir/operands/Variable;
invokespecial org.jruby.ir.operands.Splat.<init>:(Lorg/jruby/ir/operands/Operand;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
9: goto 12
StackMap locals:
StackMap stack:
10: aload 2
instanceof org.jruby.ir.instructions.ReceiveArgBase
ifeq 12
11: aload 0
aload 2
checkcast org.jruby.ir.instructions.ReceiveArgBase
invokevirtual org.jruby.ir.instructions.ReceiveArgBase.getResult:()Lorg/jruby/ir/operands/Variable;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
12: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 callArgs Ljava/util/List<Lorg/jruby/ir/operands/Operand;>;
0 13 1 keywordArgs Ljava/util/List<Lorg/jruby/util/KeyValuePair<Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;>;>;
0 13 2 instr Lorg/jruby/ir/instructions/Instr;
5 6 3 receiveKwargInstr Lorg/jruby/ir/instructions/ReceiveKeywordArgInstr;
Signature: (Ljava/util/List<Lorg/jruby/ir/operands/Operand;>;Ljava/util/List<Lorg/jruby/util/KeyValuePair<Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;>;>;Lorg/jruby/ir/instructions/Instr;)V
MethodParameters:
Name Flags
callArgs
keywordArgs
instr
private static org.jruby.ir.operands.Operand[] getCallOperands(org.jruby.ir.IRScope, java.util.List<org.jruby.ir.operands.Operand>, java.util.List<org.jruby.util.KeyValuePair<org.jruby.ir.operands.Operand, org.jruby.ir.operands.Operand>>);
descriptor: (Lorg/jruby/ir/IRScope;Ljava/util/List;Ljava/util/List;)[Lorg/jruby/ir/operands/Operand;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.jruby.ir.IRScope.receivesKeywordArgs:()Z
ifeq 9
1: iconst_0
istore 3
start local 3 2: aload 1
invokeinterface java.util.List.size:()I
iconst_1
iadd
anewarray org.jruby.ir.operands.Operand
astore 4
start local 4 3: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 6
StackMap locals: org.jruby.ir.IRScope java.util.List java.util.List int org.jruby.ir.operands.Operand[] top java.util.Iterator
StackMap stack:
4: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.jruby.ir.operands.Operand
astore 5
start local 5 5: aload 4
iload 3
iinc 3 1
aload 5
aastore
end local 5 6: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
7: aload 4
iload 3
new org.jruby.ir.operands.Hash
dup
aload 2
iconst_1
invokespecial org.jruby.ir.operands.Hash.<init>:(Ljava/util/List;Z)V
aastore
8: aload 4
areturn
end local 4 end local 3 9: StackMap locals: org.jruby.ir.IRScope java.util.List java.util.List
StackMap stack:
aload 1
aload 1
invokeinterface java.util.List.size:()I
anewarray org.jruby.ir.operands.Operand
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast org.jruby.ir.operands.Operand[]
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 scope Lorg/jruby/ir/IRScope;
0 10 1 callArgs Ljava/util/List<Lorg/jruby/ir/operands/Operand;>;
0 10 2 keywordArgs Ljava/util/List<Lorg/jruby/util/KeyValuePair<Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;>;>;
2 9 3 i I
3 9 4 args [Lorg/jruby/ir/operands/Operand;
5 6 5 arg Lorg/jruby/ir/operands/Operand;
Signature: (Lorg/jruby/ir/IRScope;Ljava/util/List<Lorg/jruby/ir/operands/Operand;>;Ljava/util/List<Lorg/jruby/util/KeyValuePair<Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;>;>;)[Lorg/jruby/ir/operands/Operand;
MethodParameters:
Name Flags
scope
callArgs
keywordArgs
public static org.jruby.ir.instructions.Instr createBranch(org.jruby.ir.operands.Operand, org.jruby.ir.operands.Operand, org.jruby.ir.operands.Label);
descriptor: (Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Label;)Lorg/jruby/ir/instructions/Instr;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
instanceof org.jruby.ir.operands.Boolean
ifeq 10
1: aload 1
checkcast org.jruby.ir.operands.Boolean
astore 3
start local 3 2: aload 3
invokevirtual org.jruby.ir.operands.Boolean.isTrue:()Z
ifeq 6
3: aload 0
invokevirtual org.jruby.ir.operands.Operand.isTruthyImmediate:()Z
ifeq 4
new org.jruby.ir.instructions.JumpInstr
dup
aload 2
invokespecial org.jruby.ir.instructions.JumpInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
areturn
4: StackMap locals: org.jruby.ir.operands.Boolean
StackMap stack:
aload 0
invokevirtual org.jruby.ir.operands.Operand.isFalseyImmediate:()Z
ifeq 5
getstatic org.jruby.ir.instructions.NopInstr.NOP:Lorg/jruby/ir/instructions/NopInstr;
areturn
5: StackMap locals:
StackMap stack:
new org.jruby.ir.instructions.BTrueInstr
dup
aload 2
aload 0
invokespecial org.jruby.ir.instructions.BTrueInstr.<init>:(Lorg/jruby/ir/operands/Label;Lorg/jruby/ir/operands/Operand;)V
areturn
6: StackMap locals:
StackMap stack:
aload 3
invokevirtual org.jruby.ir.operands.Boolean.isFalse:()Z
ifeq 14
7: aload 0
invokevirtual org.jruby.ir.operands.Operand.isTruthyImmediate:()Z
ifeq 8
getstatic org.jruby.ir.instructions.NopInstr.NOP:Lorg/jruby/ir/instructions/NopInstr;
areturn
8: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.ir.operands.Operand.isFalseyImmediate:()Z
ifeq 9
new org.jruby.ir.instructions.JumpInstr
dup
aload 2
invokespecial org.jruby.ir.instructions.JumpInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
areturn
9: StackMap locals:
StackMap stack:
new org.jruby.ir.instructions.BFalseInstr
dup
aload 2
aload 0
invokespecial org.jruby.ir.instructions.BFalseInstr.<init>:(Lorg/jruby/ir/operands/Label;Lorg/jruby/ir/operands/Operand;)V
areturn
end local 3 10: StackMap locals:
StackMap stack:
aload 1
instanceof org.jruby.ir.operands.Nil
ifeq 14
11: aload 0
instanceof org.jruby.ir.operands.Nil
ifeq 13
12: new org.jruby.ir.instructions.JumpInstr
dup
aload 2
invokespecial org.jruby.ir.instructions.JumpInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
areturn
13: StackMap locals:
StackMap stack:
new org.jruby.ir.instructions.BNilInstr
dup
aload 2
aload 0
invokespecial org.jruby.ir.instructions.BNilInstr.<init>:(Lorg/jruby/ir/operands/Label;Lorg/jruby/ir/operands/Operand;)V
areturn
14: StackMap locals:
StackMap stack:
aload 1
getstatic org.jruby.ir.operands.UndefinedValue.UNDEFINED:Lorg/jruby/ir/operands/UndefinedValue;
if_acmpne 18
15: aload 0
getstatic org.jruby.ir.operands.UndefinedValue.UNDEFINED:Lorg/jruby/ir/operands/UndefinedValue;
if_acmpne 17
16: new org.jruby.ir.instructions.JumpInstr
dup
aload 2
invokespecial org.jruby.ir.instructions.JumpInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
areturn
17: StackMap locals:
StackMap stack:
new org.jruby.ir.instructions.BUndefInstr
dup
aload 2
aload 0
invokespecial org.jruby.ir.instructions.BUndefInstr.<init>:(Lorg/jruby/ir/operands/Label;Lorg/jruby/ir/operands/Operand;)V
areturn
18: StackMap locals:
StackMap stack:
new java.lang.RuntimeException
dup
ldc "BUG: no BEQ"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 v1 Lorg/jruby/ir/operands/Operand;
0 19 1 v2 Lorg/jruby/ir/operands/Operand;
0 19 2 jmpTarget Lorg/jruby/ir/operands/Label;
2 10 3 lhs Lorg/jruby/ir/operands/Boolean;
MethodParameters:
Name Flags
v1
v2
jmpTarget
public org.jruby.ir.operands.TemporaryVariable getYieldClosureVariable();
descriptor: ()Lorg/jruby/ir/operands/TemporaryVariable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.ir.IRBuilder.yieldClosureVariable:Lorg/jruby/ir/operands/TemporaryVariable;
ifnonnull 2
1: aload 0
aload 0
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
dup_x1
putfield org.jruby.ir.IRBuilder.yieldClosureVariable:Lorg/jruby/ir/operands/TemporaryVariable;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.ir.IRBuilder.yieldClosureVariable:Lorg/jruby/ir/operands/TemporaryVariable;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/ir/IRBuilder;
public org.jruby.ir.operands.Variable getCurrentModuleVariable();
descriptor: ()Lorg/jruby/ir/operands/Variable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.ir.IRBuilder.currentModuleVariable:Lorg/jruby/ir/operands/Variable;
ifnonnull 1
aload 0
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.createCurrentModuleVariable:()Lorg/jruby/ir/operands/Variable;
putfield org.jruby.ir.IRBuilder.currentModuleVariable:Lorg/jruby/ir/operands/Variable;
1: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.ir.IRBuilder.currentModuleVariable:Lorg/jruby/ir/operands/Variable;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/ir/IRBuilder;
public org.jruby.ir.operands.Variable getCurrentScopeVariable();
descriptor: ()Lorg/jruby/ir/operands/Variable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.ir.IRBuilder.currentScopeVariable:Lorg/jruby/ir/operands/Variable;
ifnonnull 1
aload 0
aload 0
getfield org.jruby.ir.IRBuilder.scope:Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.createCurrentScopeVariable:()Lorg/jruby/ir/operands/Variable;
putfield org.jruby.ir.IRBuilder.currentScopeVariable:Lorg/jruby/ir/operands/Variable;
1: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.ir.IRBuilder.currentScopeVariable:Lorg/jruby/ir/operands/Variable;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/ir/IRBuilder;
static int[] $SWITCH_TABLE$org$jruby$ast$NodeType();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic org.jruby.ir.IRBuilder.$SWITCH_TABLE$org$jruby$ast$NodeType:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic org.jruby.ast.NodeType.values:()[Lorg/jruby/ast/NodeType;
arraylength
newarray 10
astore 0
2: aload 0
getstatic org.jruby.ast.NodeType.ALIASNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
iconst_1
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic org.jruby.ast.NodeType.ANDNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
iconst_2
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic org.jruby.ast.NodeType.ARGAUXILIARYNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 103
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic org.jruby.ast.NodeType.ARGSCATNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
iconst_3
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic org.jruby.ast.NodeType.ARGSNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
iconst_4
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic org.jruby.ast.NodeType.ARGSPUSHNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 101
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
getstatic org.jruby.ast.NodeType.ARGUMENTNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
iconst_5
iastore
21: goto 23
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
22: pop
StackMap locals:
StackMap stack:
23: aload 0
getstatic org.jruby.ast.NodeType.ARRAYNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 6
iastore
24: goto 26
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
25: pop
StackMap locals:
StackMap stack:
26: aload 0
getstatic org.jruby.ast.NodeType.ASSIGNABLENODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 7
iastore
27: goto 29
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
28: pop
StackMap locals:
StackMap stack:
29: aload 0
getstatic org.jruby.ast.NodeType.ATTRASSIGNNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 100
iastore
30: goto 32
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
31: pop
StackMap locals:
StackMap stack:
32: aload 0
getstatic org.jruby.ast.NodeType.BACKREFNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 8
iastore
33: goto 35
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
34: pop
StackMap locals:
StackMap stack:
35: aload 0
getstatic org.jruby.ast.NodeType.BEGINNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 9
iastore
36: goto 38
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
37: pop
StackMap locals:
StackMap stack:
38: aload 0
getstatic org.jruby.ast.NodeType.BIGNUMNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 10
iastore
39: goto 41
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
40: pop
StackMap locals:
StackMap stack:
41: aload 0
getstatic org.jruby.ast.NodeType.BINARYOPERATORNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 11
iastore
42: goto 44
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
43: pop
StackMap locals:
StackMap stack:
44: aload 0
getstatic org.jruby.ast.NodeType.BLOCKARG18NODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 109
iastore
45: goto 47
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
46: pop
StackMap locals:
StackMap stack:
47: aload 0
getstatic org.jruby.ast.NodeType.BLOCKARGNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 12
iastore
48: goto 50
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
49: pop
StackMap locals:
StackMap stack:
50: aload 0
getstatic org.jruby.ast.NodeType.BLOCKNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 13
iastore
51: goto 53
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
52: pop
StackMap locals:
StackMap stack:
53: aload 0
getstatic org.jruby.ast.NodeType.BLOCKPASSNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 14
iastore
54: goto 56
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
55: pop
StackMap locals:
StackMap stack:
56: aload 0
getstatic org.jruby.ast.NodeType.BREAKNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 15
iastore
57: goto 59
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
58: pop
StackMap locals:
StackMap stack:
59: aload 0
getstatic org.jruby.ast.NodeType.CALLNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 16
iastore
60: goto 62
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
61: pop
StackMap locals:
StackMap stack:
62: aload 0
getstatic org.jruby.ast.NodeType.CASENODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 17
iastore
63: goto 65
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
64: pop
StackMap locals:
StackMap stack:
65: aload 0
getstatic org.jruby.ast.NodeType.CLASSNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 18
iastore
66: goto 68
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
67: pop
StackMap locals:
StackMap stack:
68: aload 0
getstatic org.jruby.ast.NodeType.CLASSVARASGNNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 19
iastore
69: goto 71
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
70: pop
StackMap locals:
StackMap stack:
71: aload 0
getstatic org.jruby.ast.NodeType.CLASSVARDECLNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 20
iastore
72: goto 74
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
73: pop
StackMap locals:
StackMap stack:
74: aload 0
getstatic org.jruby.ast.NodeType.CLASSVARNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 21
iastore
75: goto 77
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
76: pop
StackMap locals:
StackMap stack:
77: aload 0
getstatic org.jruby.ast.NodeType.COLON2NODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 22
iastore
78: goto 80
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
79: pop
StackMap locals:
StackMap stack:
80: aload 0
getstatic org.jruby.ast.NodeType.COLON3NODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 23
iastore
81: goto 83
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
82: pop
StackMap locals:
StackMap stack:
83: aload 0
getstatic org.jruby.ast.NodeType.COMMENTNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 98
iastore
84: goto 86
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
85: pop
StackMap locals:
StackMap stack:
86: aload 0
getstatic org.jruby.ast.NodeType.COMPLEXNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 113
iastore
87: goto 89
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
88: pop
StackMap locals:
StackMap stack:
89: aload 0
getstatic org.jruby.ast.NodeType.CONSTDECLNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 24
iastore
90: goto 92
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
91: pop
StackMap locals:
StackMap stack:
92: aload 0
getstatic org.jruby.ast.NodeType.CONSTNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 25
iastore
93: goto 95
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
94: pop
StackMap locals:
StackMap stack:
95: aload 0
getstatic org.jruby.ast.NodeType.DASGNNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 26
iastore
96: goto 98
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
97: pop
StackMap locals:
StackMap stack:
98: aload 0
getstatic org.jruby.ast.NodeType.DEFINEDNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 27
iastore
99: goto 101
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
100: pop
StackMap locals:
StackMap stack:
101: aload 0
getstatic org.jruby.ast.NodeType.DEFNNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 28
iastore
102: goto 104
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
103: pop
StackMap locals:
StackMap stack:
104: aload 0
getstatic org.jruby.ast.NodeType.DEFSNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 29
iastore
105: goto 107
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
106: pop
StackMap locals:
StackMap stack:
107: aload 0
getstatic org.jruby.ast.NodeType.DOTNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 30
iastore
108: goto 110
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
109: pop
StackMap locals:
StackMap stack:
110: aload 0
getstatic org.jruby.ast.NodeType.DREGEXPNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 31
iastore
111: goto 113
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
112: pop
StackMap locals:
StackMap stack:
113: aload 0
getstatic org.jruby.ast.NodeType.DSTRNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 32
iastore
114: goto 116
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
115: pop
StackMap locals:
StackMap stack:
116: aload 0
getstatic org.jruby.ast.NodeType.DSYMBOLNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 33
iastore
117: goto 119
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
118: pop
StackMap locals:
StackMap stack:
119: aload 0
getstatic org.jruby.ast.NodeType.DVARNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 34
iastore
120: goto 122
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
121: pop
StackMap locals:
StackMap stack:
122: aload 0
getstatic org.jruby.ast.NodeType.DXSTRNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 35
iastore
123: goto 125
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
124: pop
StackMap locals:
StackMap stack:
125: aload 0
getstatic org.jruby.ast.NodeType.ENCODINGNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 107
iastore
126: goto 128
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
127: pop
StackMap locals:
StackMap stack:
128: aload 0
getstatic org.jruby.ast.NodeType.ENSURENODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 36
iastore
129: goto 131
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
130: pop
StackMap locals:
StackMap stack:
131: aload 0
getstatic org.jruby.ast.NodeType.EVSTRNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 37
iastore
132: goto 134
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
133: pop
StackMap locals:
StackMap stack:
134: aload 0
getstatic org.jruby.ast.NodeType.FALSENODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 38
iastore
135: goto 137
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
136: pop
StackMap locals:
StackMap stack:
137: aload 0
getstatic org.jruby.ast.NodeType.FCALLNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 39
iastore
138: goto 140
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
139: pop
StackMap locals:
StackMap stack:
140: aload 0
getstatic org.jruby.ast.NodeType.FIXNUMNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 40
iastore
141: goto 143
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
142: pop
StackMap locals:
StackMap stack:
143: aload 0
getstatic org.jruby.ast.NodeType.FLIPNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 41
iastore
144: goto 146
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
145: pop
StackMap locals:
StackMap stack:
146: aload 0
getstatic org.jruby.ast.NodeType.FLOATNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 42
iastore
147: goto 149
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
148: pop
StackMap locals:
StackMap stack:
149: aload 0
getstatic org.jruby.ast.NodeType.FORNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 43
iastore
150: goto 152
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
151: pop
StackMap locals:
StackMap stack:
152: aload 0
getstatic org.jruby.ast.NodeType.GLOBALASGNNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 44
iastore
153: goto 155
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
154: pop
StackMap locals:
StackMap stack:
155: aload 0
getstatic org.jruby.ast.NodeType.GLOBALVARNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 45
iastore
156: goto 158
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
157: pop
StackMap locals:
StackMap stack:
158: aload 0
getstatic org.jruby.ast.NodeType.HASHNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 46
iastore
159: goto 161
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
160: pop
StackMap locals:
StackMap stack:
161: aload 0
getstatic org.jruby.ast.NodeType.IFNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 47
iastore
162: goto 164
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
163: pop
StackMap locals:
StackMap stack:
164: aload 0
getstatic org.jruby.ast.NodeType.INSTASGNNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 48
iastore
165: goto 167
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
166: pop
StackMap locals:
StackMap stack:
167: aload 0
getstatic org.jruby.ast.NodeType.INSTVARNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 49
iastore
168: goto 170
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
169: pop
StackMap locals:
StackMap stack:
170: aload 0
getstatic org.jruby.ast.NodeType.ISCOPINGNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 50
iastore
171: goto 173
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
172: pop
StackMap locals:
StackMap stack:
173: aload 0
getstatic org.jruby.ast.NodeType.ITERNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 51
iastore
174: goto 176
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
175: pop
StackMap locals:
StackMap stack:
176: aload 0
getstatic org.jruby.ast.NodeType.KEYWORDARGNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 110
iastore
177: goto 179
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
178: pop
StackMap locals:
StackMap stack:
179: aload 0
getstatic org.jruby.ast.NodeType.KEYWORDRESTARGNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 111
iastore
180: goto 182
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
181: pop
StackMap locals:
StackMap stack:
182: aload 0
getstatic org.jruby.ast.NodeType.LAMBDANODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 104
iastore
183: goto 185
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
184: pop
StackMap locals:
StackMap stack:
185: aload 0
getstatic org.jruby.ast.NodeType.LISTNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 52
iastore
186: goto 188
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
187: pop
StackMap locals:
StackMap stack:
188: aload 0
getstatic org.jruby.ast.NodeType.LITERALNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 108
iastore
189: goto 191
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
190: pop
StackMap locals:
StackMap stack:
191: aload 0
getstatic org.jruby.ast.NodeType.LOCALASGNNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 53
iastore
192: goto 194
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
193: pop
StackMap locals:
StackMap stack:
194: aload 0
getstatic org.jruby.ast.NodeType.LOCALVARNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 54
iastore
195: goto 197
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
196: pop
StackMap locals:
StackMap stack:
197: aload 0
getstatic org.jruby.ast.NodeType.MATCH2NODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 55
iastore
198: goto 200
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
199: pop
StackMap locals:
StackMap stack:
200: aload 0
getstatic org.jruby.ast.NodeType.MATCH3NODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 56
iastore
201: goto 203
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
202: pop
StackMap locals:
StackMap stack:
203: aload 0
getstatic org.jruby.ast.NodeType.MATCHNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 57
iastore
204: goto 206
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
205: pop
StackMap locals:
StackMap stack:
206: aload 0
getstatic org.jruby.ast.NodeType.MODULENODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 58
iastore
207: goto 209
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
208: pop
StackMap locals:
StackMap stack:
209: aload 0
getstatic org.jruby.ast.NodeType.MULTIPLEASGNNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 105
iastore
210: goto 212
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
211: pop
StackMap locals:
StackMap stack:
212: aload 0
getstatic org.jruby.ast.NodeType.NEWLINENODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 59
iastore
213: goto 215
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
214: pop
StackMap locals:
StackMap stack:
215: aload 0
getstatic org.jruby.ast.NodeType.NEXTNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 60
iastore
216: goto 218
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
217: pop
StackMap locals:
StackMap stack:
218: aload 0
getstatic org.jruby.ast.NodeType.NILNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 61
iastore
219: goto 221
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
220: pop
StackMap locals:
StackMap stack:
221: aload 0
getstatic org.jruby.ast.NodeType.NOTNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 62
iastore
222: goto 224
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
223: pop
StackMap locals:
StackMap stack:
224: aload 0
getstatic org.jruby.ast.NodeType.NTHREFNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 63
iastore
225: goto 227
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
226: pop
StackMap locals:
StackMap stack:
227: aload 0
getstatic org.jruby.ast.NodeType.OPASGNANDNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 64
iastore
228: goto 230
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
229: pop
StackMap locals:
StackMap stack:
230: aload 0
getstatic org.jruby.ast.NodeType.OPASGNCONSTDECLNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 115
iastore
231: goto 233
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
232: pop
StackMap locals:
StackMap stack:
233: aload 0
getstatic org.jruby.ast.NodeType.OPASGNNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 65
iastore
234: goto 236
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
235: pop
StackMap locals:
StackMap stack:
236: aload 0
getstatic org.jruby.ast.NodeType.OPASGNORNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 66
iastore
237: goto 239
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
238: pop
StackMap locals:
StackMap stack:
239: aload 0
getstatic org.jruby.ast.NodeType.OPELEMENTASGNNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 67
iastore
240: goto 242
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
241: pop
StackMap locals:
StackMap stack:
242: aload 0
getstatic org.jruby.ast.NodeType.OPTARGNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 102
iastore
243: goto 245
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
244: pop
StackMap locals:
StackMap stack:
245: aload 0
getstatic org.jruby.ast.NodeType.ORNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 68
iastore
246: goto 248
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
247: pop
StackMap locals:
StackMap stack:
248: aload 0
getstatic org.jruby.ast.NodeType.POSTEXENODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 70
iastore
249: goto 251
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
250: pop
StackMap locals:
StackMap stack:
251: aload 0
getstatic org.jruby.ast.NodeType.PREEXENODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 69
iastore
252: goto 254
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
253: pop
StackMap locals:
StackMap stack:
254: aload 0
getstatic org.jruby.ast.NodeType.RATIONALNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 112
iastore
255: goto 257
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
256: pop
StackMap locals:
StackMap stack:
257: aload 0
getstatic org.jruby.ast.NodeType.REDONODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 71
iastore
258: goto 260
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
259: pop
StackMap locals:
StackMap stack:
260: aload 0
getstatic org.jruby.ast.NodeType.REGEXPNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 72
iastore
261: goto 263
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
262: pop
StackMap locals:
StackMap stack:
263: aload 0
getstatic org.jruby.ast.NodeType.REQUIRED_KEYWORD_ARGUMENT_VALUE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 114
iastore
264: goto 266
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
265: pop
StackMap locals:
StackMap stack:
266: aload 0
getstatic org.jruby.ast.NodeType.RESCUEBODYNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 73
iastore
267: goto 269
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
268: pop
StackMap locals:
StackMap stack:
269: aload 0
getstatic org.jruby.ast.NodeType.RESCUENODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 74
iastore
270: goto 272
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
271: pop
StackMap locals:
StackMap stack:
272: aload 0
getstatic org.jruby.ast.NodeType.RESTARG:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 106
iastore
273: goto 275
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
274: pop
StackMap locals:
StackMap stack:
275: aload 0
getstatic org.jruby.ast.NodeType.RETRYNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 75
iastore
276: goto 278
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
277: pop
StackMap locals:
StackMap stack:
278: aload 0
getstatic org.jruby.ast.NodeType.RETURNNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 76
iastore
279: goto 281
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
280: pop
StackMap locals:
StackMap stack:
281: aload 0
getstatic org.jruby.ast.NodeType.ROOTNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 99
iastore
282: goto 284
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
283: pop
StackMap locals:
StackMap stack:
284: aload 0
getstatic org.jruby.ast.NodeType.SCLASSNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 77
iastore
285: goto 287
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
286: pop
StackMap locals:
StackMap stack:
287: aload 0
getstatic org.jruby.ast.NodeType.SCOPENODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 78
iastore
288: goto 290
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
289: pop
StackMap locals:
StackMap stack:
290: aload 0
getstatic org.jruby.ast.NodeType.SELFNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 79
iastore
291: goto 293
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
292: pop
StackMap locals:
StackMap stack:
293: aload 0
getstatic org.jruby.ast.NodeType.SPLATNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 80
iastore
294: goto 296
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
295: pop
StackMap locals:
StackMap stack:
296: aload 0
getstatic org.jruby.ast.NodeType.STARNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 81
iastore
297: goto 299
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
298: pop
StackMap locals:
StackMap stack:
299: aload 0
getstatic org.jruby.ast.NodeType.STRNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 82
iastore
300: goto 302
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
301: pop
StackMap locals:
StackMap stack:
302: aload 0
getstatic org.jruby.ast.NodeType.SUPERNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 83
iastore
303: goto 305
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
304: pop
StackMap locals:
StackMap stack:
305: aload 0
getstatic org.jruby.ast.NodeType.SVALUENODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 84
iastore
306: goto 308
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
307: pop
StackMap locals:
StackMap stack:
308: aload 0
getstatic org.jruby.ast.NodeType.SYMBOLNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 85
iastore
309: goto 311
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
310: pop
StackMap locals:
StackMap stack:
311: aload 0
getstatic org.jruby.ast.NodeType.TRUENODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 86
iastore
312: goto 314
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
313: pop
StackMap locals:
StackMap stack:
314: aload 0
getstatic org.jruby.ast.NodeType.UNDEFNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 87
iastore
315: goto 317
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
316: pop
StackMap locals:
StackMap stack:
317: aload 0
getstatic org.jruby.ast.NodeType.UNTILNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 88
iastore
318: goto 320
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
319: pop
StackMap locals:
StackMap stack:
320: aload 0
getstatic org.jruby.ast.NodeType.VALIASNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 89
iastore
321: goto 323
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
322: pop
StackMap locals:
StackMap stack:
323: aload 0
getstatic org.jruby.ast.NodeType.VCALLNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 90
iastore
324: goto 326
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
325: pop
StackMap locals:
StackMap stack:
326: aload 0
getstatic org.jruby.ast.NodeType.WHENNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 91
iastore
327: goto 329
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
328: pop
StackMap locals:
StackMap stack:
329: aload 0
getstatic org.jruby.ast.NodeType.WHILENODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 92
iastore
330: goto 332
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
331: pop
StackMap locals:
StackMap stack:
332: aload 0
getstatic org.jruby.ast.NodeType.XSTRNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 93
iastore
333: goto 335
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
334: pop
StackMap locals:
StackMap stack:
335: aload 0
getstatic org.jruby.ast.NodeType.YIELDNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 94
iastore
336: goto 338
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
337: pop
StackMap locals:
StackMap stack:
338: aload 0
getstatic org.jruby.ast.NodeType.ZARRAYNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 95
iastore
339: goto 341
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
340: pop
StackMap locals:
StackMap stack:
341: aload 0
getstatic org.jruby.ast.NodeType.ZEROARGNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 96
iastore
342: goto 344
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
343: pop
StackMap locals:
StackMap stack:
344: aload 0
getstatic org.jruby.ast.NodeType.ZSUPERNODE:Lorg/jruby/ast/NodeType;
invokevirtual org.jruby.ast.NodeType.ordinal:()I
bipush 97
iastore
345: goto 347
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
346: pop
StackMap locals:
StackMap stack:
347: aload 0
dup
putstatic org.jruby.ir.IRBuilder.$SWITCH_TABLE$org$jruby$ast$NodeType:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
17 18 19 Class java.lang.NoSuchFieldError
20 21 22 Class java.lang.NoSuchFieldError
23 24 25 Class java.lang.NoSuchFieldError
26 27 28 Class java.lang.NoSuchFieldError
29 30 31 Class java.lang.NoSuchFieldError
32 33 34 Class java.lang.NoSuchFieldError
35 36 37 Class java.lang.NoSuchFieldError
38 39 40 Class java.lang.NoSuchFieldError
41 42 43 Class java.lang.NoSuchFieldError
44 45 46 Class java.lang.NoSuchFieldError
47 48 49 Class java.lang.NoSuchFieldError
50 51 52 Class java.lang.NoSuchFieldError
53 54 55 Class java.lang.NoSuchFieldError
56 57 58 Class java.lang.NoSuchFieldError
59 60 61 Class java.lang.NoSuchFieldError
62 63 64 Class java.lang.NoSuchFieldError
65 66 67 Class java.lang.NoSuchFieldError
68 69 70 Class java.lang.NoSuchFieldError
71 72 73 Class java.lang.NoSuchFieldError
74 75 76 Class java.lang.NoSuchFieldError
77 78 79 Class java.lang.NoSuchFieldError
80 81 82 Class java.lang.NoSuchFieldError
83 84 85 Class java.lang.NoSuchFieldError
86 87 88 Class java.lang.NoSuchFieldError
89 90 91 Class java.lang.NoSuchFieldError
92 93 94 Class java.lang.NoSuchFieldError
95 96 97 Class java.lang.NoSuchFieldError
98 99 100 Class java.lang.NoSuchFieldError
101 102 103 Class java.lang.NoSuchFieldError
104 105 106 Class java.lang.NoSuchFieldError
107 108 109 Class java.lang.NoSuchFieldError
110 111 112 Class java.lang.NoSuchFieldError
113 114 115 Class java.lang.NoSuchFieldError
116 117 118 Class java.lang.NoSuchFieldError
119 120 121 Class java.lang.NoSuchFieldError
122 123 124 Class java.lang.NoSuchFieldError
125 126 127 Class java.lang.NoSuchFieldError
128 129 130 Class java.lang.NoSuchFieldError
131 132 133 Class java.lang.NoSuchFieldError
134 135 136 Class java.lang.NoSuchFieldError
137 138 139 Class java.lang.NoSuchFieldError
140 141 142 Class java.lang.NoSuchFieldError
143 144 145 Class java.lang.NoSuchFieldError
146 147 148 Class java.lang.NoSuchFieldError
149 150 151 Class java.lang.NoSuchFieldError
152 153 154 Class java.lang.NoSuchFieldError
155 156 157 Class java.lang.NoSuchFieldError
158 159 160 Class java.lang.NoSuchFieldError
161 162 163 Class java.lang.NoSuchFieldError
164 165 166 Class java.lang.NoSuchFieldError
167 168 169 Class java.lang.NoSuchFieldError
170 171 172 Class java.lang.NoSuchFieldError
173 174 175 Class java.lang.NoSuchFieldError
176 177 178 Class java.lang.NoSuchFieldError
179 180 181 Class java.lang.NoSuchFieldError
182 183 184 Class java.lang.NoSuchFieldError
185 186 187 Class java.lang.NoSuchFieldError
188 189 190 Class java.lang.NoSuchFieldError
191 192 193 Class java.lang.NoSuchFieldError
194 195 196 Class java.lang.NoSuchFieldError
197 198 199 Class java.lang.NoSuchFieldError
200 201 202 Class java.lang.NoSuchFieldError
203 204 205 Class java.lang.NoSuchFieldError
206 207 208 Class java.lang.NoSuchFieldError
209 210 211 Class java.lang.NoSuchFieldError
212 213 214 Class java.lang.NoSuchFieldError
215 216 217 Class java.lang.NoSuchFieldError
218 219 220 Class java.lang.NoSuchFieldError
221 222 223 Class java.lang.NoSuchFieldError
224 225 226 Class java.lang.NoSuchFieldError
227 228 229 Class java.lang.NoSuchFieldError
230 231 232 Class java.lang.NoSuchFieldError
233 234 235 Class java.lang.NoSuchFieldError
236 237 238 Class java.lang.NoSuchFieldError
239 240 241 Class java.lang.NoSuchFieldError
242 243 244 Class java.lang.NoSuchFieldError
245 246 247 Class java.lang.NoSuchFieldError
248 249 250 Class java.lang.NoSuchFieldError
251 252 253 Class java.lang.NoSuchFieldError
254 255 256 Class java.lang.NoSuchFieldError
257 258 259 Class java.lang.NoSuchFieldError
260 261 262 Class java.lang.NoSuchFieldError
263 264 265 Class java.lang.NoSuchFieldError
266 267 268 Class java.lang.NoSuchFieldError
269 270 271 Class java.lang.NoSuchFieldError
272 273 274 Class java.lang.NoSuchFieldError
275 276 277 Class java.lang.NoSuchFieldError
278 279 280 Class java.lang.NoSuchFieldError
281 282 283 Class java.lang.NoSuchFieldError
284 285 286 Class java.lang.NoSuchFieldError
287 288 289 Class java.lang.NoSuchFieldError
290 291 292 Class java.lang.NoSuchFieldError
293 294 295 Class java.lang.NoSuchFieldError
296 297 298 Class java.lang.NoSuchFieldError
299 300 301 Class java.lang.NoSuchFieldError
302 303 304 Class java.lang.NoSuchFieldError
305 306 307 Class java.lang.NoSuchFieldError
308 309 310 Class java.lang.NoSuchFieldError
311 312 313 Class java.lang.NoSuchFieldError
314 315 316 Class java.lang.NoSuchFieldError
317 318 319 Class java.lang.NoSuchFieldError
320 321 322 Class java.lang.NoSuchFieldError
323 324 325 Class java.lang.NoSuchFieldError
326 327 328 Class java.lang.NoSuchFieldError
329 330 331 Class java.lang.NoSuchFieldError
332 333 334 Class java.lang.NoSuchFieldError
335 336 337 Class java.lang.NoSuchFieldError
338 339 340 Class java.lang.NoSuchFieldError
341 342 343 Class java.lang.NoSuchFieldError
344 345 346 Class java.lang.NoSuchFieldError
}
SourceFile: "IRBuilder.java"
NestMembers:
org.jruby.ir.IRBuilder$1 org.jruby.ir.IRBuilder$2 org.jruby.ir.IRBuilder$3 org.jruby.ir.IRBuilder$4 org.jruby.ir.IRBuilder$5 org.jruby.ir.IRBuilder$6 org.jruby.ir.IRBuilder$7 org.jruby.ir.IRBuilder$8 org.jruby.ir.IRBuilder$9 org.jruby.ir.IRBuilder$CodeBlock org.jruby.ir.IRBuilder$EnsureBlockInfo org.jruby.ir.IRBuilder$IRLoop org.jruby.ir.IRBuilder$RescueBlockInfo
InnerClasses:
public abstract Entry = java.util.Map$Entry of java.util.Map
org.jruby.ir.IRBuilder$1
org.jruby.ir.IRBuilder$2
org.jruby.ir.IRBuilder$3
org.jruby.ir.IRBuilder$4
org.jruby.ir.IRBuilder$5
org.jruby.ir.IRBuilder$6
org.jruby.ir.IRBuilder$7
org.jruby.ir.IRBuilder$8
org.jruby.ir.IRBuilder$9
abstract CodeBlock = org.jruby.ir.IRBuilder$CodeBlock of org.jruby.ir.IRBuilder
private EnsureBlockInfo = org.jruby.ir.IRBuilder$EnsureBlockInfo of org.jruby.ir.IRBuilder
private IRLoop = org.jruby.ir.IRBuilder$IRLoop of org.jruby.ir.IRBuilder
private RescueBlockInfo = org.jruby.ir.IRBuilder$RescueBlockInfo of org.jruby.ir.IRBuilder
public final Methods = org.jruby.ir.instructions.RuntimeHelperCall$Methods of org.jruby.ir.instructions.RuntimeHelperCall