public class org.graalvm.compiler.phases.contract.NodeCostUtil
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.phases.contract.NodeCostUtil
super_class: java.lang.Object
{
private static final org.graalvm.compiler.debug.CounterKey sizeComputationCount;
descriptor: Lorg/graalvm/compiler/debug/CounterKey;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.graalvm.compiler.debug.CounterKey sizeVerificationCount;
descriptor: Lorg/graalvm/compiler/debug/CounterKey;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final double DELTA;
descriptor: D
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0.001
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/phases/contract/NodeCostUtil;
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.phases.contract.NodeCostUtil.$assertionsDisabled:Z
3: ldc "GraphCostComputationCount_Size"
invokestatic org.graalvm.compiler.debug.DebugContext.counter:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/CounterKey;
putstatic org.graalvm.compiler.phases.contract.NodeCostUtil.sizeComputationCount:Lorg/graalvm/compiler/debug/CounterKey;
4: ldc "GraphCostVerificationCount_Size"
invokestatic org.graalvm.compiler.debug.DebugContext.counter:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/CounterKey;
putstatic org.graalvm.compiler.phases.contract.NodeCostUtil.sizeVerificationCount:Lorg/graalvm/compiler/debug/CounterKey;
5: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/phases/contract/NodeCostUtil;
public static int computeNodesSize(java.lang.Iterable<org.graalvm.compiler.graph.Node>);
descriptor: (Ljava/lang/Iterable;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: aload 0
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 3
goto 4
StackMap locals: java.lang.Iterable int top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 2
start local 2 3: iload 1
aload 2
invokevirtual org.graalvm.compiler.graph.Node.estimatedNodeSize:()Lorg/graalvm/compiler/nodeinfo/NodeSize;
getfield org.graalvm.compiler.nodeinfo.NodeSize.value:I
iadd
istore 1
end local 2 4: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: getstatic org.graalvm.compiler.phases.contract.NodeCostUtil.$assertionsDisabled:Z
ifne 6
iload 1
ifge 6
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
6: StackMap locals: java.lang.Iterable int
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 nodes Ljava/lang/Iterable<Lorg/graalvm/compiler/graph/Node;>;
1 7 1 size I
3 4 2 n Lorg/graalvm/compiler/graph/Node;
Signature: (Ljava/lang/Iterable<Lorg/graalvm/compiler/graph/Node;>;)I
MethodParameters:
Name Flags
nodes
public static int computeGraphSize(org.graalvm.compiler.nodes.StructuredGraph);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: getstatic org.graalvm.compiler.phases.contract.NodeCostUtil.sizeComputationCount:Lorg/graalvm/compiler/debug/CounterKey;
aload 0
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
invokeinterface org.graalvm.compiler.debug.CounterKey.increment:(Lorg/graalvm/compiler/debug/DebugContext;)V
1: iconst_0
istore 1
start local 1 2: aload 0
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 3
goto 5
StackMap locals: org.graalvm.compiler.nodes.StructuredGraph int top java.util.Iterator
StackMap stack:
3: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 2
start local 2 4: iload 1
aload 2
invokevirtual org.graalvm.compiler.graph.Node.estimatedNodeSize:()Lorg/graalvm/compiler/nodeinfo/NodeSize;
getfield org.graalvm.compiler.nodeinfo.NodeSize.value:I
iadd
istore 1
end local 2 5: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
6: getstatic org.graalvm.compiler.phases.contract.NodeCostUtil.$assertionsDisabled:Z
ifne 7
iload 1
ifge 7
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
7: StackMap locals: org.graalvm.compiler.nodes.StructuredGraph int
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
2 8 1 size I
4 5 2 n Lorg/graalvm/compiler/graph/Node;
MethodParameters:
Name Flags
graph
public static double computeGraphCycles(org.graalvm.compiler.nodes.StructuredGraph, boolean);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Z)D
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=18, args_size=2
start local 0 start local 1 0: iload 1
ifeq 6
1: new org.graalvm.compiler.phases.schedule.SchedulePhase
dup
getstatic org.graalvm.compiler.phases.schedule.SchedulePhase$SchedulingStrategy.LATEST_OUT_OF_LOOPS:Lorg/graalvm/compiler/phases/schedule/SchedulePhase$SchedulingStrategy;
iconst_1
invokespecial org.graalvm.compiler.phases.schedule.SchedulePhase.<init>:(Lorg/graalvm/compiler/phases/schedule/SchedulePhase$SchedulingStrategy;Z)V
astore 4
start local 4 2: aload 4
aload 0
invokevirtual org.graalvm.compiler.phases.schedule.SchedulePhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
3: aload 0
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getLastSchedule:()Lorg/graalvm/compiler/nodes/StructuredGraph$ScheduleResult;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult.getCFG:()Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
astore 3
start local 3 4: aload 0
invokedynamic apply(Lorg/graalvm/compiler/nodes/StructuredGraph;)Ljava/util/function/Function;
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;
org/graalvm/compiler/phases/contract/NodeCostUtil.lambda$0(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/cfg/Block;)Ljava/lang/Iterable; (6)
(Lorg/graalvm/compiler/nodes/cfg/Block;)Ljava/lang/Iterable;
astore 2
end local 4 start local 2 5: goto 19
end local 3 end local 2 6: StackMap locals:
StackMap stack:
aload 0
iconst_1
iconst_1
iconst_0
iconst_0
invokestatic org.graalvm.compiler.nodes.cfg.ControlFlowGraph.compute:(Lorg/graalvm/compiler/nodes/StructuredGraph;ZZZZ)Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
astore 3
start local 3 7: new org.graalvm.compiler.core.common.cfg.BlockMap
dup
aload 3
invokespecial org.graalvm.compiler.core.common.cfg.BlockMap.<init>:(Lorg/graalvm/compiler/core/common/cfg/AbstractControlFlowGraph;)V
astore 4
start local 4 8: aload 3
invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.getBlocks:()[Lorg/graalvm/compiler/nodes/cfg/Block;
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 17
StackMap locals: org.graalvm.compiler.nodes.StructuredGraph int top org.graalvm.compiler.nodes.cfg.ControlFlowGraph org.graalvm.compiler.core.common.cfg.BlockMap top int int org.graalvm.compiler.nodes.cfg.Block[]
StackMap stack:
9: aload 8
iload 6
aaload
astore 5
start local 5 10: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 9
start local 9 11: aload 5
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getNodes:()Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 11
goto 14
StackMap locals: org.graalvm.compiler.nodes.StructuredGraph int top org.graalvm.compiler.nodes.cfg.ControlFlowGraph org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.nodes.cfg.Block int int org.graalvm.compiler.nodes.cfg.Block[] java.util.ArrayList top java.util.Iterator
StackMap stack:
12: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.FixedNode
astore 10
start local 10 13: aload 9
aload 10
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 10 14: StackMap locals:
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 12
15: aload 4
aload 5
aload 9
invokevirtual org.graalvm.compiler.core.common.cfg.BlockMap.put:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Ljava/lang/Object;)V
end local 9 end local 5 16: iinc 6 1
StackMap locals: org.graalvm.compiler.nodes.StructuredGraph int top org.graalvm.compiler.nodes.cfg.ControlFlowGraph org.graalvm.compiler.core.common.cfg.BlockMap top int int org.graalvm.compiler.nodes.cfg.Block[]
StackMap stack:
17: iload 6
iload 7
if_icmplt 9
18: aload 4
invokedynamic apply(Lorg/graalvm/compiler/core/common/cfg/BlockMap;)Ljava/util/function/Function;
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;
org/graalvm/compiler/phases/contract/NodeCostUtil.lambda$1(Lorg/graalvm/compiler/core/common/cfg/BlockMap;Lorg/graalvm/compiler/nodes/cfg/Block;)Ljava/lang/Iterable; (6)
(Lorg/graalvm/compiler/nodes/cfg/Block;)Ljava/lang/Iterable;
astore 2
end local 4 start local 2 19: StackMap locals: org.graalvm.compiler.nodes.StructuredGraph int java.util.function.Function org.graalvm.compiler.nodes.cfg.ControlFlowGraph
StackMap stack:
dconst_0
dstore 4
start local 4 20: aload 0
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
astore 6
start local 6 21: aconst_null
astore 7
aconst_null
astore 8
22: aload 6
ldc "NodeCostSummary"
invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
astore 9
start local 9 23: aload 3
invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.getBlocks:()[Lorg/graalvm/compiler/nodes/cfg/Block;
dup
astore 13
arraylength
istore 12
iconst_0
istore 11
goto 36
StackMap locals: org.graalvm.compiler.nodes.StructuredGraph int java.util.function.Function org.graalvm.compiler.nodes.cfg.ControlFlowGraph double org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope top int int org.graalvm.compiler.nodes.cfg.Block[]
StackMap stack:
24: aload 13
iload 11
aaload
astore 10
start local 10 25: aload 2
aload 10
invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Iterable
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 15
goto 34
StackMap locals: org.graalvm.compiler.nodes.StructuredGraph int java.util.function.Function org.graalvm.compiler.nodes.cfg.ControlFlowGraph double org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.nodes.cfg.Block int int org.graalvm.compiler.nodes.cfg.Block[] top java.util.Iterator
StackMap stack:
26: aload 15
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 14
start local 14 27: aload 14
invokevirtual org.graalvm.compiler.graph.Node.estimatedNodeCycles:()Lorg/graalvm/compiler/nodeinfo/NodeCycles;
getfield org.graalvm.compiler.nodeinfo.NodeCycles.value:I
i2d
aload 10
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getRelativeFrequency:()D
dmul
dstore 16
start local 16 28: getstatic org.graalvm.compiler.phases.contract.NodeCostUtil.$assertionsDisabled:Z
ifne 29
dload 16
invokestatic java.lang.Double.isFinite:(D)Z
ifne 29
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
29: StackMap locals: org.graalvm.compiler.nodes.StructuredGraph int java.util.function.Function org.graalvm.compiler.nodes.cfg.ControlFlowGraph double org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.nodes.cfg.Block int int org.graalvm.compiler.nodes.cfg.Block[] org.graalvm.compiler.graph.Node java.util.Iterator double
StackMap stack:
dload 4
dload 16
dadd
dstore 4
30: aload 6
invokevirtual org.graalvm.compiler.debug.DebugContext.isLogEnabled:()Z
ifeq 34
31: aload 6
ldc "Node %s contributes cycles:%f size:%d to graph %s [block freq:%f]"
aload 14
aload 14
invokevirtual org.graalvm.compiler.graph.Node.estimatedNodeCycles:()Lorg/graalvm/compiler/nodeinfo/NodeCycles;
getfield org.graalvm.compiler.nodeinfo.NodeCycles.value:I
i2d
aload 10
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getRelativeFrequency:()D
dmul
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
32: aload 14
invokevirtual org.graalvm.compiler.graph.Node.estimatedNodeSize:()Lorg/graalvm/compiler/nodeinfo/NodeSize;
getfield org.graalvm.compiler.nodeinfo.NodeSize.value:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 0
aload 10
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getRelativeFrequency:()D
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
33: invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
end local 16 end local 14 34: StackMap locals: org.graalvm.compiler.nodes.StructuredGraph int java.util.function.Function org.graalvm.compiler.nodes.cfg.ControlFlowGraph double org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.nodes.cfg.Block int int org.graalvm.compiler.nodes.cfg.Block[] top java.util.Iterator
StackMap stack:
aload 15
invokeinterface java.util.Iterator.hasNext:()Z
ifne 26
end local 10 35: iinc 11 1
StackMap locals: org.graalvm.compiler.nodes.StructuredGraph int java.util.function.Function org.graalvm.compiler.nodes.cfg.ControlFlowGraph double org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope top int int org.graalvm.compiler.nodes.cfg.Block[]
StackMap stack:
36: iload 11
iload 12
if_icmplt 24
37: aload 9
ifnull 43
aload 9
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
goto 43
StackMap locals: org.graalvm.compiler.nodes.StructuredGraph int java.util.function.Function org.graalvm.compiler.nodes.cfg.ControlFlowGraph double org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope
StackMap stack: java.lang.Throwable
38: astore 7
aload 9
ifnull 39
aload 9
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
end local 9 StackMap locals:
StackMap stack:
39: aload 7
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
40: astore 8
aload 7
ifnonnull 41
aload 8
astore 7
goto 42
StackMap locals:
StackMap stack:
41: aload 7
aload 8
if_acmpeq 42
aload 7
aload 8
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
42: aload 7
athrow
43: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.phases.contract.NodeCostUtil.$assertionsDisabled:Z
ifne 44
dload 4
dconst_0
dcmpl
ifge 44
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
44: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.phases.contract.NodeCostUtil.$assertionsDisabled:Z
ifne 45
dload 4
invokestatic java.lang.Double.isFinite:(D)Z
ifne 45
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
45: StackMap locals:
StackMap stack:
dload 4
dreturn
end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 46 0 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 46 1 fullSchedule Z
5 6 2 blockToNodes Ljava/util/function/Function<Lorg/graalvm/compiler/nodes/cfg/Block;Ljava/lang/Iterable<+Lorg/graalvm/compiler/graph/Node;>;>;
19 46 2 blockToNodes Ljava/util/function/Function<Lorg/graalvm/compiler/nodes/cfg/Block;Ljava/lang/Iterable<+Lorg/graalvm/compiler/graph/Node;>;>;
4 6 3 cfg Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
7 46 3 cfg Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
2 5 4 schedule Lorg/graalvm/compiler/phases/schedule/SchedulePhase;
8 19 4 nodes Lorg/graalvm/compiler/core/common/cfg/BlockMap<Ljava/util/List<Lorg/graalvm/compiler/nodes/FixedNode;>;>;
10 16 5 b Lorg/graalvm/compiler/nodes/cfg/Block;
11 16 9 curNodes Ljava/util/ArrayList<Lorg/graalvm/compiler/nodes/FixedNode;>;
13 14 10 node Lorg/graalvm/compiler/nodes/FixedNode;
20 46 4 weightedCycles D
21 46 6 debug Lorg/graalvm/compiler/debug/DebugContext;
23 39 9 s Lorg/graalvm/compiler/debug/DebugContext$Scope;
25 35 10 block Lorg/graalvm/compiler/nodes/cfg/Block;
27 34 14 n Lorg/graalvm/compiler/graph/Node;
28 34 16 probWeighted D
Exception table:
from to target type
23 37 38 any
22 40 40 any
MethodParameters:
Name Flags
graph
fullSchedule
private static int deltaCompare(double, double, double);
descriptor: (DDD)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 2 start local 4 0: dload 0
dload 2
dsub
invokestatic java.lang.Math.abs:(D)D
dload 4
dcmpg
ifgt 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
dload 0
dload 2
invokestatic java.lang.Double.compare:(DD)I
ireturn
end local 4 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 a D
0 3 2 b D
0 3 4 delta D
MethodParameters:
Name Flags
a
b
delta
public static void phaseFulfillsSizeContract(org.graalvm.compiler.nodes.StructuredGraph, int, int, org.graalvm.compiler.phases.contract.PhaseSizeContract);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;IILorg/graalvm/compiler/phases/contract/PhaseSizeContract;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=9, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic org.graalvm.compiler.phases.contract.NodeCostUtil.sizeVerificationCount:Lorg/graalvm/compiler/debug/CounterKey;
aload 0
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
invokeinterface org.graalvm.compiler.debug.CounterKey.increment:(Lorg/graalvm/compiler/debug/DebugContext;)V
1: aload 3
invokeinterface org.graalvm.compiler.phases.contract.PhaseSizeContract.codeSizeIncrease:()F
f2d
dstore 4
start local 4 2: iload 1
i2d
ldc 0.001
dmul
dstore 6
start local 6 3: iload 2
i2d
iload 1
i2d
dload 4
dmul
dload 6
invokestatic org.graalvm.compiler.phases.contract.NodeCostUtil.deltaCompare:(DDD)I
ifle 11
4: aload 0
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.method:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
astore 8
start local 8 5: iload 2
i2d
iload 1
i2d
ddiv
dstore 9
start local 9 6: new org.graalvm.compiler.graph.VerificationError
dup
ldc "Phase %s expects to increase code size by at most a factor of %.2f but an increase of %.2f was seen (code size before: %d, after: %d)%s"
bipush 6
anewarray java.lang.Object
dup
iconst_0
7: aload 3
invokeinterface org.graalvm.compiler.phases.contract.PhaseSizeContract.contractorName:()Ljava/lang/String;
aastore
dup
iconst_1
dload 4
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
dup
iconst_2
dload 9
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
dup
iconst_3
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_4
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_5
8: aload 8
ifnull 9
new java.lang.StringBuilder
dup
ldc " when compiling method "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
ldc "%H.%n(%p)"
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.format:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
goto 10
StackMap locals: org.graalvm.compiler.nodes.StructuredGraph int int org.graalvm.compiler.phases.contract.PhaseSizeContract double double jdk.vm.ci.meta.ResolvedJavaMethod double
StackMap stack: new 6 new 6 java.lang.String java.lang.Object[] java.lang.Object[] int
9: ldc "."
10: StackMap locals: org.graalvm.compiler.nodes.StructuredGraph int int org.graalvm.compiler.phases.contract.PhaseSizeContract double double jdk.vm.ci.meta.ResolvedJavaMethod double
StackMap stack: new 6 new 6 java.lang.String java.lang.Object[] java.lang.Object[] int java.lang.String
aastore
invokespecial org.graalvm.compiler.graph.VerificationError.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
athrow
end local 9 end local 8 11: StackMap locals:
StackMap stack:
return
end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 12 1 codeSizeBefore I
0 12 2 codeSizeAfter I
0 12 3 contract Lorg/graalvm/compiler/phases/contract/PhaseSizeContract;
2 12 4 codeSizeIncrease D
3 12 6 graphSizeDelta D
5 11 8 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
6 11 9 increase D
MethodParameters:
Name Flags
graph
codeSizeBefore
codeSizeAfter
contract
private static java.lang.Iterable lambda$0(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.nodes.cfg.Block);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/cfg/Block;)Ljava/lang/Iterable;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 0
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getLastSchedule:()Lorg/graalvm/compiler/nodes/StructuredGraph$ScheduleResult;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult.getBlockToNodesMap:()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.lang.Iterable
areturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 b Lorg/graalvm/compiler/nodes/cfg/Block;
private static java.lang.Iterable lambda$1(org.graalvm.compiler.core.common.cfg.BlockMap, org.graalvm.compiler.nodes.cfg.Block);
descriptor: (Lorg/graalvm/compiler/core/common/cfg/BlockMap;Lorg/graalvm/compiler/nodes/cfg/Block;)Ljava/lang/Iterable;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 0
aload 1
invokevirtual org.graalvm.compiler.core.common.cfg.BlockMap.get:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Ljava/lang/Object;
checkcast java.lang.Iterable
areturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 b Lorg/graalvm/compiler/nodes/cfg/Block;
}
SourceFile: "NodeCostUtil.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Scope = org.graalvm.compiler.debug.DebugContext$Scope of org.graalvm.compiler.debug.DebugContext
public ScheduleResult = org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult of org.graalvm.compiler.nodes.StructuredGraph
public final SchedulingStrategy = org.graalvm.compiler.phases.schedule.SchedulePhase$SchedulingStrategy of org.graalvm.compiler.phases.schedule.SchedulePhase