public class org.graalvm.compiler.printer.CFGPrinterObserver implements org.graalvm.compiler.debug.DebugDumpHandler
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.printer.CFGPrinterObserver
super_class: java.lang.Object
{
private org.graalvm.compiler.printer.CFGPrinter cfgPrinter;
descriptor: Lorg/graalvm/compiler/printer/CFGPrinter;
flags: (0x0002) ACC_PRIVATE
private java.io.File cfgFile;
descriptor: Ljava/io/File;
flags: (0x0002) ACC_PRIVATE
private jdk.vm.ci.meta.JavaMethod curMethod;
descriptor: Ljdk/vm/ci/meta/JavaMethod;
flags: (0x0002) ACC_PRIVATE
private java.util.List<java.lang.String> curDecorators;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/List<Ljava/lang/String;>;
private final boolean dumpFrontend;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private org.graalvm.compiler.lir.LIR lastLIR;
descriptor: Lorg/graalvm/compiler/lir/LIR;
flags: (0x0002) ACC_PRIVATE
private org.graalvm.compiler.lir.debug.IntervalDumper delayedIntervals;
descriptor: Lorg/graalvm/compiler/lir/debug/IntervalDumper;
flags: (0x0002) ACC_PRIVATE
public void <init>(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
invokespecial java.lang.Object.<init>:()V
1: aload 0
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
putfield org.graalvm.compiler.printer.CFGPrinterObserver.curDecorators:Ljava/util/List;
2: aload 0
aconst_null
putfield org.graalvm.compiler.printer.CFGPrinterObserver.lastLIR:Lorg/graalvm/compiler/lir/LIR;
3: aload 0
aconst_null
putfield org.graalvm.compiler.printer.CFGPrinterObserver.delayedIntervals:Lorg/graalvm/compiler/lir/debug/IntervalDumper;
4: aload 0
iload 1
putfield org.graalvm.compiler.printer.CFGPrinterObserver.dumpFrontend:Z
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/graalvm/compiler/printer/CFGPrinterObserver;
0 6 1 dumpFrontend Z
MethodParameters:
Name Flags
dumpFrontend
public void dump(java.lang.Object, java.lang.String);
descriptor: (Ljava/lang/Object;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual org.graalvm.compiler.printer.CFGPrinterObserver.dumpSandboxed:(Ljava/lang/Object;Ljava/lang/String;)V
1: goto 5
StackMap locals:
StackMap stack: java.lang.Throwable
2: astore 3
start local 3 3: new java.lang.StringBuilder
dup
ldc "CFGPrinter: Exception during output of "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.graalvm.compiler.debug.TTY.println:(Ljava/lang/String;)V
4: aload 3
invokevirtual java.lang.Throwable.printStackTrace:()V
end local 3 5: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/graalvm/compiler/printer/CFGPrinterObserver;
0 6 1 object Ljava/lang/Object;
0 6 2 message Ljava/lang/String;
3 5 3 ex Ljava/lang/Throwable;
Exception table:
from to target type
0 1 2 Class java.lang.Throwable
MethodParameters:
Name Flags
object
message
private boolean checkMethodScope();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
start local 2 2: invokestatic org.graalvm.compiler.debug.Debug.context:()Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 4
goto 18
StackMap locals: org.graalvm.compiler.printer.CFGPrinterObserver jdk.vm.ci.meta.JavaMethod java.util.ArrayList top java.util.Iterator
StackMap stack:
3: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 3
start local 3 4: aload 3
instanceof jdk.vm.ci.meta.JavaMethod
ifeq 8
5: aload 3
checkcast jdk.vm.ci.meta.JavaMethod
astore 1
6: aload 2
invokevirtual java.util.ArrayList.clear:()V
7: goto 18
StackMap locals: org.graalvm.compiler.printer.CFGPrinterObserver jdk.vm.ci.meta.JavaMethod java.util.ArrayList java.lang.Object java.util.Iterator
StackMap stack:
8: aload 3
instanceof org.graalvm.compiler.nodes.StructuredGraph
ifeq 14
9: aload 3
checkcast org.graalvm.compiler.nodes.StructuredGraph
astore 5
start local 5 10: aload 5
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.method:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
ifnull 18
11: aload 5
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.method:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
astore 1
12: aload 2
invokevirtual java.util.ArrayList.clear:()V
end local 5 13: goto 18
StackMap locals:
StackMap stack:
14: aload 3
instanceof org.graalvm.compiler.debug.DebugDumpScope
ifeq 18
15: aload 3
checkcast org.graalvm.compiler.debug.DebugDumpScope
astore 5
start local 5 16: aload 5
getfield org.graalvm.compiler.debug.DebugDumpScope.decorator:Z
ifeq 18
17: aload 2
aload 5
getfield org.graalvm.compiler.debug.DebugDumpScope.name:Ljava/lang/String;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 5 end local 3 18: StackMap locals: org.graalvm.compiler.printer.CFGPrinterObserver jdk.vm.ci.meta.JavaMethod java.util.ArrayList top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
19: aload 1
ifnonnull 21
20: iconst_0
ireturn
21: StackMap locals: org.graalvm.compiler.printer.CFGPrinterObserver jdk.vm.ci.meta.JavaMethod java.util.ArrayList
StackMap stack:
aload 1
aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.curMethod:Ljdk/vm/ci/meta/JavaMethod;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 22
aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.curDecorators:Ljava/util/List;
aload 2
invokeinterface java.util.List.equals:(Ljava/lang/Object;)Z
ifne 24
22: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
aload 1
invokevirtual org.graalvm.compiler.printer.CFGPrinter.printCompilation:(Ljdk/vm/ci/meta/JavaMethod;)V
23: ldc "CFGPrinter: Dumping method %s to %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgFile:Ljava/io/File;
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
aastore
invokestatic org.graalvm.compiler.debug.TTY.println:(Ljava/lang/String;[Ljava/lang/Object;)V
24: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield org.graalvm.compiler.printer.CFGPrinterObserver.curMethod:Ljdk/vm/ci/meta/JavaMethod;
25: aload 0
aload 2
putfield org.graalvm.compiler.printer.CFGPrinterObserver.curDecorators:Ljava/util/List;
26: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lorg/graalvm/compiler/printer/CFGPrinterObserver;
1 27 1 method Ljdk/vm/ci/meta/JavaMethod;
2 27 2 decorators Ljava/util/ArrayList<Ljava/lang/String;>;
4 18 3 o Ljava/lang/Object;
10 13 5 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
16 18 5 debugDumpScope Lorg/graalvm/compiler/debug/DebugDumpScope;
private static boolean isFrontendObject(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof org.graalvm.compiler.graph.Graph
ifne 1
aload 0
instanceof org.graalvm.compiler.java.BciBlockMapping
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 object Ljava/lang/Object;
MethodParameters:
Name Flags
object
public void dumpSandboxed(java.lang.Object, java.lang.String);
descriptor: (Ljava/lang/Object;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.dumpFrontend:Z
ifne 2
aload 1
invokestatic org.graalvm.compiler.printer.CFGPrinterObserver.isFrontendObject:(Ljava/lang/Object;)Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
ifnonnull 10
3: aload 0
invokestatic org.graalvm.compiler.printer.CFGPrinterObserver.getCFGPath:()Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.toFile:()Ljava/io/File;
putfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgFile:Ljava/io/File;
4: new java.io.BufferedOutputStream
dup
new java.io.FileOutputStream
dup
aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgFile:Ljava/io/File;
invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
invokespecial java.io.BufferedOutputStream.<init>:(Ljava/io/OutputStream;)V
astore 3
start local 3 5: aload 0
new org.graalvm.compiler.printer.CFGPrinter
dup
aload 3
invokespecial org.graalvm.compiler.printer.CFGPrinter.<init>:(Ljava/io/OutputStream;)V
putfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
end local 3 6: goto 9
StackMap locals:
StackMap stack: java.io.FileNotFoundException
7: pop
8: new org.graalvm.compiler.debug.GraalError
dup
new java.lang.StringBuilder
dup
ldc "Could not open "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgFile:Ljava/io/File;
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.graalvm.compiler.debug.GraalError.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals:
StackMap stack:
ldc "CFGPrinter: Output to file %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgFile:Ljava/io/File;
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
aastore
invokestatic org.graalvm.compiler.debug.TTY.println:(Ljava/lang/String;[Ljava/lang/Object;)V
10: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.printer.CFGPrinterObserver.checkMethodScope:()Z
ifne 12
11: return
12: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.curMethod:Ljdk/vm/ci/meta/JavaMethod;
instanceof jdk.vm.ci.meta.ResolvedJavaMethod
ifeq 14
13: aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.curMethod:Ljdk/vm/ci/meta/JavaMethod;
checkcast jdk.vm.ci.meta.ResolvedJavaMethod
putfield org.graalvm.compiler.printer.CFGPrinter.method:Ljdk/vm/ci/meta/ResolvedJavaMethod;
14: StackMap locals:
StackMap stack:
aload 1
instanceof org.graalvm.compiler.lir.LIR
ifeq 17
15: aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
aload 1
checkcast org.graalvm.compiler.lir.LIR
putfield org.graalvm.compiler.printer.CFGPrinter.lir:Lorg/graalvm/compiler/lir/LIR;
16: goto 18
17: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
ldc Lorg/graalvm/compiler/lir/LIR;
invokestatic org.graalvm.compiler.debug.Debug.contextLookup:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast org.graalvm.compiler.lir.LIR
putfield org.graalvm.compiler.printer.CFGPrinter.lir:Lorg/graalvm/compiler/lir/LIR;
18: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
ldc Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
invokestatic org.graalvm.compiler.debug.Debug.contextLookup:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast org.graalvm.compiler.core.gen.NodeLIRBuilder
putfield org.graalvm.compiler.printer.CFGPrinter.nodeLirGenerator:Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
19: aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
getfield org.graalvm.compiler.printer.CFGPrinter.nodeLirGenerator:Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
ifnull 21
20: aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
getfield org.graalvm.compiler.printer.CFGPrinter.nodeLirGenerator:Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.getLIRGeneratorTool:()Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.target:()Ljdk/vm/ci/code/TargetDescription;
putfield org.graalvm.compiler.printer.CFGPrinter.target:Ljdk/vm/ci/code/TargetDescription;
21: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
getfield org.graalvm.compiler.printer.CFGPrinter.lir:Lorg/graalvm/compiler/lir/LIR;
ifnull 23
aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
getfield org.graalvm.compiler.printer.CFGPrinter.lir:Lorg/graalvm/compiler/lir/LIR;
invokevirtual org.graalvm.compiler.lir.LIR.getControlFlowGraph:()Lorg/graalvm/compiler/core/common/cfg/AbstractControlFlowGraph;
instanceof org.graalvm.compiler.nodes.cfg.ControlFlowGraph
ifeq 23
22: aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
getfield org.graalvm.compiler.printer.CFGPrinter.lir:Lorg/graalvm/compiler/lir/LIR;
invokevirtual org.graalvm.compiler.lir.LIR.getControlFlowGraph:()Lorg/graalvm/compiler/core/common/cfg/AbstractControlFlowGraph;
checkcast org.graalvm.compiler.nodes.cfg.ControlFlowGraph
putfield org.graalvm.compiler.printer.CFGPrinter.cfg:Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
23: StackMap locals:
StackMap stack:
ldc Ljdk/vm/ci/code/CodeCacheProvider;
invokestatic org.graalvm.compiler.debug.Debug.contextLookup:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast jdk.vm.ci.code.CodeCacheProvider
astore 3
start local 3 24: aload 3
ifnull 26
25: aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
aload 3
invokeinterface jdk.vm.ci.code.CodeCacheProvider.getTarget:()Ljdk/vm/ci/code/TargetDescription;
putfield org.graalvm.compiler.printer.CFGPrinter.target:Ljdk/vm/ci/code/TargetDescription;
26: StackMap locals: jdk.vm.ci.code.CodeCacheProvider
StackMap stack:
aload 1
instanceof org.graalvm.compiler.java.BciBlockMapping
ifeq 32
27: aload 1
checkcast org.graalvm.compiler.java.BciBlockMapping
astore 4
start local 4 28: aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
aload 2
aload 4
invokevirtual org.graalvm.compiler.printer.CFGPrinter.printCFG:(Ljava/lang/String;Lorg/graalvm/compiler/java/BciBlockMapping;)V
29: aload 4
getfield org.graalvm.compiler.java.BciBlockMapping.code:Lorg/graalvm/compiler/bytecode/Bytecode;
invokeinterface org.graalvm.compiler.bytecode.Bytecode.getCode:()[B
ifnull 83
30: aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
new org.graalvm.compiler.bytecode.BytecodeDisassembler
dup
iconst_0
invokespecial org.graalvm.compiler.bytecode.BytecodeDisassembler.<init>:(Z)V
aload 4
getfield org.graalvm.compiler.java.BciBlockMapping.code:Lorg/graalvm/compiler/bytecode/Bytecode;
invokevirtual org.graalvm.compiler.bytecode.BytecodeDisassembler.disassemble:(Lorg/graalvm/compiler/bytecode/Bytecode;)Ljava/lang/String;
invokevirtual org.graalvm.compiler.printer.CFGPrinter.printBytecodes:(Ljava/lang/String;)V
end local 4 31: goto 83
StackMap locals:
StackMap stack:
32: aload 1
instanceof org.graalvm.compiler.lir.LIR
ifeq 39
33: aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
aload 2
aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
getfield org.graalvm.compiler.printer.CFGPrinter.lir:Lorg/graalvm/compiler/lir/LIR;
invokevirtual org.graalvm.compiler.lir.LIR.codeEmittingOrder:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
iconst_0
invokevirtual org.graalvm.compiler.printer.CFGPrinter.printCFG:(Ljava/lang/String;[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Z)V
34: aload 0
aload 1
checkcast org.graalvm.compiler.lir.LIR
putfield org.graalvm.compiler.printer.CFGPrinterObserver.lastLIR:Lorg/graalvm/compiler/lir/LIR;
35: aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.delayedIntervals:Lorg/graalvm/compiler/lir/debug/IntervalDumper;
ifnull 83
36: aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
aload 2
aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.delayedIntervals:Lorg/graalvm/compiler/lir/debug/IntervalDumper;
invokevirtual org.graalvm.compiler.printer.CFGPrinter.printIntervals:(Ljava/lang/String;Lorg/graalvm/compiler/lir/debug/IntervalDumper;)V
37: aload 0
aconst_null
putfield org.graalvm.compiler.printer.CFGPrinterObserver.delayedIntervals:Lorg/graalvm/compiler/lir/debug/IntervalDumper;
38: goto 83
StackMap locals:
StackMap stack:
39: aload 1
instanceof org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult
ifeq 42
40: aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
aload 2
aload 1
checkcast org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult
invokevirtual org.graalvm.compiler.printer.CFGPrinter.printSchedule:(Ljava/lang/String;Lorg/graalvm/compiler/nodes/StructuredGraph$ScheduleResult;)V
41: goto 83
StackMap locals:
StackMap stack:
42: aload 1
instanceof org.graalvm.compiler.nodes.StructuredGraph
ifeq 50
43: aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
getfield org.graalvm.compiler.printer.CFGPrinter.cfg:Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
ifnonnull 48
44: aload 1
checkcast org.graalvm.compiler.nodes.StructuredGraph
astore 4
start local 4 45: aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
aload 4
iconst_1
iconst_1
iconst_1
iconst_0
invokestatic org.graalvm.compiler.nodes.cfg.ControlFlowGraph.compute:(Lorg/graalvm/compiler/nodes/StructuredGraph;ZZZZ)Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
putfield org.graalvm.compiler.printer.CFGPrinter.cfg:Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
46: aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
aload 2
aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
getfield org.graalvm.compiler.printer.CFGPrinter.cfg:Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.getBlocks:()[Lorg/graalvm/compiler/nodes/cfg/Block;
iconst_1
invokevirtual org.graalvm.compiler.printer.CFGPrinter.printCFG:(Ljava/lang/String;[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Z)V
end local 4 47: goto 83
48: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
aload 2
aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
getfield org.graalvm.compiler.printer.CFGPrinter.cfg:Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.getBlocks:()[Lorg/graalvm/compiler/nodes/cfg/Block;
iconst_1
invokevirtual org.graalvm.compiler.printer.CFGPrinter.printCFG:(Ljava/lang/String;[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Z)V
49: goto 83
StackMap locals:
StackMap stack:
50: aload 1
instanceof org.graalvm.compiler.code.CompilationResult
ifeq 54
51: aload 1
checkcast org.graalvm.compiler.code.CompilationResult
astore 4
start local 4 52: aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
aload 3
aload 4
aconst_null
invokestatic org.graalvm.compiler.printer.CFGPrinterObserver.disassemble:(Ljdk/vm/ci/code/CodeCacheProvider;Lorg/graalvm/compiler/code/CompilationResult;Ljdk/vm/ci/code/InstalledCode;)Ljava/lang/String;
aload 2
invokevirtual org.graalvm.compiler.printer.CFGPrinter.printMachineCode:(Ljava/lang/String;Ljava/lang/String;)V
end local 4 53: goto 83
StackMap locals:
StackMap stack:
54: aload 1
instanceof jdk.vm.ci.code.InstalledCode
ifeq 59
55: ldc Lorg/graalvm/compiler/code/CompilationResult;
invokestatic org.graalvm.compiler.debug.Debug.contextLookup:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast org.graalvm.compiler.code.CompilationResult
astore 4
start local 4 56: aload 4
ifnull 83
57: aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
aload 3
aload 4
aload 1
checkcast jdk.vm.ci.code.InstalledCode
invokestatic org.graalvm.compiler.printer.CFGPrinterObserver.disassemble:(Ljdk/vm/ci/code/CodeCacheProvider;Lorg/graalvm/compiler/code/CompilationResult;Ljdk/vm/ci/code/InstalledCode;)Ljava/lang/String;
aload 2
invokevirtual org.graalvm.compiler.printer.CFGPrinter.printMachineCode:(Ljava/lang/String;Ljava/lang/String;)V
end local 4 58: goto 83
StackMap locals:
StackMap stack:
59: aload 1
instanceof org.graalvm.compiler.lir.debug.IntervalDumper
ifeq 67
60: aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.lastLIR:Lorg/graalvm/compiler/lir/LIR;
aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
getfield org.graalvm.compiler.printer.CFGPrinter.lir:Lorg/graalvm/compiler/lir/LIR;
if_acmpne 63
61: aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
aload 2
aload 1
checkcast org.graalvm.compiler.lir.debug.IntervalDumper
invokevirtual org.graalvm.compiler.printer.CFGPrinter.printIntervals:(Ljava/lang/String;Lorg/graalvm/compiler/lir/debug/IntervalDumper;)V
62: goto 83
63: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.delayedIntervals:Lorg/graalvm/compiler/lir/debug/IntervalDumper;
ifnull 65
64: ldc "Some delayed intervals were dropped (%s)"
aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.delayedIntervals:Lorg/graalvm/compiler/lir/debug/IntervalDumper;
invokestatic org.graalvm.compiler.debug.Debug.log:(Ljava/lang/String;Ljava/lang/Object;)V
65: StackMap locals:
StackMap stack:
aload 0
aload 1
checkcast org.graalvm.compiler.lir.debug.IntervalDumper
putfield org.graalvm.compiler.printer.CFGPrinterObserver.delayedIntervals:Lorg/graalvm/compiler/lir/debug/IntervalDumper;
66: goto 83
StackMap locals:
StackMap stack:
67: aload 1
instanceof org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
ifeq 70
68: aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
aload 2
aload 1
checkcast org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
iconst_0
invokevirtual org.graalvm.compiler.printer.CFGPrinter.printCFG:(Ljava/lang/String;[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Z)V
69: goto 83
StackMap locals:
StackMap stack:
70: aload 1
instanceof org.graalvm.compiler.core.common.alloc.Trace
ifeq 73
71: aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
aload 2
aload 1
checkcast org.graalvm.compiler.core.common.alloc.Trace
invokevirtual org.graalvm.compiler.core.common.alloc.Trace.getBlocks:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
iconst_0
invokevirtual org.graalvm.compiler.printer.CFGPrinter.printCFG:(Ljava/lang/String;[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Z)V
72: goto 83
StackMap locals:
StackMap stack:
73: aload 1
instanceof org.graalvm.compiler.core.common.alloc.TraceBuilderResult
ifeq 83
74: aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
aload 2
aload 1
checkcast org.graalvm.compiler.core.common.alloc.TraceBuilderResult
invokevirtual org.graalvm.compiler.printer.CFGPrinter.printTraces:(Ljava/lang/String;Lorg/graalvm/compiler/core/common/alloc/TraceBuilderResult;)V
end local 3 75: goto 83
StackMap locals: org.graalvm.compiler.printer.CFGPrinterObserver java.lang.Object java.lang.String
StackMap stack: java.lang.Throwable
76: astore 5
77: aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
aconst_null
putfield org.graalvm.compiler.printer.CFGPrinter.target:Ljdk/vm/ci/code/TargetDescription;
78: aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
aconst_null
putfield org.graalvm.compiler.printer.CFGPrinter.lir:Lorg/graalvm/compiler/lir/LIR;
79: aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
aconst_null
putfield org.graalvm.compiler.printer.CFGPrinter.nodeLirGenerator:Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
80: aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
aconst_null
putfield org.graalvm.compiler.printer.CFGPrinter.cfg:Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
81: aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
invokevirtual org.graalvm.compiler.printer.CFGPrinter.flush:()V
82: aload 5
athrow
83: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
aconst_null
putfield org.graalvm.compiler.printer.CFGPrinter.target:Ljdk/vm/ci/code/TargetDescription;
84: aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
aconst_null
putfield org.graalvm.compiler.printer.CFGPrinter.lir:Lorg/graalvm/compiler/lir/LIR;
85: aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
aconst_null
putfield org.graalvm.compiler.printer.CFGPrinter.nodeLirGenerator:Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
86: aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
aconst_null
putfield org.graalvm.compiler.printer.CFGPrinter.cfg:Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
87: aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
invokevirtual org.graalvm.compiler.printer.CFGPrinter.flush:()V
88: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 89 0 this Lorg/graalvm/compiler/printer/CFGPrinterObserver;
0 89 1 object Ljava/lang/Object;
0 89 2 message Ljava/lang/String;
5 6 3 out Ljava/io/OutputStream;
24 75 3 codeCache Ljdk/vm/ci/code/CodeCacheProvider;
28 31 4 blockMap Lorg/graalvm/compiler/java/BciBlockMapping;
45 47 4 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
52 53 4 compResult Lorg/graalvm/compiler/code/CompilationResult;
56 58 4 compResult Lorg/graalvm/compiler/code/CompilationResult;
Exception table:
from to target type
4 6 7 Class java.io.FileNotFoundException
12 76 76 any
MethodParameters:
Name Flags
object
message
public static java.nio.file.Path getCFGPath();
descriptor: ()Ljava/nio/file/Path;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: getstatic org.graalvm.compiler.debug.GraalDebugConfig$Options.PrintCFGFileName:Lorg/graalvm/compiler/options/OptionValue;
getstatic org.graalvm.compiler.debug.GraalDebugConfig$Options.DumpPath:Lorg/graalvm/compiler/options/OptionValue;
ldc "cfg"
invokestatic org.graalvm.compiler.options.UniquePathUtilities.getPath:(Lorg/graalvm/compiler/options/OptionValue;Lorg/graalvm/compiler/options/OptionValue;Ljava/lang/String;)Ljava/nio/file/Path;
areturn
LocalVariableTable:
Start End Slot Name Signature
private static java.lang.String disassemble(jdk.vm.ci.code.CodeCacheProvider, org.graalvm.compiler.code.CompilationResult, jdk.vm.ci.code.InstalledCode);
descriptor: (Ljdk/vm/ci/code/CodeCacheProvider;Lorg/graalvm/compiler/code/CompilationResult;Ljdk/vm/ci/code/InstalledCode;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: getstatic org.graalvm.compiler.printer.CFGPrinterObserver$DisassemblerHolder.disassembler:Lorg/graalvm/compiler/code/DisassemblerProvider;
astore 3
start local 3 1: aload 2
ifnull 3
2: aload 3
aload 0
aload 1
aload 2
invokeinterface org.graalvm.compiler.code.DisassemblerProvider.disassembleInstalledCode:(Ljdk/vm/ci/code/CodeCacheProvider;Lorg/graalvm/compiler/code/CompilationResult;Ljdk/vm/ci/code/InstalledCode;)Ljava/lang/String;
areturn
3: StackMap locals: org.graalvm.compiler.code.DisassemblerProvider
StackMap stack:
aload 3
aload 0
aload 1
invokeinterface org.graalvm.compiler.code.DisassemblerProvider.disassembleCompiledCode:(Ljdk/vm/ci/code/CodeCacheProvider;Lorg/graalvm/compiler/code/CompilationResult;)Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 codeCache Ljdk/vm/ci/code/CodeCacheProvider;
0 4 1 compResult Lorg/graalvm/compiler/code/CompilationResult;
0 4 2 installedCode Ljdk/vm/ci/code/InstalledCode;
1 4 3 dis Lorg/graalvm/compiler/code/DisassemblerProvider;
MethodParameters:
Name Flags
codeCache
compResult
installedCode
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
ifnull 5
1: aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
invokevirtual org.graalvm.compiler.printer.CFGPrinter.close:()V
2: aload 0
aconst_null
putfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
3: aload 0
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
putfield org.graalvm.compiler.printer.CFGPrinterObserver.curDecorators:Ljava/util/List;
4: aload 0
aconst_null
putfield org.graalvm.compiler.printer.CFGPrinterObserver.curMethod:Ljdk/vm/ci/meta/JavaMethod;
5: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/graalvm/compiler/printer/CFGPrinterObserver;
}
SourceFile: "CFGPrinterObserver.java"
NestMembers:
org.graalvm.compiler.printer.CFGPrinterObserver$DisassemblerHolder org.graalvm.compiler.printer.CFGPrinterObserver$DisassemblerHolder$1
InnerClasses:
public Options = org.graalvm.compiler.debug.GraalDebugConfig$Options of org.graalvm.compiler.debug.GraalDebugConfig
public ScheduleResult = org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult of org.graalvm.compiler.nodes.StructuredGraph
DisassemblerHolder = org.graalvm.compiler.printer.CFGPrinterObserver$DisassemblerHolder of org.graalvm.compiler.printer.CFGPrinterObserver