public final class org.graalvm.compiler.core.common.alloc.UniDirectionalTraceBuilder
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.graalvm.compiler.core.common.alloc.UniDirectionalTraceBuilder
super_class: java.lang.Object
{
private final java.util.PriorityQueue<org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>> worklist;
descriptor: Ljava/util/PriorityQueue;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/PriorityQueue<Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;>;
private final java.util.BitSet processed;
descriptor: Ljava/util/BitSet;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int[] blocked;
descriptor: [I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.graalvm.compiler.core.common.alloc.Trace[] blockToTrace;
descriptor: [Lorg/graalvm/compiler/core/common/alloc/Trace;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
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/core/common/alloc/UniDirectionalTraceBuilder;
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.core.common.alloc.UniDirectionalTraceBuilder.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public static org.graalvm.compiler.core.common.alloc.TraceBuilderResult computeTraces(org.graalvm.compiler.debug.DebugContext, org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>, org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>[], org.graalvm.compiler.core.common.alloc.TraceBuilderResult$TrivialTracePredicate);
descriptor: (Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/core/common/alloc/TraceBuilderResult$TrivialTracePredicate;)Lorg/graalvm/compiler/core/common/alloc/TraceBuilderResult;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new org.graalvm.compiler.core.common.alloc.UniDirectionalTraceBuilder
dup
aload 2
invokespecial org.graalvm.compiler.core.common.alloc.UniDirectionalTraceBuilder.<init>:([Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)V
aload 0
aload 1
aload 2
aload 3
invokevirtual org.graalvm.compiler.core.common.alloc.UniDirectionalTraceBuilder.build:(Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/core/common/alloc/TraceBuilderResult$TrivialTracePredicate;)Lorg/graalvm/compiler/core/common/alloc/TraceBuilderResult;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 debug Lorg/graalvm/compiler/debug/DebugContext;
0 1 1 startBlock Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
0 1 2 blocks [Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
0 1 3 pred Lorg/graalvm/compiler/core/common/alloc/TraceBuilderResult$TrivialTracePredicate;
Signature: (Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;Lorg/graalvm/compiler/core/common/alloc/TraceBuilderResult$TrivialTracePredicate;)Lorg/graalvm/compiler/core/common/alloc/TraceBuilderResult;
MethodParameters:
Name Flags
debug
startBlock
blocks
pred
private void <init>(org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>[]);
descriptor: ([Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.BitSet
dup
aload 1
arraylength
invokespecial java.util.BitSet.<init>:(I)V
putfield org.graalvm.compiler.core.common.alloc.UniDirectionalTraceBuilder.processed:Ljava/util/BitSet;
2: aload 0
new java.util.PriorityQueue
dup
invokedynamic compare()Ljava/util/Comparator;
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:
(Ljava/lang/Object;Ljava/lang/Object;)I
org/graalvm/compiler/core/common/alloc/UniDirectionalTraceBuilder.compare(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)I (6)
(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)I
invokespecial java.util.PriorityQueue.<init>:(Ljava/util/Comparator;)V
putfield org.graalvm.compiler.core.common.alloc.UniDirectionalTraceBuilder.worklist:Ljava/util/PriorityQueue;
3: getstatic org.graalvm.compiler.core.common.alloc.UniDirectionalTraceBuilder.$assertionsDisabled:Z
ifne 4
aload 0
getfield org.graalvm.compiler.core.common.alloc.UniDirectionalTraceBuilder.worklist:Ljava/util/PriorityQueue;
ifnonnull 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals: org.graalvm.compiler.core.common.alloc.UniDirectionalTraceBuilder org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
StackMap stack:
aload 0
aload 1
arraylength
newarray 10
putfield org.graalvm.compiler.core.common.alloc.UniDirectionalTraceBuilder.blocked:[I
5: aload 0
aload 1
arraylength
anewarray org.graalvm.compiler.core.common.alloc.Trace
putfield org.graalvm.compiler.core.common.alloc.UniDirectionalTraceBuilder.blockToTrace:[Lorg/graalvm/compiler/core/common/alloc/Trace;
6: aload 1
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 10
StackMap locals: org.graalvm.compiler.core.common.alloc.UniDirectionalTraceBuilder org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] top int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
StackMap stack:
7: aload 5
iload 3
aaload
astore 2
start local 2 8: aload 0
getfield org.graalvm.compiler.core.common.alloc.UniDirectionalTraceBuilder.blocked:[I
aload 2
invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getId:()I
aload 2
invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getPredecessorCount:()I
iastore
end local 2 9: iinc 3 1
StackMap locals:
StackMap stack:
10: iload 3
iload 4
if_icmplt 7
11: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/graalvm/compiler/core/common/alloc/UniDirectionalTraceBuilder;
0 12 1 blocks [Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
8 9 2 block Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
Signature: ([Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;)V
MethodParameters:
Name Flags
blocks
private static int compare(org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>, org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>);
descriptor: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.probability:()D
aload 0
invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.probability:()D
invokestatic java.lang.Double.compare:(DD)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 a Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
0 1 1 b Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
Signature: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;)I
MethodParameters:
Name Flags
a
b
private boolean processed(org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>);
descriptor: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.compiler.core.common.alloc.UniDirectionalTraceBuilder.processed:Ljava/util/BitSet;
aload 1
invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getId:()I
invokevirtual java.util.BitSet.get:(I)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/common/alloc/UniDirectionalTraceBuilder;
0 1 1 b Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
Signature: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;)Z
MethodParameters:
Name Flags
b
private org.graalvm.compiler.core.common.alloc.TraceBuilderResult build(org.graalvm.compiler.debug.DebugContext, org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>, org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>[], org.graalvm.compiler.core.common.alloc.TraceBuilderResult$TrivialTracePredicate);
descriptor: (Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/core/common/alloc/TraceBuilderResult$TrivialTracePredicate;)Lorg/graalvm/compiler/core/common/alloc/TraceBuilderResult;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aconst_null
astore 5
aconst_null
astore 6
1: aload 1
ldc "UniDirectionalTraceBuilder: start trace building: %s"
aload 2
invokevirtual org.graalvm.compiler.debug.DebugContext.logAndIndent:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/Indent;
astore 7
start local 7 2: aload 0
aload 1
aload 2
invokevirtual org.graalvm.compiler.core.common.alloc.UniDirectionalTraceBuilder.buildTraces:(Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Ljava/util/ArrayList;
astore 8
start local 8 3: aload 1
aload 3
aload 8
aload 0
getfield org.graalvm.compiler.core.common.alloc.UniDirectionalTraceBuilder.blockToTrace:[Lorg/graalvm/compiler/core/common/alloc/Trace;
aload 4
invokestatic org.graalvm.compiler.core.common.alloc.TraceBuilderResult.create:(Lorg/graalvm/compiler/debug/DebugContext;[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Ljava/util/ArrayList;[Lorg/graalvm/compiler/core/common/alloc/Trace;Lorg/graalvm/compiler/core/common/alloc/TraceBuilderResult$TrivialTracePredicate;)Lorg/graalvm/compiler/core/common/alloc/TraceBuilderResult;
4: aload 7
ifnull 5
aload 7
invokeinterface org.graalvm.compiler.debug.Indent.close:()V
5: StackMap locals: org.graalvm.compiler.core.common.alloc.UniDirectionalTraceBuilder org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.core.common.cfg.AbstractBlockBase org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] org.graalvm.compiler.core.common.alloc.TraceBuilderResult$TrivialTracePredicate java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent java.util.ArrayList
StackMap stack: org.graalvm.compiler.core.common.alloc.TraceBuilderResult
areturn
end local 8 StackMap locals: org.graalvm.compiler.core.common.alloc.UniDirectionalTraceBuilder org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.core.common.cfg.AbstractBlockBase org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] org.graalvm.compiler.core.common.alloc.TraceBuilderResult$TrivialTracePredicate java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent
StackMap stack: java.lang.Throwable
6: astore 5
7: aload 7
ifnull 8
aload 7
invokeinterface org.graalvm.compiler.debug.Indent.close:()V
end local 7 StackMap locals:
StackMap stack:
8: aload 5
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
9: astore 6
aload 5
ifnonnull 10
aload 6
astore 5
goto 11
StackMap locals:
StackMap stack:
10: aload 5
aload 6
if_acmpeq 11
aload 5
aload 6
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
11: aload 5
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/graalvm/compiler/core/common/alloc/UniDirectionalTraceBuilder;
0 12 1 debug Lorg/graalvm/compiler/debug/DebugContext;
0 12 2 startBlock Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
0 12 3 blocks [Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
0 12 4 pred Lorg/graalvm/compiler/core/common/alloc/TraceBuilderResult$TrivialTracePredicate;
2 8 7 indent Lorg/graalvm/compiler/debug/Indent;
3 6 8 traces Ljava/util/ArrayList<Lorg/graalvm/compiler/core/common/alloc/Trace;>;
Exception table:
from to target type
2 4 6 any
1 5 9 any
6 9 9 any
Signature: (Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;Lorg/graalvm/compiler/core/common/alloc/TraceBuilderResult$TrivialTracePredicate;)Lorg/graalvm/compiler/core/common/alloc/TraceBuilderResult;
MethodParameters:
Name Flags
debug
startBlock
blocks
pred
protected java.util.ArrayList<org.graalvm.compiler.core.common.alloc.Trace> buildTraces(org.graalvm.compiler.debug.DebugContext, org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>);
descriptor: (Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Ljava/util/ArrayList;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=10, args_size=3
start local 0 start local 1 start local 2 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 1: aload 0
getfield org.graalvm.compiler.core.common.alloc.UniDirectionalTraceBuilder.worklist:Ljava/util/PriorityQueue;
aload 2
invokevirtual java.util.PriorityQueue.add:(Ljava/lang/Object;)Z
pop
2: goto 14
3: StackMap locals: java.util.ArrayList
StackMap stack:
aload 0
getfield org.graalvm.compiler.core.common.alloc.UniDirectionalTraceBuilder.worklist:Ljava/util/PriorityQueue;
invokevirtual java.util.PriorityQueue.poll:()Ljava/lang/Object;
checkcast org.graalvm.compiler.core.common.cfg.AbstractBlockBase
astore 4
start local 4 4: getstatic org.graalvm.compiler.core.common.alloc.UniDirectionalTraceBuilder.$assertionsDisabled:Z
ifne 5
aload 4
ifnonnull 5
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
5: StackMap locals: org.graalvm.compiler.core.common.cfg.AbstractBlockBase
StackMap stack:
aload 0
aload 4
invokevirtual org.graalvm.compiler.core.common.alloc.UniDirectionalTraceBuilder.processed:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Z
ifne 14
6: new org.graalvm.compiler.core.common.alloc.Trace
dup
aload 0
aload 1
aload 4
invokevirtual org.graalvm.compiler.core.common.alloc.UniDirectionalTraceBuilder.findTrace:(Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Ljava/util/List;
invokespecial org.graalvm.compiler.core.common.alloc.Trace.<init>:(Ljava/util/Collection;)V
astore 5
start local 5 7: aload 5
invokevirtual org.graalvm.compiler.core.common.alloc.Trace.getBlocks:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 11
StackMap locals: org.graalvm.compiler.core.common.alloc.UniDirectionalTraceBuilder org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.core.common.cfg.AbstractBlockBase java.util.ArrayList org.graalvm.compiler.core.common.cfg.AbstractBlockBase org.graalvm.compiler.core.common.alloc.Trace top int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
StackMap stack:
8: aload 9
iload 7
aaload
astore 6
start local 6 9: aload 0
getfield org.graalvm.compiler.core.common.alloc.UniDirectionalTraceBuilder.blockToTrace:[Lorg/graalvm/compiler/core/common/alloc/Trace;
aload 6
invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getId:()I
aload 5
aastore
end local 6 10: iinc 7 1
StackMap locals:
StackMap stack:
11: iload 7
iload 8
if_icmplt 8
12: aload 5
aload 3
invokevirtual java.util.ArrayList.size:()I
invokevirtual org.graalvm.compiler.core.common.alloc.Trace.setId:(I)V
13: aload 3
aload 5
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 5 end local 4 14: StackMap locals: org.graalvm.compiler.core.common.alloc.UniDirectionalTraceBuilder org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.core.common.cfg.AbstractBlockBase java.util.ArrayList
StackMap stack:
aload 0
getfield org.graalvm.compiler.core.common.alloc.UniDirectionalTraceBuilder.worklist:Ljava/util/PriorityQueue;
invokevirtual java.util.PriorityQueue.isEmpty:()Z
ifeq 3
15: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/graalvm/compiler/core/common/alloc/UniDirectionalTraceBuilder;
0 16 1 debug Lorg/graalvm/compiler/debug/DebugContext;
0 16 2 startBlock Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
1 16 3 traces Ljava/util/ArrayList<Lorg/graalvm/compiler/core/common/alloc/Trace;>;
4 14 4 block Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
7 14 5 trace Lorg/graalvm/compiler/core/common/alloc/Trace;
9 10 6 traceBlock Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
Signature: (Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;)Ljava/util/ArrayList<Lorg/graalvm/compiler/core/common/alloc/Trace;>;
MethodParameters:
Name Flags
debug
startBlock
private java.util.List<org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>> findTrace(org.graalvm.compiler.debug.DebugContext, org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>);
descriptor: (Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=3
start local 0 start local 1 start local 2 0: getstatic org.graalvm.compiler.core.common.alloc.UniDirectionalTraceBuilder.$assertionsDisabled:Z
ifne 1
aload 0
aload 2
invokevirtual org.graalvm.compiler.core.common.alloc.UniDirectionalTraceBuilder.checkPredecessorsProcessed:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 2: iconst_0
istore 4
start local 4 3: aconst_null
astore 5
aconst_null
astore 6
4: aload 1
ldc "StartTrace: %s"
aload 2
invokevirtual org.graalvm.compiler.debug.DebugContext.logAndIndent:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/Indent;
astore 7
start local 7 5: aload 2
astore 8
start local 8 6: goto 13
7: StackMap locals: org.graalvm.compiler.core.common.alloc.UniDirectionalTraceBuilder org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.core.common.cfg.AbstractBlockBase java.util.ArrayList int java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent org.graalvm.compiler.core.common.cfg.AbstractBlockBase
StackMap stack:
aload 1
ldc "add %s (prob: %f)"
aload 8
aload 8
invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.probability:()D
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
8: aload 0
getfield org.graalvm.compiler.core.common.alloc.UniDirectionalTraceBuilder.processed:Ljava/util/BitSet;
aload 8
invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getId:()I
invokevirtual java.util.BitSet.set:(I)V
9: aload 3
aload 8
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
10: aload 0
aload 8
invokevirtual org.graalvm.compiler.core.common.alloc.UniDirectionalTraceBuilder.unblock:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)V
11: aload 8
iload 4
iinc 4 1
invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.setLinearScanNumber:(I)V
12: aload 0
aload 8
invokevirtual org.graalvm.compiler.core.common.alloc.UniDirectionalTraceBuilder.selectNext:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
astore 8
StackMap locals:
StackMap stack:
13: aload 8
ifnonnull 7
end local 8 14: aload 7
ifnull 20
aload 7
invokeinterface org.graalvm.compiler.debug.Indent.close:()V
goto 20
StackMap locals: org.graalvm.compiler.core.common.alloc.UniDirectionalTraceBuilder org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.core.common.cfg.AbstractBlockBase java.util.ArrayList int java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent
StackMap stack: java.lang.Throwable
15: astore 5
aload 7
ifnull 16
aload 7
invokeinterface org.graalvm.compiler.debug.Indent.close:()V
end local 7 StackMap locals:
StackMap stack:
16: aload 5
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
17: astore 6
aload 5
ifnonnull 18
aload 6
astore 5
goto 19
StackMap locals:
StackMap stack:
18: aload 5
aload 6
if_acmpeq 19
aload 5
aload 6
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
19: aload 5
athrow
20: StackMap locals:
StackMap stack:
aload 3
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lorg/graalvm/compiler/core/common/alloc/UniDirectionalTraceBuilder;
0 21 1 debug Lorg/graalvm/compiler/debug/DebugContext;
0 21 2 traceStart Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
2 21 3 trace Ljava/util/ArrayList<Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;>;
3 21 4 blockNumber I
5 16 7 i Lorg/graalvm/compiler/debug/Indent;
6 14 8 block Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
Exception table:
from to target type
5 14 15 any
4 17 17 any
Signature: (Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;)Ljava/util/List<Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;>;
MethodParameters:
Name Flags
debug
traceStart
private boolean checkPredecessorsProcessed(org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>);
descriptor: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getPredecessors:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 4
StackMap locals: org.graalvm.compiler.core.common.alloc.UniDirectionalTraceBuilder 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: getstatic org.graalvm.compiler.core.common.alloc.UniDirectionalTraceBuilder.$assertionsDisabled:Z
ifne 3
aload 0
aload 2
invokevirtual org.graalvm.compiler.core.common.alloc.UniDirectionalTraceBuilder.processed:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Z
ifne 3
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Predecessor unscheduled: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
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 2 3: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
4: iload 3
iload 4
if_icmplt 1
5: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/graalvm/compiler/core/common/alloc/UniDirectionalTraceBuilder;
0 6 1 block Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
2 3 2 pred Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
Signature: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;)Z
MethodParameters:
Name Flags
block
private void unblock(org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>);
descriptor: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getSuccessors:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 8
StackMap locals: org.graalvm.compiler.core.common.alloc.UniDirectionalTraceBuilder 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 0
aload 2
invokevirtual org.graalvm.compiler.core.common.alloc.UniDirectionalTraceBuilder.processed:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Z
ifne 7
3: aload 0
getfield org.graalvm.compiler.core.common.alloc.UniDirectionalTraceBuilder.blocked:[I
aload 2
invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getId:()I
dup2
iaload
iconst_1
isub
dup_x2
iastore
istore 6
start local 6 4: getstatic org.graalvm.compiler.core.common.alloc.UniDirectionalTraceBuilder.$assertionsDisabled:Z
ifne 5
iload 6
ifge 5
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
5: StackMap locals: org.graalvm.compiler.core.common.alloc.UniDirectionalTraceBuilder org.graalvm.compiler.core.common.cfg.AbstractBlockBase org.graalvm.compiler.core.common.cfg.AbstractBlockBase int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] int
StackMap stack:
iload 6
ifne 7
6: aload 0
getfield org.graalvm.compiler.core.common.alloc.UniDirectionalTraceBuilder.worklist:Ljava/util/PriorityQueue;
aload 2
invokevirtual java.util.PriorityQueue.add:(Ljava/lang/Object;)Z
pop
end local 6 end local 2 7: StackMap locals: org.graalvm.compiler.core.common.alloc.UniDirectionalTraceBuilder 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:
8: iload 3
iload 4
if_icmplt 1
9: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/graalvm/compiler/core/common/alloc/UniDirectionalTraceBuilder;
0 10 1 block Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
2 7 2 successor Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
4 7 6 blockCount I
Signature: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;)V
MethodParameters:
Name Flags
block
private org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?> selectNext(org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>);
descriptor: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 1
invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getSuccessors:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 6
StackMap locals: org.graalvm.compiler.core.common.alloc.UniDirectionalTraceBuilder org.graalvm.compiler.core.common.cfg.AbstractBlockBase org.graalvm.compiler.core.common.cfg.AbstractBlockBase top int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
StackMap stack:
2: aload 6
iload 4
aaload
astore 3
start local 3 3: aload 0
aload 3
invokevirtual org.graalvm.compiler.core.common.alloc.UniDirectionalTraceBuilder.processed:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Z
ifne 5
aload 2
ifnull 4
aload 3
invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.probability:()D
aload 2
invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.probability:()D
dcmpl
ifle 5
4: StackMap locals: org.graalvm.compiler.core.common.alloc.UniDirectionalTraceBuilder org.graalvm.compiler.core.common.cfg.AbstractBlockBase 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 3
astore 2
end local 3 5: StackMap locals: org.graalvm.compiler.core.common.alloc.UniDirectionalTraceBuilder org.graalvm.compiler.core.common.cfg.AbstractBlockBase org.graalvm.compiler.core.common.cfg.AbstractBlockBase top int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
6: iload 4
iload 5
if_icmplt 2
7: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/graalvm/compiler/core/common/alloc/UniDirectionalTraceBuilder;
0 8 1 block Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
1 8 2 next Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
3 5 3 successor Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
Signature: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;)Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
MethodParameters:
Name Flags
block
}
SourceFile: "UniDirectionalTraceBuilder.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract TrivialTracePredicate = org.graalvm.compiler.core.common.alloc.TraceBuilderResult$TrivialTracePredicate of org.graalvm.compiler.core.common.alloc.TraceBuilderResult