public final class org.graalvm.compiler.lir.LIR extends org.graalvm.compiler.lir.gen.LIRGenerator$VariableProvider
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.graalvm.compiler.lir.LIR
super_class: org.graalvm.compiler.lir.gen.LIRGenerator$VariableProvider
{
private final org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph<?> cfg;
descriptor: Lorg/graalvm/compiler/core/common/cfg/AbstractControlFlowGraph;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lorg/graalvm/compiler/core/common/cfg/AbstractControlFlowGraph<*>;
private final org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>[] linearScanOrder;
descriptor: [Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: [Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
private final org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>[] codeEmittingOrder;
descriptor: [Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: [Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
private final org.graalvm.compiler.core.common.cfg.BlockMap<java.util.ArrayList<org.graalvm.compiler.lir.LIRInstruction>> lirInstructions;
descriptor: Lorg/graalvm/compiler/core/common/cfg/BlockMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lorg/graalvm/compiler/core/common/cfg/BlockMap<Ljava/util/ArrayList<Lorg/graalvm/compiler/lir/LIRInstruction;>;>;
private boolean hasArgInCallerFrame;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private final org.graalvm.compiler.options.OptionValues options;
descriptor: Lorg/graalvm/compiler/options/OptionValues;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.graalvm.compiler.debug.DebugContext debug;
descriptor: Lorg/graalvm/compiler/debug/DebugContext;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public static final int MAX_EXCEPTION_EDGE_OP_DISTANCE_FROM_END;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 3
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/graalvm/compiler/lir/LIR;
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.graalvm.compiler.lir.LIR.$assertionsDisabled:Z
3: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph<?>, org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>[], org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>[], org.graalvm.compiler.options.OptionValues, org.graalvm.compiler.debug.DebugContext);
descriptor: (Lorg/graalvm/compiler/core/common/cfg/AbstractControlFlowGraph;[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/debug/DebugContext;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, 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
invokespecial org.graalvm.compiler.lir.gen.LIRGenerator$VariableProvider.<init>:()V
1: aload 0
aload 1
putfield org.graalvm.compiler.lir.LIR.cfg:Lorg/graalvm/compiler/core/common/cfg/AbstractControlFlowGraph;
2: aload 0
aload 3
putfield org.graalvm.compiler.lir.LIR.codeEmittingOrder:[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
3: aload 0
aload 2
putfield org.graalvm.compiler.lir.LIR.linearScanOrder:[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
4: aload 0
new org.graalvm.compiler.core.common.cfg.BlockMap
dup
aload 1
invokespecial org.graalvm.compiler.core.common.cfg.BlockMap.<init>:(Lorg/graalvm/compiler/core/common/cfg/AbstractControlFlowGraph;)V
putfield org.graalvm.compiler.lir.LIR.lirInstructions:Lorg/graalvm/compiler/core/common/cfg/BlockMap;
5: aload 0
aload 4
putfield org.graalvm.compiler.lir.LIR.options:Lorg/graalvm/compiler/options/OptionValues;
6: aload 0
aload 5
putfield org.graalvm.compiler.lir.LIR.debug:Lorg/graalvm/compiler/debug/DebugContext;
7: 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 8 0 this Lorg/graalvm/compiler/lir/LIR;
0 8 1 cfg Lorg/graalvm/compiler/core/common/cfg/AbstractControlFlowGraph<*>;
0 8 2 linearScanOrder [Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
0 8 3 codeEmittingOrder [Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
0 8 4 options Lorg/graalvm/compiler/options/OptionValues;
0 8 5 debug Lorg/graalvm/compiler/debug/DebugContext;
Signature: (Lorg/graalvm/compiler/core/common/cfg/AbstractControlFlowGraph<*>;[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/debug/DebugContext;)V
MethodParameters:
Name Flags
cfg
linearScanOrder
codeEmittingOrder
options
debug
public org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph<?> getControlFlowGraph();
descriptor: ()Lorg/graalvm/compiler/core/common/cfg/AbstractControlFlowGraph;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.lir.LIR.cfg:Lorg/graalvm/compiler/core/common/cfg/AbstractControlFlowGraph;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/lir/LIR;
Signature: ()Lorg/graalvm/compiler/core/common/cfg/AbstractControlFlowGraph<*>;
public org.graalvm.compiler.options.OptionValues getOptions();
descriptor: ()Lorg/graalvm/compiler/options/OptionValues;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.lir.LIR.options:Lorg/graalvm/compiler/options/OptionValues;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/lir/LIR;
public org.graalvm.compiler.debug.DebugContext getDebug();
descriptor: ()Lorg/graalvm/compiler/debug/DebugContext;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.lir.LIR.debug:Lorg/graalvm/compiler/debug/DebugContext;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/lir/LIR;
public boolean hasDebugInfo();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=7, args_size=1
start local 0 0: aload 0
invokevirtual org.graalvm.compiler.lir.LIR.linearScanOrder:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 8
StackMap locals: org.graalvm.compiler.lir.LIR top int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
StackMap stack:
1: aload 4
iload 2
aaload
astore 1
start local 1 2: aload 0
aload 1
invokevirtual org.graalvm.compiler.lir.LIR.getLIRforBlock:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 6
goto 6
StackMap locals: org.graalvm.compiler.lir.LIR org.graalvm.compiler.core.common.cfg.AbstractBlockBase int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] top java.util.Iterator
StackMap stack:
3: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.lir.LIRInstruction
astore 5
start local 5 4: aload 5
invokevirtual org.graalvm.compiler.lir.LIRInstruction.hasState:()Z
ifeq 6
5: iconst_1
ireturn
end local 5 6: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
end local 1 7: iinc 2 1
StackMap locals: org.graalvm.compiler.lir.LIR top int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
StackMap stack:
8: iload 2
iload 3
if_icmplt 1
9: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/graalvm/compiler/lir/LIR;
2 7 1 b Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
4 6 5 op Lorg/graalvm/compiler/lir/LIRInstruction;
public java.util.ArrayList<org.graalvm.compiler.lir.LIRInstruction> getLIRforBlock(org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>);
descriptor: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Ljava/util/ArrayList;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.compiler.lir.LIR.lirInstructions:Lorg/graalvm/compiler/core/common/cfg/BlockMap;
aload 1
invokevirtual org.graalvm.compiler.core.common.cfg.BlockMap.get:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Ljava/lang/Object;
checkcast java.util.ArrayList
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/lir/LIR;
0 1 1 block Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
Signature: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;)Ljava/util/ArrayList<Lorg/graalvm/compiler/lir/LIRInstruction;>;
MethodParameters:
Name Flags
block
public void setLIRforBlock(org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>, java.util.ArrayList<org.graalvm.compiler.lir.LIRInstruction>);
descriptor: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Ljava/util/ArrayList;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic org.graalvm.compiler.lir.LIR.$assertionsDisabled:Z
ifne 1
aload 0
aload 1
invokevirtual org.graalvm.compiler.lir.LIR.getLIRforBlock:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Ljava/util/ArrayList;
ifnull 1
new java.lang.AssertionError
dup
ldc "lir instruction list should only be initialized once"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.lir.LIR.lirInstructions:Lorg/graalvm/compiler/core/common/cfg/BlockMap;
aload 1
aload 2
invokevirtual org.graalvm.compiler.core.common.cfg.BlockMap.put:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Ljava/lang/Object;)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/lir/LIR;
0 3 1 block Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
0 3 2 list Ljava/util/ArrayList<Lorg/graalvm/compiler/lir/LIRInstruction;>;
Signature: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;Ljava/util/ArrayList<Lorg/graalvm/compiler/lir/LIRInstruction;>;)V
MethodParameters:
Name Flags
block
list
public org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>[] linearScanOrder();
descriptor: ()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.lir.LIR.linearScanOrder:[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/lir/LIR;
Signature: ()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
public org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>[] codeEmittingOrder();
descriptor: ()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.lir.LIR.codeEmittingOrder:[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/lir/LIR;
Signature: ()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
public void setHasArgInCallerFrame();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
putfield org.graalvm.compiler.lir.LIR.hasArgInCallerFrame:Z
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/lir/LIR;
public boolean hasArgInCallerFrame();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.lir.LIR.hasArgInCallerFrame:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/lir/LIR;
public static org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?> getNextBlock(org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>[], int);
descriptor: ([Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;I)Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: iload 1
iconst_1
iadd
istore 2
start local 2 1: goto 6
2: StackMap locals: int
StackMap stack:
aload 0
iload 2
aaload
astore 3
start local 3 3: aload 3
ifnull 5
4: aload 3
areturn
end local 3 5: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
6: iload 2
ifle 7
iload 2
aload 0
arraylength
if_icmplt 2
end local 2 7: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 blocks [Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
0 8 1 blockIndex I
1 7 2 nextIndex I
3 5 3 nextBlock Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
Signature: ([Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;I)Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
MethodParameters:
Name Flags
blocks
blockIndex
public static org.graalvm.compiler.lir.LabelRef getExceptionEdge(org.graalvm.compiler.lir.LIRInstruction);
descriptor: (Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LabelRef;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: iconst_1
anewarray org.graalvm.compiler.lir.LabelRef
astore 1
start local 1 1: aload 0
aload 1
invokedynamic doState([Lorg/graalvm/compiler/lir/LabelRef;)Lorg/graalvm/compiler/lir/StateProcedure;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Lorg/graalvm/compiler/lir/LIRFrameState;)V
org/graalvm/compiler/lir/LIR.lambda$0([Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LIRFrameState;)V (6)
(Lorg/graalvm/compiler/lir/LIRFrameState;)V
invokevirtual org.graalvm.compiler.lir.LIRInstruction.forEachState:(Lorg/graalvm/compiler/lir/StateProcedure;)V
2: aload 1
iconst_0
aaload
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 op Lorg/graalvm/compiler/lir/LIRInstruction;
1 3 1 exceptionEdge [Lorg/graalvm/compiler/lir/LabelRef;
MethodParameters:
Name Flags
op
public static boolean verifyBlock(org.graalvm.compiler.lir.LIR, org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>);
descriptor: (Lorg/graalvm/compiler/lir/LIR;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=10, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.graalvm.compiler.lir.LIR.getLIRforBlock:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Ljava/util/ArrayList;
astore 2
start local 2 1: aload 2
invokevirtual java.util.ArrayList.size:()I
ifne 3
2: iconst_0
ireturn
3: StackMap locals: java.util.ArrayList
StackMap stack:
getstatic org.graalvm.compiler.lir.LIR.$assertionsDisabled:Z
ifne 4
aload 2
iconst_0
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
instanceof org.graalvm.compiler.lir.StandardOp$LabelOp
ifne 4
new java.lang.AssertionError
dup
ldc "Not a Label %s (Block %s)"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 2
iconst_0
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast org.graalvm.compiler.lir.LIRInstruction
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aastore
dup
iconst_1
aload 1
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
4: StackMap locals:
StackMap stack:
aconst_null
astore 3
start local 3 5: iconst_0
istore 4
start local 4 6: aload 2
invokevirtual java.util.ArrayList.size:()I
iconst_1
isub
istore 5
start local 5 7: aload 2
iconst_0
iload 5
invokevirtual java.util.ArrayList.subList:(II)Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 17
StackMap locals: org.graalvm.compiler.lir.LIR org.graalvm.compiler.core.common.cfg.AbstractBlockBase java.util.ArrayList org.graalvm.compiler.lir.LIRInstruction int int top java.util.Iterator
StackMap stack:
8: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.lir.LIRInstruction
astore 6
start local 6 9: getstatic org.graalvm.compiler.lir.LIR.$assertionsDisabled:Z
ifne 10
aload 6
instanceof org.graalvm.compiler.lir.StandardOp$BlockEndOp
ifeq 10
new java.lang.AssertionError
dup
ldc "BlockEndOp %s (Block %s)"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 6
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aastore
dup
iconst_1
aload 1
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
10: StackMap locals: org.graalvm.compiler.lir.LIR org.graalvm.compiler.core.common.cfg.AbstractBlockBase java.util.ArrayList org.graalvm.compiler.lir.LIRInstruction int int org.graalvm.compiler.lir.LIRInstruction java.util.Iterator
StackMap stack:
aload 6
invokestatic org.graalvm.compiler.lir.LIR.getExceptionEdge:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LabelRef;
astore 8
start local 8 11: aload 8
ifnull 16
12: getstatic org.graalvm.compiler.lir.LIR.$assertionsDisabled:Z
ifne 13
aload 3
ifnull 13
new java.lang.AssertionError
dup
ldc "multiple ops with an exception edge not allowed"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
13: StackMap locals: org.graalvm.compiler.lir.LabelRef
StackMap stack:
aload 6
astore 3
14: iload 5
iload 4
isub
istore 9
start local 9 15: getstatic org.graalvm.compiler.lir.LIR.$assertionsDisabled:Z
ifne 16
iload 9
iconst_3
if_icmple 16
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 9 16: StackMap locals:
StackMap stack:
iinc 4 1
end local 8 end local 6 17: StackMap locals: org.graalvm.compiler.lir.LIR org.graalvm.compiler.core.common.cfg.AbstractBlockBase java.util.ArrayList org.graalvm.compiler.lir.LIRInstruction int int top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
18: aload 2
iload 5
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast org.graalvm.compiler.lir.LIRInstruction
astore 6
start local 6 19: getstatic org.graalvm.compiler.lir.LIR.$assertionsDisabled:Z
ifne 20
aload 6
instanceof org.graalvm.compiler.lir.StandardOp$BlockEndOp
ifne 20
new java.lang.AssertionError
dup
ldc "Not a BlockEndOp %s (Block %s)"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 6
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aastore
dup
iconst_1
aload 1
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
20: StackMap locals: org.graalvm.compiler.lir.LIR org.graalvm.compiler.core.common.cfg.AbstractBlockBase java.util.ArrayList org.graalvm.compiler.lir.LIRInstruction int int org.graalvm.compiler.lir.LIRInstruction
StackMap stack:
iconst_1
ireturn
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 lir Lorg/graalvm/compiler/lir/LIR;
0 21 1 block Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
1 21 2 ops Ljava/util/ArrayList<Lorg/graalvm/compiler/lir/LIRInstruction;>;
5 21 3 opWithExceptionEdge Lorg/graalvm/compiler/lir/LIRInstruction;
6 21 4 index I
7 21 5 lastIndex I
9 17 6 op Lorg/graalvm/compiler/lir/LIRInstruction;
11 17 8 exceptionEdge Lorg/graalvm/compiler/lir/LabelRef;
15 16 9 distanceFromEnd I
19 21 6 end Lorg/graalvm/compiler/lir/LIRInstruction;
Signature: (Lorg/graalvm/compiler/lir/LIR;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;)Z
MethodParameters:
Name Flags
lir
block
public static boolean verifyBlocks(org.graalvm.compiler.lir.LIR, org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>[]);
descriptor: (Lorg/graalvm/compiler/lir/LIR;[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=10, args_size=2
start local 0 start local 1 0: aload 1
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 17
StackMap locals: org.graalvm.compiler.lir.LIR org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] top int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
StackMap stack:
1: aload 5
iload 3
aaload
astore 2
start local 2 2: aload 2
ifnonnull 4
3: goto 16
4: StackMap locals: org.graalvm.compiler.lir.LIR org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] org.graalvm.compiler.core.common.cfg.AbstractBlockBase int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
StackMap stack:
aload 2
invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getSuccessors:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 8
StackMap locals: org.graalvm.compiler.lir.LIR org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] org.graalvm.compiler.core.common.cfg.AbstractBlockBase int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] top int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
StackMap stack:
5: aload 9
iload 7
aaload
astore 6
start local 6 6: getstatic org.graalvm.compiler.lir.LIR.$assertionsDisabled:Z
ifne 7
aload 1
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
aload 6
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
ifne 7
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "missing successor from: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "to: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 6 7: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
8: iload 7
iload 8
if_icmplt 5
9: aload 2
invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getPredecessors:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 13
StackMap locals:
StackMap stack:
10: aload 9
iload 7
aaload
astore 6
start local 6 11: getstatic org.graalvm.compiler.lir.LIR.$assertionsDisabled:Z
ifne 12
aload 1
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
aload 6
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
ifne 12
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "missing predecessor from: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "to: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 6 12: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
13: iload 7
iload 8
if_icmplt 10
14: aload 0
aload 2
invokestatic org.graalvm.compiler.lir.LIR.verifyBlock:(Lorg/graalvm/compiler/lir/LIR;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Z
ifne 16
15: iconst_0
ireturn
end local 2 16: StackMap locals: org.graalvm.compiler.lir.LIR org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] top int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
17: iload 3
iload 4
if_icmplt 1
18: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 lir Lorg/graalvm/compiler/lir/LIR;
0 19 1 blocks [Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
2 16 2 block Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
6 7 6 sux Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
11 12 6 pred Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
Signature: (Lorg/graalvm/compiler/lir/LIR;[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;)Z
MethodParameters:
Name Flags
lir
blocks
public void resetLabels();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=7, args_size=1
start local 0 0: aload 0
invokevirtual org.graalvm.compiler.lir.LIR.codeEmittingOrder:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 10
StackMap locals: org.graalvm.compiler.lir.LIR top int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
StackMap stack:
1: aload 4
iload 2
aaload
astore 1
start local 1 2: aload 1
ifnonnull 4
3: goto 9
4: StackMap locals: org.graalvm.compiler.lir.LIR org.graalvm.compiler.core.common.cfg.AbstractBlockBase int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
StackMap stack:
aload 0
getfield org.graalvm.compiler.lir.LIR.lirInstructions:Lorg/graalvm/compiler/core/common/cfg/BlockMap;
aload 1
invokevirtual org.graalvm.compiler.core.common.cfg.BlockMap.get:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Ljava/lang/Object;
checkcast java.util.ArrayList
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 6
goto 8
StackMap locals: org.graalvm.compiler.lir.LIR org.graalvm.compiler.core.common.cfg.AbstractBlockBase int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] top java.util.Iterator
StackMap stack:
5: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.lir.LIRInstruction
astore 5
start local 5 6: aload 5
instanceof org.graalvm.compiler.lir.StandardOp$LabelOp
ifeq 8
7: aload 5
checkcast org.graalvm.compiler.lir.StandardOp$LabelOp
invokevirtual org.graalvm.compiler.lir.StandardOp$LabelOp.getLabel:()Lorg/graalvm/compiler/asm/Label;
invokevirtual org.graalvm.compiler.asm.Label.reset:()V
end local 5 8: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
end local 1 9: StackMap locals: org.graalvm.compiler.lir.LIR top int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
10: iload 2
iload 3
if_icmplt 1
11: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/graalvm/compiler/lir/LIR;
2 9 1 block Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
6 8 5 inst Lorg/graalvm/compiler/lir/LIRInstruction;
private static void lambda$0(org.graalvm.compiler.lir.LabelRef[], org.graalvm.compiler.lir.LIRFrameState);
descriptor: ([Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LIRFrameState;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=2, args_size=2
start local 1 0: aload 1
getfield org.graalvm.compiler.lir.LIRFrameState.exceptionEdge:Lorg/graalvm/compiler/lir/LabelRef;
ifnull 3
1: getstatic org.graalvm.compiler.lir.LIR.$assertionsDisabled:Z
ifne 2
aload 0
iconst_0
aaload
ifnull 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
iconst_0
aload 1
getfield org.graalvm.compiler.lir.LIRFrameState.exceptionEdge:Lorg/graalvm/compiler/lir/LabelRef;
aastore
3: StackMap locals:
StackMap stack:
return
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 4 1 state Lorg/graalvm/compiler/lir/LIRFrameState;
}
SourceFile: "LIR.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract BlockEndOp = org.graalvm.compiler.lir.StandardOp$BlockEndOp of org.graalvm.compiler.lir.StandardOp
public final LabelOp = org.graalvm.compiler.lir.StandardOp$LabelOp of org.graalvm.compiler.lir.StandardOp
public abstract VariableProvider = org.graalvm.compiler.lir.gen.LIRGenerator$VariableProvider of org.graalvm.compiler.lir.gen.LIRGenerator