public abstract class org.jruby.ir.instructions.CallBase extends org.jruby.ir.instructions.NOperandInstr implements org.jruby.ir.instructions.ClosureAcceptingInstr, org.jruby.ir.instructions.Site
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.jruby.ir.instructions.CallBase
super_class: org.jruby.ir.instructions.NOperandInstr
{
public static long callSiteCounter;
descriptor: J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
private static final java.util.EnumSet<org.jruby.anno.FrameField> ALL;
descriptor: Ljava/util/EnumSet;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/EnumSet<Lorg/jruby/anno/FrameField;>;
public transient long callSiteId;
descriptor: J
flags: (0x0081) ACC_PUBLIC, ACC_TRANSIENT
private final org.jruby.runtime.CallType callType;
descriptor: Lorg/jruby/runtime/CallType;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
protected org.jruby.RubySymbol name;
descriptor: Lorg/jruby/RubySymbol;
flags: (0x0004) ACC_PROTECTED
protected final transient org.jruby.runtime.CallSite callSite;
descriptor: Lorg/jruby/runtime/CallSite;
flags: (0x0094) ACC_PROTECTED, ACC_FINAL, ACC_TRANSIENT
protected final transient int argsCount;
descriptor: I
flags: (0x0094) ACC_PROTECTED, ACC_FINAL, ACC_TRANSIENT
protected final transient boolean hasClosure;
descriptor: Z
flags: (0x0094) ACC_PROTECTED, ACC_FINAL, ACC_TRANSIENT
private transient boolean flagsComputed;
descriptor: Z
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient boolean canBeEval;
descriptor: Z
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient boolean targetRequiresCallersBinding;
descriptor: Z
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient boolean targetRequiresCallersFrame;
descriptor: Z
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient boolean dontInline;
descriptor: Z
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient boolean[] splatMap;
descriptor: [Z
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient boolean procNew;
descriptor: Z
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private boolean potentiallyRefined;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private transient java.util.Set<org.jruby.anno.FrameField> frameReads;
descriptor: Ljava/util/Set;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
Signature: Ljava/util/Set<Lorg/jruby/anno/FrameField;>;
private transient java.util.Set<org.jruby.anno.FrameField> frameWrites;
descriptor: Ljava/util/Set;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
Signature: Ljava/util/Set<Lorg/jruby/anno/FrameField;>;
private static final int REQUIRED_OPERANDS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
private static volatile int[] $SWITCH_TABLE$org$jruby$runtime$CallType;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
private static volatile int[] $SWITCH_TABLE$org$jruby$anno$FrameField;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc Lorg/jruby/ir/instructions/CallBase;
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.instructions.CallBase.$assertionsDisabled:Z
3: lconst_1
putstatic org.jruby.ir.instructions.CallBase.callSiteCounter:J
4: ldc Lorg/jruby/anno/FrameField;
invokestatic java.util.EnumSet.allOf:(Ljava/lang/Class;)Ljava/util/EnumSet;
putstatic org.jruby.ir.instructions.CallBase.ALL:Ljava/util/EnumSet;
5: return
LocalVariableTable:
Start End Slot Name Signature
protected void <init>(org.jruby.ir.IRScope, org.jruby.ir.Operation, org.jruby.runtime.CallType, org.jruby.RubySymbol, org.jruby.ir.operands.Operand, org.jruby.ir.operands.Operand[], org.jruby.ir.operands.Operand, boolean);
descriptor: (Lorg/jruby/ir/IRScope;Lorg/jruby/ir/Operation;Lorg/jruby/runtime/CallType;Lorg/jruby/RubySymbol;Lorg/jruby/ir/operands/Operand;[Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;Z)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=16, locals=9, args_size=9
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 0: aload 0
aload 1
aload 2
aload 3
aload 4
aload 5
aload 6
aload 7
iload 8
aconst_null
getstatic org.jruby.ir.instructions.CallBase.callSiteCounter:J
dup2
lconst_1
ladd
putstatic org.jruby.ir.instructions.CallBase.callSiteCounter:J
invokespecial org.jruby.ir.instructions.CallBase.<init>:(Lorg/jruby/ir/IRScope;Lorg/jruby/ir/Operation;Lorg/jruby/runtime/CallType;Lorg/jruby/RubySymbol;Lorg/jruby/ir/operands/Operand;[Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;ZLorg/jruby/runtime/CallSite;J)V
1: 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 2 0 this Lorg/jruby/ir/instructions/CallBase;
0 2 1 scope Lorg/jruby/ir/IRScope;
0 2 2 op Lorg/jruby/ir/Operation;
0 2 3 callType Lorg/jruby/runtime/CallType;
0 2 4 name Lorg/jruby/RubySymbol;
0 2 5 receiver Lorg/jruby/ir/operands/Operand;
0 2 6 args [Lorg/jruby/ir/operands/Operand;
0 2 7 closure Lorg/jruby/ir/operands/Operand;
0 2 8 potentiallyRefined Z
MethodParameters:
Name Flags
scope
op
callType
name
receiver
args
closure
potentiallyRefined
protected void <init>(org.jruby.ir.IRScope, org.jruby.ir.Operation, org.jruby.runtime.CallType, org.jruby.RubySymbol, org.jruby.ir.operands.Operand, org.jruby.ir.operands.Operand[], org.jruby.ir.operands.Operand, boolean, org.jruby.runtime.CallSite, long);
descriptor: (Lorg/jruby/ir/IRScope;Lorg/jruby/ir/Operation;Lorg/jruby/runtime/CallType;Lorg/jruby/RubySymbol;Lorg/jruby/ir/operands/Operand;[Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;ZLorg/jruby/runtime/CallSite;J)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=8, locals=12, args_size=11
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 start local 10 0: aload 0
aload 2
aload 5
aload 6
aload 7
invokestatic org.jruby.ir.instructions.CallBase.arrayifyOperands:(Lorg/jruby/ir/operands/Operand;[Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;)[Lorg/jruby/ir/operands/Operand;
invokespecial org.jruby.ir.instructions.NOperandInstr.<init>:(Lorg/jruby/ir/Operation;[Lorg/jruby/ir/operands/Operand;)V
1: aload 0
lload 10
putfield org.jruby.ir.instructions.CallBase.callSiteId:J
2: aload 0
aload 6
arraylength
putfield org.jruby.ir.instructions.CallBase.argsCount:I
3: aload 0
aload 7
ifnull 4
iconst_1
goto 5
StackMap locals: org.jruby.ir.instructions.CallBase org.jruby.ir.IRScope org.jruby.ir.Operation org.jruby.runtime.CallType org.jruby.RubySymbol org.jruby.ir.operands.Operand org.jruby.ir.operands.Operand[] org.jruby.ir.operands.Operand int org.jruby.runtime.CallSite long
StackMap stack: org.jruby.ir.instructions.CallBase
4: iconst_0
StackMap locals: org.jruby.ir.instructions.CallBase org.jruby.ir.IRScope org.jruby.ir.Operation org.jruby.runtime.CallType org.jruby.RubySymbol org.jruby.ir.operands.Operand org.jruby.ir.operands.Operand[] org.jruby.ir.operands.Operand int org.jruby.runtime.CallSite long
StackMap stack: org.jruby.ir.instructions.CallBase int
5: putfield org.jruby.ir.instructions.CallBase.hasClosure:Z
6: aload 0
aload 4
putfield org.jruby.ir.instructions.CallBase.name:Lorg/jruby/RubySymbol;
7: aload 0
aload 3
putfield org.jruby.ir.instructions.CallBase.callType:Lorg/jruby/runtime/CallType;
8: aload 0
aload 9
ifnonnull 9
aload 1
aload 3
aload 4
invokevirtual org.jruby.RubySymbol.idString:()Ljava/lang/String;
lload 10
aload 0
invokevirtual org.jruby.ir.instructions.CallBase.hasLiteralClosure:()Z
iload 8
invokestatic org.jruby.ir.instructions.CallBase.getCallSiteFor:(Lorg/jruby/ir/IRScope;Lorg/jruby/runtime/CallType;Ljava/lang/String;JZZ)Lorg/jruby/runtime/CallSite;
goto 10
StackMap locals:
StackMap stack: org.jruby.ir.instructions.CallBase
9: aload 9
StackMap locals: org.jruby.ir.instructions.CallBase org.jruby.ir.IRScope org.jruby.ir.Operation org.jruby.runtime.CallType org.jruby.RubySymbol org.jruby.ir.operands.Operand org.jruby.ir.operands.Operand[] org.jruby.ir.operands.Operand int org.jruby.runtime.CallSite long
StackMap stack: org.jruby.ir.instructions.CallBase org.jruby.runtime.CallSite
10: putfield org.jruby.ir.instructions.CallBase.callSite:Lorg/jruby/runtime/CallSite;
11: aload 0
aload 6
invokestatic org.jruby.ir.runtime.IRRuntimeHelpers.buildSplatMap:([Lorg/jruby/ir/operands/Operand;)[Z
putfield org.jruby.ir.instructions.CallBase.splatMap:[Z
12: aload 0
iconst_0
putfield org.jruby.ir.instructions.CallBase.flagsComputed:Z
13: aload 0
iconst_1
putfield org.jruby.ir.instructions.CallBase.canBeEval:Z
14: aload 0
iconst_1
putfield org.jruby.ir.instructions.CallBase.targetRequiresCallersBinding:Z
15: aload 0
iconst_1
putfield org.jruby.ir.instructions.CallBase.targetRequiresCallersFrame:Z
16: aload 0
iconst_0
putfield org.jruby.ir.instructions.CallBase.dontInline:Z
17: aload 0
iconst_0
putfield org.jruby.ir.instructions.CallBase.procNew:Z
18: aload 0
iload 8
putfield org.jruby.ir.instructions.CallBase.potentiallyRefined:Z
19: aload 0
invokevirtual org.jruby.ir.instructions.CallBase.captureFrameReadsAndWrites:()V
20: return
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 21 0 this Lorg/jruby/ir/instructions/CallBase;
0 21 1 scope Lorg/jruby/ir/IRScope;
0 21 2 op Lorg/jruby/ir/Operation;
0 21 3 callType Lorg/jruby/runtime/CallType;
0 21 4 name Lorg/jruby/RubySymbol;
0 21 5 receiver Lorg/jruby/ir/operands/Operand;
0 21 6 args [Lorg/jruby/ir/operands/Operand;
0 21 7 closure Lorg/jruby/ir/operands/Operand;
0 21 8 potentiallyRefined Z
0 21 9 callSite Lorg/jruby/runtime/CallSite;
0 21 10 callSiteId J
MethodParameters:
Name Flags
scope
op
callType
name
receiver
args
closure
potentiallyRefined
callSite
callSiteId
public void encode(org.jruby.ir.persistence.IRWriterEncoder);
descriptor: (Lorg/jruby/ir/persistence/IRWriterEncoder;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial org.jruby.ir.instructions.NOperandInstr.encode:(Lorg/jruby/ir/persistence/IRWriterEncoder;)V
1: aload 1
aload 0
invokevirtual org.jruby.ir.instructions.CallBase.getCallType:()Lorg/jruby/runtime/CallType;
invokevirtual org.jruby.runtime.CallType.ordinal:()I
invokeinterface org.jruby.ir.persistence.IRWriterEncoder.encode:(I)V
2: aload 1
aload 0
invokevirtual org.jruby.ir.instructions.CallBase.getName:()Lorg/jruby/RubySymbol;
invokeinterface org.jruby.ir.persistence.IRWriterEncoder.encode:(Lorg/jruby/RubySymbol;)V
3: aload 1
aload 0
invokevirtual org.jruby.ir.instructions.CallBase.getReceiver:()Lorg/jruby/ir/operands/Operand;
invokeinterface org.jruby.ir.persistence.IRWriterEncoder.encode:(Lorg/jruby/ir/operands/Operand;)V
4: aload 1
aload 0
invokevirtual org.jruby.ir.instructions.CallBase.calculateArity:()I
invokeinterface org.jruby.ir.persistence.IRWriterEncoder.encode:(I)V
5: aload 0
invokevirtual org.jruby.ir.instructions.CallBase.getCallArgs:()[Lorg/jruby/ir/operands/Operand;
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 9
StackMap locals: org.jruby.ir.instructions.CallBase org.jruby.ir.persistence.IRWriterEncoder top int int org.jruby.ir.operands.Operand[]
StackMap stack:
6: aload 5
iload 3
aaload
astore 2
start local 2 7: aload 1
aload 2
invokeinterface org.jruby.ir.persistence.IRWriterEncoder.encode:(Lorg/jruby/ir/operands/Operand;)V
end local 2 8: iinc 3 1
StackMap locals:
StackMap stack:
9: iload 3
iload 4
if_icmplt 6
10: aload 0
getfield org.jruby.ir.instructions.CallBase.hasClosure:Z
ifeq 11
aload 1
aload 0
aconst_null
invokevirtual org.jruby.ir.instructions.CallBase.getClosureArg:(Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/operands/Operand;
invokeinterface org.jruby.ir.persistence.IRWriterEncoder.encode:(Lorg/jruby/ir/operands/Operand;)V
11: StackMap locals: org.jruby.ir.instructions.CallBase org.jruby.ir.persistence.IRWriterEncoder
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/jruby/ir/instructions/CallBase;
0 12 1 e Lorg/jruby/ir/persistence/IRWriterEncoder;
7 8 2 arg Lorg/jruby/ir/operands/Operand;
MethodParameters:
Name Flags
e
private int calculateArity();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.ir.instructions.CallBase.hasClosure:Z
ifeq 1
iconst_m1
aload 0
getfield org.jruby.ir.instructions.CallBase.argsCount:I
iconst_1
iadd
imul
goto 2
StackMap locals:
StackMap stack:
1: aload 0
getfield org.jruby.ir.instructions.CallBase.argsCount:I
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/ir/instructions/CallBase;
public java.lang.String getId();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.ir.instructions.CallBase.name:Lorg/jruby/RubySymbol;
invokevirtual org.jruby.RubySymbol.idString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/instructions/CallBase;
public long getCallSiteId();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.ir.instructions.CallBase.callSiteId:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/instructions/CallBase;
public void setCallSiteId(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
lload 1
putfield org.jruby.ir.instructions.CallBase.callSiteId:J
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/ir/instructions/CallBase;
0 2 1 callSiteId J
MethodParameters:
Name Flags
callSiteId
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.instructions.CallBase.name:Lorg/jruby/RubySymbol;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/instructions/CallBase;
public org.jruby.ir.operands.Operand getClosureArg();
descriptor: ()Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.ir.instructions.CallBase.hasClosure:Z
ifeq 1
aload 0
getfield org.jruby.ir.instructions.CallBase.operands:[Lorg/jruby/ir/operands/Operand;
aload 0
getfield org.jruby.ir.instructions.CallBase.argsCount:I
iconst_1
iadd
aaload
goto 2
StackMap locals:
StackMap stack:
1: aconst_null
StackMap locals:
StackMap stack: org.jruby.ir.operands.Operand
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/ir/instructions/CallBase;
public org.jruby.ir.operands.Operand getClosureArg(org.jruby.ir.operands.Operand);
descriptor: (Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.ir.instructions.CallBase.hasClosure:Z
ifeq 1
aload 0
invokevirtual org.jruby.ir.instructions.CallBase.getClosureArg:()Lorg/jruby/ir/operands/Operand;
goto 2
StackMap locals:
StackMap stack:
1: aload 1
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/instructions/CallBase;
0 3 1 ifUnspecified Lorg/jruby/ir/operands/Operand;
MethodParameters:
Name Flags
ifUnspecified
public org.jruby.ir.operands.Operand getReceiver();
descriptor: ()Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.ir.instructions.CallBase.operands:[Lorg/jruby/ir/operands/Operand;
iconst_0
aaload
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/instructions/CallBase;
public abstract org.jruby.ir.operands.Variable getResult();
descriptor: ()Lorg/jruby/ir/operands/Variable;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public org.jruby.ir.operands.Operand getArg1();
descriptor: ()Lorg/jruby/ir/operands/Operand;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.ir.instructions.CallBase.operands:[Lorg/jruby/ir/operands/Operand;
iconst_1
aaload
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/instructions/CallBase;
public int getArgsCount();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.ir.instructions.CallBase.argsCount:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/instructions/CallBase;
public org.jruby.ir.operands.Operand[] getCallArgs();
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.instructions.CallBase.argsCount:I
anewarray org.jruby.ir.operands.Operand
astore 1
start local 1 1: aload 0
getfield org.jruby.ir.instructions.CallBase.operands:[Lorg/jruby/ir/operands/Operand;
iconst_1
aload 1
iconst_0
aload 0
getfield org.jruby.ir.instructions.CallBase.argsCount:I
invokestatic org.jruby.util.ArraySupport.copy:([Ljava/lang/Object;I[Ljava/lang/Object;II)V
2: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/ir/instructions/CallBase;
1 3 1 callArgs [Lorg/jruby/ir/operands/Operand;
public org.jruby.runtime.CallSite getCallSite();
descriptor: ()Lorg/jruby/runtime/CallSite;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.ir.instructions.CallBase.callSite:Lorg/jruby/runtime/CallSite;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/instructions/CallBase;
public org.jruby.runtime.CallType getCallType();
descriptor: ()Lorg/jruby/runtime/CallType;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.ir.instructions.CallBase.callType:Lorg/jruby/runtime/CallType;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/instructions/CallBase;
public boolean[] splatMap();
descriptor: ()[Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.ir.instructions.CallBase.splatMap:[Z
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/instructions/CallBase;
public void setProcNew(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.jruby.ir.instructions.CallBase.procNew:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/ir/instructions/CallBase;
0 2 1 procNew Z
MethodParameters:
Name Flags
procNew
public void blockInlining();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
putfield org.jruby.ir.instructions.CallBase.dontInline:Z
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/ir/instructions/CallBase;
public boolean inliningBlocked();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.ir.instructions.CallBase.dontInline:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/instructions/CallBase;
protected static org.jruby.runtime.CallSite getCallSiteFor(org.jruby.ir.IRScope, org.jruby.runtime.CallType, java.lang.String, long, boolean, boolean);
descriptor: (Lorg/jruby/ir/IRScope;Lorg/jruby/runtime/CallType;Ljava/lang/String;JZZ)Lorg/jruby/runtime/CallSite;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=5, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 5 start local 6 0: getstatic org.jruby.ir.instructions.CallBase.$assertionsDisabled:Z
ifne 1
aload 1
ifnonnull 1
new java.lang.AssertionError
dup
ldc "Calltype should never be null"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
iload 6
ifeq 2
new org.jruby.runtime.callsite.RefinedCachingCallSite
dup
aload 2
aload 0
invokevirtual org.jruby.ir.IRScope.getStaticScope:()Lorg/jruby/parser/StaticScope;
aload 1
invokespecial org.jruby.runtime.callsite.RefinedCachingCallSite.<init>:(Ljava/lang/String;Lorg/jruby/parser/StaticScope;Lorg/jruby/runtime/CallType;)V
areturn
2: StackMap locals:
StackMap stack:
invokestatic org.jruby.ir.instructions.CallBase.$SWITCH_TABLE$org$jruby$runtime$CallType:()[I
aload 1
invokevirtual org.jruby.runtime.CallType.ordinal:()I
iaload
tableswitch { // 1 - 5
1: 3
2: 6
3: 8
4: 7
5: 9
default: 9
}
3: StackMap locals:
StackMap stack:
getstatic org.jruby.ir.IRManager.IR_INLINER:Z
ifeq 5
iload 5
ifeq 5
4: aload 2
aload 0
lload 3
invokestatic org.jruby.runtime.MethodIndex.getProfilingCallSite:(Ljava/lang/String;Lorg/jruby/ir/IRScope;J)Lorg/jruby/runtime/CallSite;
areturn
5: StackMap locals:
StackMap stack:
aload 2
invokestatic org.jruby.runtime.MethodIndex.getCallSite:(Ljava/lang/String;)Lorg/jruby/runtime/CallSite;
areturn
6: StackMap locals:
StackMap stack:
aload 2
invokestatic org.jruby.runtime.MethodIndex.getFunctionalCallSite:(Ljava/lang/String;)Lorg/jruby/runtime/CallSite;
areturn
7: StackMap locals:
StackMap stack:
aload 2
invokestatic org.jruby.runtime.MethodIndex.getVariableCallSite:(Ljava/lang/String;)Lorg/jruby/runtime/CallSite;
areturn
8: StackMap locals:
StackMap stack:
invokestatic org.jruby.runtime.MethodIndex.getSuperCallSite:()Lorg/jruby/runtime/CallSite;
areturn
9: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 6 end local 5 end local 3 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 callType Lorg/jruby/runtime/CallType;
0 10 2 name Ljava/lang/String;
0 10 3 callsiteId J
0 10 5 hasLiteralClosure Z
0 10 6 potentiallyRefined Z
MethodParameters:
Name Flags
scope
callType
name
callsiteId
hasLiteralClosure
potentiallyRefined
public boolean hasLiteralClosure();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.ir.instructions.CallBase.getClosureArg:()Lorg/jruby/ir/operands/Operand;
instanceof org.jruby.ir.operands.WrappedIRClosure
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/instructions/CallBase;
public static boolean isAllFixnums(org.jruby.ir.operands.Operand[]);
descriptor: ([Lorg/jruby/ir/operands/Operand;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=5, args_size=1
start local 0 0: aload 0
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 4
StackMap locals: org.jruby.ir.operands.Operand[] top int int org.jruby.ir.operands.Operand[]
StackMap stack:
1: aload 4
iload 2
aaload
astore 1
start local 1 2: aload 1
instanceof org.jruby.ir.operands.Fixnum
ifne 3
iconst_0
ireturn
end local 1 3: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
4: iload 2
iload 3
if_icmplt 1
5: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 args [Lorg/jruby/ir/operands/Operand;
2 3 1 argument Lorg/jruby/ir/operands/Operand;
MethodParameters:
Name Flags
args
public static boolean isAllFloats(org.jruby.ir.operands.Operand[]);
descriptor: ([Lorg/jruby/ir/operands/Operand;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=5, args_size=1
start local 0 0: aload 0
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 4
StackMap locals: org.jruby.ir.operands.Operand[] top int int org.jruby.ir.operands.Operand[]
StackMap stack:
1: aload 4
iload 2
aaload
astore 1
start local 1 2: aload 1
instanceof org.jruby.ir.operands.Float
ifne 3
iconst_0
ireturn
end local 1 3: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
4: iload 2
iload 3
if_icmplt 1
5: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 args [Lorg/jruby/ir/operands/Operand;
2 3 1 argument Lorg/jruby/ir/operands/Operand;
MethodParameters:
Name Flags
args
public boolean isPotentiallyRefined();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.ir.instructions.CallBase.potentiallyRefined:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/instructions/CallBase;
public boolean computeScopeFlags(org.jruby.ir.IRScope);
descriptor: (Lorg/jruby/ir/IRScope;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial org.jruby.ir.instructions.NOperandInstr.computeScopeFlags:(Lorg/jruby/ir/IRScope;)Z
istore 2
start local 2 1: aload 1
invokevirtual org.jruby.ir.IRScope.getFlags:()Ljava/util/EnumSet;
astore 3
start local 3 2: aload 0
invokevirtual org.jruby.ir.instructions.CallBase.targetRequiresCallersBinding:()Z
ifeq 5
3: iconst_1
istore 2
4: aload 3
getstatic org.jruby.ir.IRFlags.BINDING_HAS_ESCAPED:Lorg/jruby/ir/IRFlags;
invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
pop
5: StackMap locals: int java.util.EnumSet
StackMap stack:
iload 2
aload 0
aload 3
aload 0
getfield org.jruby.ir.instructions.CallBase.frameReads:Ljava/util/Set;
invokevirtual org.jruby.ir.instructions.CallBase.setIRFlagsFromFrameFields:(Ljava/util/EnumSet;Ljava/util/Set;)Z
ior
istore 2
6: iload 2
aload 0
aload 3
aload 0
getfield org.jruby.ir.instructions.CallBase.frameWrites:Ljava/util/Set;
invokevirtual org.jruby.ir.instructions.CallBase.setIRFlagsFromFrameFields:(Ljava/util/EnumSet;Ljava/util/Set;)Z
ior
istore 2
7: aload 0
invokevirtual org.jruby.ir.instructions.CallBase.hasLiteralClosure:()Z
ifeq 10
8: iconst_1
istore 2
9: aload 3
getstatic org.jruby.ir.IRFlags.REQUIRE_ALL_FRAME_FIELDS:Ljava/util/EnumSet;
invokevirtual java.util.EnumSet.addAll:(Ljava/util/Collection;)Z
pop
10: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.ir.instructions.CallBase.procNew:Z
ifeq 13
11: iconst_1
istore 2
12: aload 3
getstatic org.jruby.ir.IRFlags.REQUIRES_BLOCK:Lorg/jruby/ir/IRFlags;
invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
pop
13: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.ir.instructions.CallBase.canBeEval:()Z
ifeq 19
14: iconst_1
istore 2
15: aload 3
getstatic org.jruby.ir.IRFlags.USES_EVAL:Lorg/jruby/ir/IRFlags;
invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
pop
16: aload 3
getstatic org.jruby.ir.IRFlags.CAN_RECEIVE_NONLOCAL_RETURNS:Lorg/jruby/ir/IRFlags;
invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
pop
17: aload 3
getstatic org.jruby.ir.IRFlags.RECEIVES_CLOSURE_ARG:Lorg/jruby/ir/IRFlags;
invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
ifeq 19
aload 0
getfield org.jruby.ir.instructions.CallBase.argsCount:I
iconst_1
if_icmple 19
18: aload 3
getstatic org.jruby.ir.IRFlags.CAN_CAPTURE_CALLERS_BINDING:Lorg/jruby/ir/IRFlags;
invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
pop
19: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.ir.instructions.CallBase.getId:()Ljava/lang/String;
aload 0
getfield org.jruby.ir.instructions.CallBase.argsCount:I
invokestatic org.jruby.ir.instructions.CallBase.potentiallySend:(Ljava/lang/String;I)Z
ifeq 32
20: aload 0
invokevirtual org.jruby.ir.instructions.CallBase.getArg1:()Lorg/jruby/ir/operands/Operand;
astore 4
start local 4 21: aload 4
instanceof org.jruby.ir.operands.StringLiteral
ifeq 30
22: aload 4
checkcast org.jruby.ir.operands.StringLiteral
invokevirtual org.jruby.ir.operands.StringLiteral.getString:()Ljava/lang/String;
astore 5
start local 5 23: getstatic org.jruby.runtime.MethodIndex.SCOPE_AWARE_METHODS:Ljava/util/Set;
aload 5
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 26
24: iconst_1
istore 2
25: aload 3
getstatic org.jruby.ir.IRFlags.REQUIRES_DYNSCOPE:Lorg/jruby/ir/IRFlags;
invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
pop
26: StackMap locals: org.jruby.ir.operands.Operand java.lang.String
StackMap stack:
getstatic org.jruby.runtime.MethodIndex.FRAME_AWARE_METHODS:Ljava/util/Set;
aload 5
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 32
27: iconst_1
istore 2
28: aload 3
getstatic org.jruby.ir.IRFlags.REQUIRE_ALL_FRAME_EXCEPT_SCOPE:Ljava/util/EnumSet;
invokevirtual java.util.EnumSet.addAll:(Ljava/util/Collection;)Z
pop
end local 5 29: goto 32
30: StackMap locals:
StackMap stack:
iconst_1
istore 2
31: aload 3
getstatic org.jruby.ir.IRFlags.REQUIRE_ALL_FRAME_FIELDS:Ljava/util/EnumSet;
invokevirtual java.util.EnumSet.addAll:(Ljava/util/Collection;)Z
pop
end local 4 32: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lorg/jruby/ir/instructions/CallBase;
0 33 1 scope Lorg/jruby/ir/IRScope;
1 33 2 modifiedScope Z
2 33 3 flags Ljava/util/EnumSet<Lorg/jruby/ir/IRFlags;>;
21 32 4 meth Lorg/jruby/ir/operands/Operand;
23 29 5 sendName Ljava/lang/String;
MethodParameters:
Name Flags
scope
private boolean setIRFlagsFromFrameFields(java.util.EnumSet<org.jruby.ir.IRFlags>, java.util.Set<org.jruby.anno.FrameField>);
descriptor: (Ljava/util/EnumSet;Ljava/util/Set;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=6, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: aload 2
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 5
goto 15
StackMap locals: org.jruby.ir.instructions.CallBase java.util.EnumSet java.util.Set int top java.util.Iterator
StackMap stack:
2: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.jruby.anno.FrameField
astore 4
start local 4 3: iconst_1
istore 3
4: invokestatic org.jruby.ir.instructions.CallBase.$SWITCH_TABLE$org$jruby$anno$FrameField:()[I
aload 4
invokevirtual org.jruby.anno.FrameField.ordinal:()I
iaload
tableswitch { // 1 - 10
1: 5
2: 6
3: 7
4: 8
5: 9
6: 10
7: 11
8: 12
9: 13
10: 14
default: 15
}
5: StackMap locals: org.jruby.ir.instructions.CallBase java.util.EnumSet java.util.Set int org.jruby.anno.FrameField java.util.Iterator
StackMap stack:
aload 1
getstatic org.jruby.ir.IRFlags.REQUIRES_LASTLINE:Lorg/jruby/ir/IRFlags;
invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
pop
goto 15
6: StackMap locals:
StackMap stack:
aload 1
getstatic org.jruby.ir.IRFlags.REQUIRES_BACKREF:Lorg/jruby/ir/IRFlags;
invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
pop
goto 15
7: StackMap locals:
StackMap stack:
aload 1
getstatic org.jruby.ir.IRFlags.REQUIRES_VISIBILITY:Lorg/jruby/ir/IRFlags;
invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
pop
goto 15
8: StackMap locals:
StackMap stack:
aload 1
getstatic org.jruby.ir.IRFlags.REQUIRES_BLOCK:Lorg/jruby/ir/IRFlags;
invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
pop
goto 15
9: StackMap locals:
StackMap stack:
aload 1
getstatic org.jruby.ir.IRFlags.REQUIRES_SELF:Lorg/jruby/ir/IRFlags;
invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
pop
goto 15
10: StackMap locals:
StackMap stack:
aload 1
getstatic org.jruby.ir.IRFlags.REQUIRES_METHODNAME:Lorg/jruby/ir/IRFlags;
invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
pop
goto 15
11: StackMap locals:
StackMap stack:
aload 1
getstatic org.jruby.ir.IRFlags.REQUIRES_LINE:Lorg/jruby/ir/IRFlags;
invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
pop
goto 15
12: StackMap locals:
StackMap stack:
aload 1
getstatic org.jruby.ir.IRFlags.REQUIRES_CLASS:Lorg/jruby/ir/IRFlags;
invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
pop
goto 15
13: StackMap locals:
StackMap stack:
aload 1
getstatic org.jruby.ir.IRFlags.REQUIRES_FILENAME:Lorg/jruby/ir/IRFlags;
invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
pop
goto 15
14: StackMap locals:
StackMap stack:
aload 1
getstatic org.jruby.ir.IRFlags.REQUIRES_SCOPE:Lorg/jruby/ir/IRFlags;
invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
pop
end local 4 15: StackMap locals: org.jruby.ir.instructions.CallBase java.util.EnumSet java.util.Set int top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
16: iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/jruby/ir/instructions/CallBase;
0 17 1 flags Ljava/util/EnumSet<Lorg/jruby/ir/IRFlags;>;
0 17 2 frameFields Ljava/util/Set<Lorg/jruby/anno/FrameField;>;
1 17 3 modifiedScope Z
3 15 4 field Lorg/jruby/anno/FrameField;
Signature: (Ljava/util/EnumSet<Lorg/jruby/ir/IRFlags;>;Ljava/util/Set<Lorg/jruby/anno/FrameField;>;)Z
MethodParameters:
Name Flags
flags
frameFields
public void simplifyOperands(java.util.Map<org.jruby.ir.operands.Operand, org.jruby.ir.operands.Operand>, );
descriptor: (Ljava/util/Map;Z)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
aload 1
iload 2
invokespecial org.jruby.ir.instructions.NOperandInstr.simplifyOperands:(Ljava/util/Map;Z)V
1: aload 0
aload 0
invokevirtual org.jruby.ir.instructions.CallBase.getCallArgs:()[Lorg/jruby/ir/operands/Operand;
invokestatic org.jruby.ir.runtime.IRRuntimeHelpers.buildSplatMap:([Lorg/jruby/ir/operands/Operand;)[Z
putfield org.jruby.ir.instructions.CallBase.splatMap:[Z
2: aload 0
iconst_0
putfield org.jruby.ir.instructions.CallBase.flagsComputed:Z
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jruby/ir/instructions/CallBase;
0 4 1 valueMap Ljava/util/Map<Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;>;
0 4 2 force Z
Signature: (Ljava/util/Map<Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;>;Z)V
MethodParameters:
Name Flags
valueMap
force
public org.jruby.ir.operands.Operand[] cloneCallArgs(org.jruby.ir.transformations.inlining.CloneInfo);
descriptor: (Lorg/jruby/ir/transformations/inlining/CloneInfo;)[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.instructions.CallBase.argsCount:I
anewarray org.jruby.ir.operands.Operand
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 5
3: StackMap locals: org.jruby.ir.operands.Operand[] int
StackMap stack:
aload 2
iload 3
aload 0
getfield org.jruby.ir.instructions.CallBase.operands:[Lorg/jruby/ir/operands/Operand;
iload 3
iconst_1
iadd
aaload
aload 1
invokevirtual org.jruby.ir.operands.Operand.cloneForInlining:(Lorg/jruby/ir/transformations/inlining/CloneInfo;)Lorg/jruby/ir/operands/Operand;
aastore
4: iinc 3 1
StackMap locals:
StackMap stack:
5: iload 3
aload 0
getfield org.jruby.ir.instructions.CallBase.argsCount:I
if_icmplt 3
end local 3 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/instructions/CallBase;
0 7 1 ii Lorg/jruby/ir/transformations/inlining/CloneInfo;
1 7 2 clonedArgs [Lorg/jruby/ir/operands/Operand;
2 6 3 i I
MethodParameters:
Name Flags
ii
private boolean computeEvalFlag();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.ir.instructions.CallBase.getId:()Ljava/lang/String;
astore 1
start local 1 1: aload 0
invokevirtual org.jruby.ir.instructions.CallBase.getArgsCount:()I
ifeq 4
aload 1
ldc "eval"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 3
aload 1
ldc "module_eval"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 3
2: aload 1
ldc "class_eval"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 3
aload 1
ldc "instance_eval"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 4
3: StackMap locals: java.lang.String
StackMap stack:
iconst_1
ireturn
4: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield org.jruby.ir.instructions.CallBase.argsCount:I
invokestatic org.jruby.ir.instructions.CallBase.potentiallySend:(Ljava/lang/String;I)Z
ifeq 13
5: aload 0
invokevirtual org.jruby.ir.instructions.CallBase.getArg1:()Lorg/jruby/ir/operands/Operand;
astore 2
start local 2 6: aload 2
instanceof org.jruby.ir.operands.StringLiteral
ifne 7
iconst_1
ireturn
7: StackMap locals: org.jruby.ir.operands.Operand
StackMap stack:
aload 2
checkcast org.jruby.ir.operands.StringLiteral
invokevirtual org.jruby.ir.operands.StringLiteral.getString:()Ljava/lang/String;
astore 3
start local 3 8: aload 3
ldc "call"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 12
aload 3
ldc "eval"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 12
aload 1
ldc "module_eval"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 12
9: aload 1
ldc "class_eval"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 12
aload 1
ldc "instance_eval"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 12
aload 3
ldc "send"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 12
10: aload 3
ldc "__send__"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 12
11: iconst_0
ireturn
StackMap locals: java.lang.String
StackMap stack:
12: iconst_1
ireturn
end local 3 end local 2 13: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/jruby/ir/instructions/CallBase;
1 14 1 mname Ljava/lang/String;
6 13 2 meth Lorg/jruby/ir/operands/Operand;
8 13 3 name Ljava/lang/String;
private boolean computeRequiresCallersBindingFlag();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.ir.instructions.CallBase.canBeEval:()Z
ifeq 1
iconst_1
ireturn
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.ir.instructions.CallBase.hasLiteralClosure:()Z
ifeq 2
iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.ir.instructions.CallBase.getId:()Ljava/lang/String;
astore 1
start local 1 3: getstatic org.jruby.runtime.MethodIndex.SCOPE_AWARE_METHODS:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 5
4: iconst_1
ireturn
5: StackMap locals: java.lang.String
StackMap stack:
aload 1
aload 0
getfield org.jruby.ir.instructions.CallBase.argsCount:I
invokestatic org.jruby.ir.instructions.CallBase.potentiallySend:(Ljava/lang/String;I)Z
ifeq 9
6: aload 0
invokevirtual org.jruby.ir.instructions.CallBase.getArg1:()Lorg/jruby/ir/operands/Operand;
astore 2
start local 2 7: aload 2
instanceof org.jruby.ir.operands.StringLiteral
ifne 8
iconst_1
ireturn
8: StackMap locals: org.jruby.ir.operands.Operand
StackMap stack:
getstatic org.jruby.runtime.MethodIndex.SCOPE_AWARE_METHODS:Ljava/util/Set;
aload 2
checkcast org.jruby.ir.operands.StringLiteral
invokevirtual org.jruby.ir.operands.StringLiteral.getString:()Ljava/lang/String;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ireturn
end local 2 9: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/jruby/ir/instructions/CallBase;
3 10 1 mname Ljava/lang/String;
7 9 2 meth Lorg/jruby/ir/operands/Operand;
private boolean computeRequiresCallersFrameFlag();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.ir.instructions.CallBase.canBeEval:()Z
ifeq 1
iconst_1
ireturn
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.ir.instructions.CallBase.hasLiteralClosure:()Z
ifeq 2
iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.ir.instructions.CallBase.procNew:Z
ifeq 3
iconst_1
ireturn
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.ir.instructions.CallBase.getId:()Ljava/lang/String;
astore 1
start local 1 4: aload 0
getfield org.jruby.ir.instructions.CallBase.frameReads:Ljava/util/Set;
invokeinterface java.util.Set.size:()I
ifgt 5
aload 0
getfield org.jruby.ir.instructions.CallBase.frameWrites:Ljava/util/Set;
invokeinterface java.util.Set.size:()I
ifle 6
5: StackMap locals: java.lang.String
StackMap stack:
iconst_1
ireturn
6: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield org.jruby.ir.instructions.CallBase.argsCount:I
invokestatic org.jruby.ir.instructions.CallBase.potentiallySend:(Ljava/lang/String;I)Z
ifeq 16
7: aload 0
invokevirtual org.jruby.ir.instructions.CallBase.getArg1:()Lorg/jruby/ir/operands/Operand;
astore 2
start local 2 8: aload 2
instanceof org.jruby.ir.operands.Stringable
ifeq 11
9: aload 2
checkcast org.jruby.ir.operands.Stringable
invokeinterface org.jruby.ir.operands.Stringable.getString:()Ljava/lang/String;
astore 3
start local 3 10: goto 12
end local 3 11: StackMap locals: org.jruby.ir.operands.Operand
StackMap stack:
iconst_1
ireturn
start local 3 12: StackMap locals: java.lang.String
StackMap stack:
aload 0
getstatic org.jruby.runtime.MethodIndex.METHOD_FRAME_READS:Ljava/util/Map;
aload 3
getstatic java.util.Collections.EMPTY_SET:Ljava/util/Set;
invokeinterface java.util.Map.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Set
putfield org.jruby.ir.instructions.CallBase.frameReads:Ljava/util/Set;
13: aload 0
getstatic org.jruby.runtime.MethodIndex.METHOD_FRAME_WRITES:Ljava/util/Map;
aload 3
getstatic java.util.Collections.EMPTY_SET:Ljava/util/Set;
invokeinterface java.util.Map.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Set
putfield org.jruby.ir.instructions.CallBase.frameWrites:Ljava/util/Set;
14: aload 0
getfield org.jruby.ir.instructions.CallBase.frameReads:Ljava/util/Set;
invokeinterface java.util.Set.size:()I
ifgt 15
aload 0
getfield org.jruby.ir.instructions.CallBase.frameWrites:Ljava/util/Set;
invokeinterface java.util.Set.size:()I
ifle 16
15: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 3 end local 2 16: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/jruby/ir/instructions/CallBase;
4 17 1 mname Ljava/lang/String;
8 16 2 meth Lorg/jruby/ir/operands/Operand;
10 11 3 name Ljava/lang/String;
12 16 3 name Ljava/lang/String;
private static boolean potentiallySend(java.lang.String, int);
descriptor: (Ljava/lang/String;I)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "send"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 1
aload 0
ldc "__send__"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 1
aload 0
ldc "public_send"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 2
StackMap locals:
StackMap stack:
1: iload 1
iconst_1
if_icmplt 2
iconst_1
ireturn
StackMap locals:
StackMap stack:
2: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 name Ljava/lang/String;
0 3 1 argsCount I
MethodParameters:
Name Flags
name
argsCount
private void captureFrameReadsAndWrites();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.ir.instructions.CallBase.getId:()Ljava/lang/String;
aload 0
getfield org.jruby.ir.instructions.CallBase.argsCount:I
invokestatic org.jruby.ir.instructions.CallBase.potentiallySend:(Ljava/lang/String;I)Z
ifeq 10
1: aload 0
invokevirtual org.jruby.ir.instructions.CallBase.getArg1:()Lorg/jruby/ir/operands/Operand;
astore 1
start local 1 2: aload 1
instanceof org.jruby.ir.operands.Stringable
ifeq 7
3: aload 1
checkcast org.jruby.ir.operands.Stringable
invokeinterface org.jruby.ir.operands.Stringable.getString:()Ljava/lang/String;
astore 2
start local 2 4: aload 0
getstatic org.jruby.runtime.MethodIndex.METHOD_FRAME_READS:Ljava/util/Map;
aload 2
getstatic java.util.Collections.EMPTY_SET:Ljava/util/Set;
invokeinterface java.util.Map.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Set
putfield org.jruby.ir.instructions.CallBase.frameReads:Ljava/util/Set;
5: aload 0
getstatic org.jruby.runtime.MethodIndex.METHOD_FRAME_WRITES:Ljava/util/Map;
aload 2
getstatic java.util.Collections.EMPTY_SET:Ljava/util/Set;
invokeinterface java.util.Map.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Set
putfield org.jruby.ir.instructions.CallBase.frameWrites:Ljava/util/Set;
6: goto 12
end local 2 7: StackMap locals: org.jruby.ir.operands.Operand
StackMap stack:
aload 0
getstatic org.jruby.ir.instructions.CallBase.ALL:Ljava/util/EnumSet;
putfield org.jruby.ir.instructions.CallBase.frameReads:Ljava/util/Set;
8: aload 0
getstatic org.jruby.ir.instructions.CallBase.ALL:Ljava/util/EnumSet;
putfield org.jruby.ir.instructions.CallBase.frameWrites:Ljava/util/Set;
end local 1 9: goto 12
10: StackMap locals:
StackMap stack:
aload 0
getstatic org.jruby.runtime.MethodIndex.METHOD_FRAME_READS:Ljava/util/Map;
aload 0
invokevirtual org.jruby.ir.instructions.CallBase.getId:()Ljava/lang/String;
getstatic java.util.Collections.EMPTY_SET:Ljava/util/Set;
invokeinterface java.util.Map.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Set
putfield org.jruby.ir.instructions.CallBase.frameReads:Ljava/util/Set;
11: aload 0
getstatic org.jruby.runtime.MethodIndex.METHOD_FRAME_WRITES:Ljava/util/Map;
aload 0
invokevirtual org.jruby.ir.instructions.CallBase.getId:()Ljava/lang/String;
getstatic java.util.Collections.EMPTY_SET:Ljava/util/Set;
invokeinterface java.util.Map.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Set
putfield org.jruby.ir.instructions.CallBase.frameWrites:Ljava/util/Set;
12: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/jruby/ir/instructions/CallBase;
2 9 1 meth Lorg/jruby/ir/operands/Operand;
4 7 2 aliasName Ljava/lang/String;
private void computeFlags();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
putfield org.jruby.ir.instructions.CallBase.flagsComputed:Z
1: aload 0
aload 0
invokevirtual org.jruby.ir.instructions.CallBase.computeEvalFlag:()Z
putfield org.jruby.ir.instructions.CallBase.canBeEval:Z
2: aload 0
aload 0
getfield org.jruby.ir.instructions.CallBase.canBeEval:Z
ifne 3
aload 0
invokevirtual org.jruby.ir.instructions.CallBase.computeRequiresCallersBindingFlag:()Z
ifne 3
iconst_0
goto 4
StackMap locals:
StackMap stack: org.jruby.ir.instructions.CallBase
3: iconst_1
StackMap locals: org.jruby.ir.instructions.CallBase
StackMap stack: org.jruby.ir.instructions.CallBase int
4: putfield org.jruby.ir.instructions.CallBase.targetRequiresCallersBinding:Z
5: aload 0
aload 0
getfield org.jruby.ir.instructions.CallBase.canBeEval:Z
ifne 6
aload 0
invokevirtual org.jruby.ir.instructions.CallBase.computeRequiresCallersFrameFlag:()Z
ifne 6
iconst_0
goto 7
StackMap locals:
StackMap stack: org.jruby.ir.instructions.CallBase
6: iconst_1
StackMap locals: org.jruby.ir.instructions.CallBase
StackMap stack: org.jruby.ir.instructions.CallBase int
7: putfield org.jruby.ir.instructions.CallBase.targetRequiresCallersFrame:Z
8: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/jruby/ir/instructions/CallBase;
public boolean canBeEval();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.ir.instructions.CallBase.flagsComputed:Z
ifne 1
aload 0
invokevirtual org.jruby.ir.instructions.CallBase.computeFlags:()V
1: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.ir.instructions.CallBase.canBeEval:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/ir/instructions/CallBase;
public boolean targetRequiresCallersBinding();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.ir.instructions.CallBase.flagsComputed:Z
ifne 1
aload 0
invokevirtual org.jruby.ir.instructions.CallBase.computeFlags:()V
1: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.ir.instructions.CallBase.targetRequiresCallersBinding:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/ir/instructions/CallBase;
public boolean targetRequiresCallersFrame();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.ir.instructions.CallBase.flagsComputed:Z
ifne 1
aload 0
invokevirtual org.jruby.ir.instructions.CallBase.computeFlags:()V
1: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.ir.instructions.CallBase.targetRequiresCallersFrame:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/ir/instructions/CallBase;
public java.lang.String[] toStringNonOperandArgs();
descriptor: ()[Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=1, args_size=1
start local 0 0: iconst_3
anewarray java.lang.String
dup
iconst_0
new java.lang.StringBuilder
dup
ldc "n:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual org.jruby.ir.instructions.CallBase.getName:()Lorg/jruby/RubySymbol;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aastore
dup
iconst_1
new java.lang.StringBuilder
dup
ldc "t:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.jruby.ir.instructions.CallBase.callType:Lorg/jruby/runtime/CallType;
invokevirtual org.jruby.runtime.CallType.toString:()Ljava/lang/String;
iconst_0
iconst_2
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aastore
dup
iconst_2
new java.lang.StringBuilder
dup
ldc "cl:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.jruby.ir.instructions.CallBase.hasClosure:Z
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aastore
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/instructions/CallBase;
public static boolean containsArgSplat(org.jruby.ir.operands.Operand[]);
descriptor: ([Lorg/jruby/ir/operands/Operand;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=5, args_size=1
start local 0 0: aload 0
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 4
StackMap locals: org.jruby.ir.operands.Operand[] top int int org.jruby.ir.operands.Operand[]
StackMap stack:
1: aload 4
iload 2
aaload
astore 1
start local 1 2: aload 1
instanceof org.jruby.ir.operands.Splat
ifeq 3
iconst_1
ireturn
end local 1 3: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
4: iload 2
iload 3
if_icmplt 1
5: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 arguments [Lorg/jruby/ir/operands/Operand;
2 3 1 argument Lorg/jruby/ir/operands/Operand;
MethodParameters:
Name Flags
arguments
private static org.jruby.ir.operands.Operand[] arrayifyOperands(org.jruby.ir.operands.Operand, 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;)[Lorg/jruby/ir/operands/Operand;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
arraylength
iconst_1
iadd
aload 2
ifnull 1
iconst_1
goto 2
StackMap locals:
StackMap stack: int
1: iconst_0
StackMap locals: org.jruby.ir.operands.Operand org.jruby.ir.operands.Operand[] org.jruby.ir.operands.Operand
StackMap stack: int int
2: iadd
anewarray org.jruby.ir.operands.Operand
astore 3
start local 3 3: getstatic org.jruby.ir.instructions.CallBase.$assertionsDisabled:Z
ifne 4
aload 0
ifnonnull 4
new java.lang.AssertionError
dup
ldc "RECEIVER is null"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
4: StackMap locals: org.jruby.ir.operands.Operand[]
StackMap stack:
aload 3
iconst_0
aload 0
aastore
5: iconst_0
istore 4
start local 4 6: goto 10
7: StackMap locals: int
StackMap stack:
getstatic org.jruby.ir.instructions.CallBase.$assertionsDisabled:Z
ifne 8
aload 1
iload 4
aaload
ifnonnull 8
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "ARG "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " is null"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
8: StackMap locals:
StackMap stack:
aload 3
iload 4
iconst_1
iadd
aload 1
iload 4
aaload
aastore
9: iinc 4 1
StackMap locals:
StackMap stack:
10: iload 4
aload 1
arraylength
if_icmplt 7
end local 4 11: aload 2
ifnull 12
aload 3
aload 1
arraylength
iconst_1
iadd
aload 2
aastore
12: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 receiver Lorg/jruby/ir/operands/Operand;
0 13 1 callArgs [Lorg/jruby/ir/operands/Operand;
0 13 2 closure Lorg/jruby/ir/operands/Operand;
3 13 3 allArgs [Lorg/jruby/ir/operands/Operand;
6 11 4 i I
MethodParameters:
Name Flags
receiver
callArgs
closure
public java.lang.Object interpret(org.jruby.runtime.ThreadContext, org.jruby.parser.StaticScope, org.jruby.runtime.DynamicScope, org.jruby.runtime.builtin.IRubyObject, java.lang.Object[]);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/parser/StaticScope;Lorg/jruby/runtime/DynamicScope;Lorg/jruby/runtime/builtin/IRubyObject;[Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=9, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokevirtual org.jruby.ir.instructions.CallBase.getReceiver:()Lorg/jruby/ir/operands/Operand;
aload 1
aload 4
aload 2
aload 3
aload 5
invokevirtual org.jruby.ir.operands.Operand.retrieve:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/parser/StaticScope;Lorg/jruby/runtime/DynamicScope;[Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.jruby.runtime.builtin.IRubyObject
astore 6
start local 6 1: aload 0
aload 1
aload 4
aload 2
aload 3
aload 5
invokevirtual org.jruby.ir.instructions.CallBase.prepareArguments:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/parser/StaticScope;Lorg/jruby/runtime/DynamicScope;[Ljava/lang/Object;)[Lorg/jruby/runtime/builtin/IRubyObject;
astore 7
start local 7 2: aload 0
aload 1
aload 4
aload 2
aload 3
aload 5
invokevirtual org.jruby.ir.instructions.CallBase.prepareBlock:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/parser/StaticScope;Lorg/jruby/runtime/DynamicScope;[Ljava/lang/Object;)Lorg/jruby/runtime/Block;
astore 8
start local 8 3: aload 0
invokevirtual org.jruby.ir.instructions.CallBase.hasLiteralClosure:()Z
ifeq 5
4: aload 0
getfield org.jruby.ir.instructions.CallBase.callSite:Lorg/jruby/runtime/CallSite;
aload 1
aload 4
aload 6
aload 7
aload 8
invokevirtual org.jruby.runtime.CallSite.callIter:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
5: StackMap locals: org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject[] org.jruby.runtime.Block
StackMap stack:
aload 0
getfield org.jruby.ir.instructions.CallBase.callSite:Lorg/jruby/runtime/CallSite;
aload 1
aload 4
aload 6
aload 7
aload 8
invokevirtual org.jruby.runtime.CallSite.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
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 6 0 this Lorg/jruby/ir/instructions/CallBase;
0 6 1 context Lorg/jruby/runtime/ThreadContext;
0 6 2 currScope Lorg/jruby/parser/StaticScope;
0 6 3 dynamicScope Lorg/jruby/runtime/DynamicScope;
0 6 4 self Lorg/jruby/runtime/builtin/IRubyObject;
0 6 5 temp [Ljava/lang/Object;
1 6 6 object Lorg/jruby/runtime/builtin/IRubyObject;
2 6 7 values [Lorg/jruby/runtime/builtin/IRubyObject;
3 6 8 preparedBlock Lorg/jruby/runtime/Block;
MethodParameters:
Name Flags
context
currScope
dynamicScope
self
temp
protected org.jruby.runtime.builtin.IRubyObject[] prepareArguments(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.parser.StaticScope, org.jruby.runtime.DynamicScope, java.lang.Object[]);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/parser/StaticScope;Lorg/jruby/runtime/DynamicScope;[Ljava/lang/Object;)[Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
getfield org.jruby.ir.instructions.CallBase.splatMap:[Z
ifnull 2
1: aload 0
aload 1
aload 2
aload 3
aload 4
aload 5
invokevirtual org.jruby.ir.instructions.CallBase.prepareArgumentsComplex:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/parser/StaticScope;Lorg/jruby/runtime/DynamicScope;[Ljava/lang/Object;)[Lorg/jruby/runtime/builtin/IRubyObject;
goto 3
2: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 3
aload 4
aload 5
invokevirtual org.jruby.ir.instructions.CallBase.prepareArgumentsSimple:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/parser/StaticScope;Lorg/jruby/runtime/DynamicScope;[Ljava/lang/Object;)[Lorg/jruby/runtime/builtin/IRubyObject;
3: StackMap locals:
StackMap stack: org.jruby.runtime.builtin.IRubyObject[]
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/instructions/CallBase;
0 4 1 context Lorg/jruby/runtime/ThreadContext;
0 4 2 self Lorg/jruby/runtime/builtin/IRubyObject;
0 4 3 currScope Lorg/jruby/parser/StaticScope;
0 4 4 dynamicScope Lorg/jruby/runtime/DynamicScope;
0 4 5 temp [Ljava/lang/Object;
MethodParameters:
Name Flags
context
self
currScope
dynamicScope
temp
protected org.jruby.runtime.builtin.IRubyObject[] prepareArgumentsSimple(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.parser.StaticScope, org.jruby.runtime.DynamicScope, java.lang.Object[]);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/parser/StaticScope;Lorg/jruby/runtime/DynamicScope;[Ljava/lang/Object;)[Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0004) ACC_PROTECTED
Code:
stack=8, locals=8, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
getfield org.jruby.ir.instructions.CallBase.argsCount:I
anewarray org.jruby.runtime.builtin.IRubyObject
astore 6
start local 6 1: iconst_0
istore 7
start local 7 2: goto 5
3: StackMap locals: org.jruby.runtime.builtin.IRubyObject[] int
StackMap stack:
aload 6
iload 7
aload 0
getfield org.jruby.ir.instructions.CallBase.operands:[Lorg/jruby/ir/operands/Operand;
iload 7
iconst_1
iadd
aaload
aload 1
aload 2
aload 3
aload 4
aload 5
invokevirtual org.jruby.ir.operands.Operand.retrieve:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/parser/StaticScope;Lorg/jruby/runtime/DynamicScope;[Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.jruby.runtime.builtin.IRubyObject
aastore
4: iinc 7 1
StackMap locals:
StackMap stack:
5: iload 7
aload 0
getfield org.jruby.ir.instructions.CallBase.argsCount:I
if_icmplt 3
end local 7 6: aload 6
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 7 0 this Lorg/jruby/ir/instructions/CallBase;
0 7 1 context Lorg/jruby/runtime/ThreadContext;
0 7 2 self Lorg/jruby/runtime/builtin/IRubyObject;
0 7 3 currScope Lorg/jruby/parser/StaticScope;
0 7 4 currDynScope Lorg/jruby/runtime/DynamicScope;
0 7 5 temp [Ljava/lang/Object;
1 7 6 newArgs [Lorg/jruby/runtime/builtin/IRubyObject;
2 6 7 i I
MethodParameters:
Name Flags
context
self
currScope
currDynScope
temp
protected org.jruby.runtime.builtin.IRubyObject[] prepareArgumentsComplex(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.parser.StaticScope, org.jruby.runtime.DynamicScope, java.lang.Object[]);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/parser/StaticScope;Lorg/jruby/runtime/DynamicScope;[Ljava/lang/Object;)[Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
aload 2
aload 3
aload 4
aload 5
invokevirtual org.jruby.ir.instructions.CallBase.prepareArgumentsSimple:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/parser/StaticScope;Lorg/jruby/runtime/DynamicScope;[Ljava/lang/Object;)[Lorg/jruby/runtime/builtin/IRubyObject;
1: aload 0
getfield org.jruby.ir.instructions.CallBase.splatMap:[Z
2: invokestatic org.jruby.ir.runtime.IRRuntimeHelpers.splatArguments:([Lorg/jruby/runtime/builtin/IRubyObject;[Z)[Lorg/jruby/runtime/builtin/IRubyObject;
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 3 0 this Lorg/jruby/ir/instructions/CallBase;
0 3 1 context Lorg/jruby/runtime/ThreadContext;
0 3 2 self Lorg/jruby/runtime/builtin/IRubyObject;
0 3 3 currScope Lorg/jruby/parser/StaticScope;
0 3 4 currDynScope Lorg/jruby/runtime/DynamicScope;
0 3 5 temp [Ljava/lang/Object;
MethodParameters:
Name Flags
context
self
currScope
currDynScope
temp
public org.jruby.runtime.Block prepareBlock(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.parser.StaticScope, org.jruby.runtime.DynamicScope, java.lang.Object[]);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/parser/StaticScope;Lorg/jruby/runtime/DynamicScope;[Ljava/lang/Object;)Lorg/jruby/runtime/Block;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokevirtual org.jruby.ir.instructions.CallBase.getClosureArg:()Lorg/jruby/ir/operands/Operand;
ifnonnull 1
getstatic org.jruby.runtime.Block.NULL_BLOCK:Lorg/jruby/runtime/Block;
areturn
1: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.ir.instructions.CallBase.potentiallyRefined:Z
ifeq 3
2: aload 1
aload 3
aload 0
invokevirtual org.jruby.ir.instructions.CallBase.getClosureArg:()Lorg/jruby/ir/operands/Operand;
aload 1
aload 2
aload 3
aload 4
aload 5
invokevirtual org.jruby.ir.operands.Operand.retrieve:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/parser/StaticScope;Lorg/jruby/runtime/DynamicScope;[Ljava/lang/Object;)Ljava/lang/Object;
invokestatic org.jruby.ir.runtime.IRRuntimeHelpers.getRefinedBlockFromObject:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/parser/StaticScope;Ljava/lang/Object;)Lorg/jruby/runtime/Block;
areturn
3: StackMap locals:
StackMap stack:
aload 1
aload 0
invokevirtual org.jruby.ir.instructions.CallBase.getClosureArg:()Lorg/jruby/ir/operands/Operand;
aload 1
aload 2
aload 3
aload 4
aload 5
invokevirtual org.jruby.ir.operands.Operand.retrieve:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/parser/StaticScope;Lorg/jruby/runtime/DynamicScope;[Ljava/lang/Object;)Ljava/lang/Object;
invokestatic org.jruby.ir.runtime.IRRuntimeHelpers.getBlockFromObject:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/Object;)Lorg/jruby/runtime/Block;
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/instructions/CallBase;
0 4 1 context Lorg/jruby/runtime/ThreadContext;
0 4 2 self Lorg/jruby/runtime/builtin/IRubyObject;
0 4 3 currScope Lorg/jruby/parser/StaticScope;
0 4 4 currDynScope Lorg/jruby/runtime/DynamicScope;
0 4 5 temp [Ljava/lang/Object;
MethodParameters:
Name Flags
context
self
currScope
currDynScope
temp
static int[] $SWITCH_TABLE$org$jruby$runtime$CallType();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic org.jruby.ir.instructions.CallBase.$SWITCH_TABLE$org$jruby$runtime$CallType:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic org.jruby.runtime.CallType.values:()[Lorg/jruby/runtime/CallType;
arraylength
newarray 10
astore 0
2: aload 0
getstatic org.jruby.runtime.CallType.FUNCTIONAL:Lorg/jruby/runtime/CallType;
invokevirtual org.jruby.runtime.CallType.ordinal:()I
iconst_2
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic org.jruby.runtime.CallType.NORMAL:Lorg/jruby/runtime/CallType;
invokevirtual org.jruby.runtime.CallType.ordinal:()I
iconst_1
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic org.jruby.runtime.CallType.SUPER:Lorg/jruby/runtime/CallType;
invokevirtual org.jruby.runtime.CallType.ordinal:()I
iconst_3
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic org.jruby.runtime.CallType.UNKNOWN:Lorg/jruby/runtime/CallType;
invokevirtual org.jruby.runtime.CallType.ordinal:()I
iconst_5
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic org.jruby.runtime.CallType.VARIABLE:Lorg/jruby/runtime/CallType;
invokevirtual org.jruby.runtime.CallType.ordinal:()I
iconst_4
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
dup
putstatic org.jruby.ir.instructions.CallBase.$SWITCH_TABLE$org$jruby$runtime$CallType:[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
static int[] $SWITCH_TABLE$org$jruby$anno$FrameField();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic org.jruby.ir.instructions.CallBase.$SWITCH_TABLE$org$jruby$anno$FrameField:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic org.jruby.anno.FrameField.values:()[Lorg/jruby/anno/FrameField;
arraylength
newarray 10
astore 0
2: aload 0
getstatic org.jruby.anno.FrameField.BACKREF:Lorg/jruby/anno/FrameField;
invokevirtual org.jruby.anno.FrameField.ordinal:()I
iconst_2
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic org.jruby.anno.FrameField.BLOCK:Lorg/jruby/anno/FrameField;
invokevirtual org.jruby.anno.FrameField.ordinal:()I
iconst_4
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic org.jruby.anno.FrameField.CLASS:Lorg/jruby/anno/FrameField;
invokevirtual org.jruby.anno.FrameField.ordinal:()I
bipush 8
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic org.jruby.anno.FrameField.FILENAME:Lorg/jruby/anno/FrameField;
invokevirtual org.jruby.anno.FrameField.ordinal:()I
bipush 9
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic org.jruby.anno.FrameField.LASTLINE:Lorg/jruby/anno/FrameField;
invokevirtual org.jruby.anno.FrameField.ordinal:()I
iconst_1
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic org.jruby.anno.FrameField.LINE:Lorg/jruby/anno/FrameField;
invokevirtual org.jruby.anno.FrameField.ordinal:()I
bipush 7
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
getstatic org.jruby.anno.FrameField.METHODNAME:Lorg/jruby/anno/FrameField;
invokevirtual org.jruby.anno.FrameField.ordinal:()I
bipush 6
iastore
21: goto 23
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
22: pop
StackMap locals:
StackMap stack:
23: aload 0
getstatic org.jruby.anno.FrameField.SCOPE:Lorg/jruby/anno/FrameField;
invokevirtual org.jruby.anno.FrameField.ordinal:()I
bipush 10
iastore
24: goto 26
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
25: pop
StackMap locals:
StackMap stack:
26: aload 0
getstatic org.jruby.anno.FrameField.SELF:Lorg/jruby/anno/FrameField;
invokevirtual org.jruby.anno.FrameField.ordinal:()I
iconst_5
iastore
27: goto 29
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
28: pop
StackMap locals:
StackMap stack:
29: aload 0
getstatic org.jruby.anno.FrameField.VISIBILITY:Lorg/jruby/anno/FrameField;
invokevirtual org.jruby.anno.FrameField.ordinal:()I
iconst_3
iastore
30: goto 32
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
31: pop
StackMap locals:
StackMap stack:
32: aload 0
dup
putstatic org.jruby.ir.instructions.CallBase.$SWITCH_TABLE$org$jruby$anno$FrameField:[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
}
SourceFile: "CallBase.java"