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 org.graalvm.compiler.core.common.CompilationIdentifier curCompilation;
descriptor: Lorg/graalvm/compiler/core/common/CompilationIdentifier;
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 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>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 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: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/compiler/printer/CFGPrinterObserver;
public void dump(org.graalvm.compiler.debug.DebugContext, java.lang.Object, java.lang.String, java.lang.Object[]);
descriptor: (Lorg/graalvm/compiler/debug/DebugContext;Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=4, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 3
aload 4
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
astore 5
start local 5 1: aload 0
aload 1
aload 2
aload 5
invokevirtual org.graalvm.compiler.printer.CFGPrinterObserver.dumpSandboxed:(Lorg/graalvm/compiler/debug/DebugContext;Ljava/lang/Object;Ljava/lang/String;)V
2: goto 6
StackMap locals: org.graalvm.compiler.printer.CFGPrinterObserver org.graalvm.compiler.debug.DebugContext java.lang.Object java.lang.String java.lang.Object[] java.lang.String
StackMap stack: java.lang.Throwable
3: astore 6
start local 6 4: new java.lang.StringBuilder
dup
ldc "CFGPrinter: Exception during output of "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ": "
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;
invokestatic org.graalvm.compiler.debug.TTY.println:(Ljava/lang/String;)V
5: aload 6
invokevirtual java.lang.Throwable.printStackTrace:()V
end local 6 6: StackMap locals:
StackMap stack:
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 7 0 this Lorg/graalvm/compiler/printer/CFGPrinterObserver;
0 7 1 debug Lorg/graalvm/compiler/debug/DebugContext;
0 7 2 object Ljava/lang/Object;
0 7 3 format Ljava/lang/String;
0 7 4 arguments [Ljava/lang/Object;
1 7 5 message Ljava/lang/String;
4 6 6 ex Ljava/lang/Throwable;
Exception table:
from to target type
1 2 3 Class java.lang.Throwable
MethodParameters:
Name Flags
debug
object
format
arguments
private boolean checkMethodScope(org.graalvm.compiler.debug.DebugContext);
descriptor: (Lorg/graalvm/compiler/debug/DebugContext;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=8, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aconst_null
astore 3
start local 3 2: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
start local 4 3: aload 1
invokevirtual org.graalvm.compiler.debug.DebugContext.context:()Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 6
goto 24
StackMap locals: org.graalvm.compiler.printer.CFGPrinterObserver org.graalvm.compiler.debug.DebugContext jdk.vm.ci.meta.JavaMethod org.graalvm.compiler.core.common.CompilationIdentifier java.util.ArrayList top java.util.Iterator
StackMap stack:
4: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 5
start local 5 5: aload 5
instanceof jdk.vm.ci.meta.JavaMethod
ifeq 9
6: aload 5
checkcast jdk.vm.ci.meta.JavaMethod
astore 2
7: aload 4
invokevirtual java.util.ArrayList.clear:()V
8: goto 24
StackMap locals: org.graalvm.compiler.printer.CFGPrinterObserver org.graalvm.compiler.debug.DebugContext jdk.vm.ci.meta.JavaMethod org.graalvm.compiler.core.common.CompilationIdentifier java.util.ArrayList java.lang.Object java.util.Iterator
StackMap stack:
9: aload 5
instanceof org.graalvm.compiler.nodes.StructuredGraph
ifeq 16
10: aload 5
checkcast org.graalvm.compiler.nodes.StructuredGraph
astore 7
start local 7 11: aload 7
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.method:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
ifnull 24
12: aload 7
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.method:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
astore 2
13: aload 4
invokevirtual java.util.ArrayList.clear:()V
14: aload 7
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.compilationId:()Lorg/graalvm/compiler/core/common/CompilationIdentifier;
astore 3
end local 7 15: goto 24
StackMap locals:
StackMap stack:
16: aload 5
instanceof org.graalvm.compiler.debug.DebugDumpScope
ifeq 21
17: aload 5
checkcast org.graalvm.compiler.debug.DebugDumpScope
astore 7
start local 7 18: aload 7
getfield org.graalvm.compiler.debug.DebugDumpScope.decorator:Z
ifeq 24
19: aload 4
aload 7
getfield org.graalvm.compiler.debug.DebugDumpScope.name:Ljava/lang/String;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 7 20: goto 24
StackMap locals:
StackMap stack:
21: aload 5
instanceof org.graalvm.compiler.code.CompilationResult
ifeq 24
22: aload 5
checkcast org.graalvm.compiler.code.CompilationResult
astore 7
start local 7 23: aload 7
invokevirtual org.graalvm.compiler.code.CompilationResult.getCompilationId:()Lorg/graalvm/compiler/core/common/CompilationIdentifier;
astore 3
end local 7 end local 5 24: StackMap locals: org.graalvm.compiler.printer.CFGPrinterObserver org.graalvm.compiler.debug.DebugContext jdk.vm.ci.meta.JavaMethod org.graalvm.compiler.core.common.CompilationIdentifier java.util.ArrayList top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
25: aload 2
ifnonnull 27
aload 3
ifnonnull 27
26: iconst_0
ireturn
27: StackMap locals: org.graalvm.compiler.printer.CFGPrinterObserver org.graalvm.compiler.debug.DebugContext jdk.vm.ci.meta.JavaMethod org.graalvm.compiler.core.common.CompilationIdentifier java.util.ArrayList
StackMap stack:
aload 3
ifnull 31
28: aload 3
aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.curCompilation:Lorg/graalvm/compiler/core/common/CompilationIdentifier;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 29
aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.curDecorators:Ljava/util/List;
aload 4
invokeinterface java.util.List.equals:(Ljava/lang/Object;)Z
ifne 33
29: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
aload 3
invokevirtual org.graalvm.compiler.printer.CFGPrinter.printCompilation:(Lorg/graalvm/compiler/core/common/CompilationIdentifier;)V
30: goto 33
31: StackMap locals:
StackMap stack:
aload 2
aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.curMethod:Ljdk/vm/ci/meta/JavaMethod;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 32
aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.curDecorators:Ljava/util/List;
aload 4
invokeinterface java.util.List.equals:(Ljava/lang/Object;)Z
ifne 33
32: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
aload 2
invokevirtual org.graalvm.compiler.printer.CFGPrinter.printCompilation:(Ljdk/vm/ci/meta/JavaMethod;)V
33: StackMap locals:
StackMap stack:
aload 0
aload 3
putfield org.graalvm.compiler.printer.CFGPrinterObserver.curCompilation:Lorg/graalvm/compiler/core/common/CompilationIdentifier;
34: aload 0
aload 2
putfield org.graalvm.compiler.printer.CFGPrinterObserver.curMethod:Ljdk/vm/ci/meta/JavaMethod;
35: aload 0
aload 4
putfield org.graalvm.compiler.printer.CFGPrinterObserver.curDecorators:Ljava/util/List;
36: iconst_1
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 37 0 this Lorg/graalvm/compiler/printer/CFGPrinterObserver;
0 37 1 debug Lorg/graalvm/compiler/debug/DebugContext;
1 37 2 method Ljdk/vm/ci/meta/JavaMethod;
2 37 3 compilation Lorg/graalvm/compiler/core/common/CompilationIdentifier;
3 37 4 decorators Ljava/util/ArrayList<Ljava/lang/String;>;
5 24 5 o Ljava/lang/Object;
11 15 7 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
18 20 7 debugDumpScope Lorg/graalvm/compiler/debug/DebugDumpScope;
23 24 7 compilationResult Lorg/graalvm/compiler/code/CompilationResult;
MethodParameters:
Name Flags
debug
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(org.graalvm.compiler.debug.DebugContext, java.lang.Object, java.lang.String);
descriptor: (Lorg/graalvm/compiler/debug/DebugContext;Ljava/lang/Object;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokevirtual org.graalvm.compiler.debug.DebugContext.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
astore 4
start local 4 1: getstatic org.graalvm.compiler.debug.DebugOptions.PrintCFG:Lorg/graalvm/compiler/options/OptionKey;
aload 4
invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
istore 5
start local 5 2: iload 5
ifne 4
aload 2
invokestatic org.graalvm.compiler.printer.CFGPrinterObserver.isFrontendObject:(Ljava/lang/Object;)Z
ifeq 4
3: return
4: StackMap locals: org.graalvm.compiler.options.OptionValues int
StackMap stack:
aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
ifnonnull 14
5: aload 1
ldc ".cfg"
iconst_0
invokevirtual org.graalvm.compiler.debug.DebugContext.getDumpPath:(Ljava/lang/String;Z)Ljava/nio/file/Path;
astore 6
start local 6 6: aload 0
aload 6
invokeinterface java.nio.file.Path.toFile:()Ljava/io/File;
putfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgFile:Ljava/io/File;
7: 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 7
start local 7 8: aload 0
new org.graalvm.compiler.printer.CFGPrinter
dup
aload 7
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 7 end local 6 9: goto 14
StackMap locals:
StackMap stack: java.io.IOException
10: astore 6
start local 6 11: new org.graalvm.compiler.debug.GraalError
dup
ldc "Could not open %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgFile:Ljava/io/File;
ifnonnull 12
ldc "[null]"
goto 13
StackMap locals: org.graalvm.compiler.printer.CFGPrinterObserver org.graalvm.compiler.debug.DebugContext java.lang.Object java.lang.String org.graalvm.compiler.options.OptionValues int java.io.IOException
StackMap stack: new 11 new 11 java.lang.String java.lang.Object[] java.lang.Object[] int
12: aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgFile:Ljava/io/File;
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
StackMap locals: org.graalvm.compiler.printer.CFGPrinterObserver org.graalvm.compiler.debug.DebugContext java.lang.Object java.lang.String org.graalvm.compiler.options.OptionValues int java.io.IOException
StackMap stack: new 11 new 11 java.lang.String java.lang.Object[] java.lang.Object[] int java.lang.String
13: aastore
invokespecial org.graalvm.compiler.debug.GraalError.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
aload 6
invokevirtual org.graalvm.compiler.debug.GraalError.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
checkcast org.graalvm.compiler.debug.GraalError
athrow
end local 6 14: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.graalvm.compiler.printer.CFGPrinterObserver.checkMethodScope:(Lorg/graalvm/compiler/debug/DebugContext;)Z
ifne 16
15: return
16: 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 18
17: 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;
18: StackMap locals:
StackMap stack:
aload 2
instanceof org.graalvm.compiler.lir.LIR
ifeq 21
19: aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
aload 2
checkcast org.graalvm.compiler.lir.LIR
putfield org.graalvm.compiler.printer.CFGPrinter.lir:Lorg/graalvm/compiler/lir/LIR;
20: goto 22
21: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
aload 1
ldc Lorg/graalvm/compiler/lir/LIR;
invokevirtual org.graalvm.compiler.debug.DebugContext.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;
22: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
aload 1
ldc Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
invokevirtual org.graalvm.compiler.debug.DebugContext.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;
23: aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
aload 1
ldc Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
invokevirtual org.graalvm.compiler.debug.DebugContext.contextLookup:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast org.graalvm.compiler.lir.gen.LIRGenerationResult
putfield org.graalvm.compiler.printer.CFGPrinter.res:Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
24: 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 26
25: 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;
26: 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 28
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 28
27: 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;
28: StackMap locals:
StackMap stack:
aload 1
ldc Ljdk/vm/ci/code/CodeCacheProvider;
invokevirtual org.graalvm.compiler.debug.DebugContext.contextLookup:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast jdk.vm.ci.code.CodeCacheProvider
astore 6
start local 6 29: aload 6
ifnull 31
30: aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
aload 6
invokeinterface jdk.vm.ci.code.CodeCacheProvider.getTarget:()Ljdk/vm/ci/code/TargetDescription;
putfield org.graalvm.compiler.printer.CFGPrinter.target:Ljdk/vm/ci/code/TargetDescription;
31: StackMap locals: jdk.vm.ci.code.CodeCacheProvider
StackMap stack:
aload 2
instanceof org.graalvm.compiler.java.BciBlockMapping
ifeq 37
32: aload 2
checkcast org.graalvm.compiler.java.BciBlockMapping
astore 7
start local 7 33: aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
aload 3
aload 7
invokevirtual org.graalvm.compiler.printer.CFGPrinter.printCFG:(Ljava/lang/String;Lorg/graalvm/compiler/java/BciBlockMapping;)V
34: aload 7
getfield org.graalvm.compiler.java.BciBlockMapping.code:Lorg/graalvm/compiler/bytecode/Bytecode;
invokeinterface org.graalvm.compiler.bytecode.Bytecode.getCode:()[B
ifnull 90
35: 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 7
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 7 36: goto 90
StackMap locals:
StackMap stack:
37: aload 2
instanceof org.graalvm.compiler.lir.LIR
ifeq 44
38: aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
aload 3
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
39: aload 0
aload 2
checkcast org.graalvm.compiler.lir.LIR
putfield org.graalvm.compiler.printer.CFGPrinterObserver.lastLIR:Lorg/graalvm/compiler/lir/LIR;
40: aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.delayedIntervals:Lorg/graalvm/compiler/lir/debug/IntervalDumper;
ifnull 90
41: aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
aload 3
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
42: aload 0
aconst_null
putfield org.graalvm.compiler.printer.CFGPrinterObserver.delayedIntervals:Lorg/graalvm/compiler/lir/debug/IntervalDumper;
43: goto 90
StackMap locals:
StackMap stack:
44: aload 2
instanceof org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult
ifeq 47
45: aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
aload 3
aload 2
checkcast org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult
invokevirtual org.graalvm.compiler.printer.CFGPrinter.printSchedule:(Ljava/lang/String;Lorg/graalvm/compiler/nodes/StructuredGraph$ScheduleResult;)V
46: goto 90
StackMap locals:
StackMap stack:
47: aload 2
instanceof org.graalvm.compiler.nodes.StructuredGraph
ifeq 56
48: 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 53
49: aload 2
checkcast org.graalvm.compiler.nodes.StructuredGraph
astore 7
start local 7 50: aload 1
aload 7
invokestatic org.graalvm.compiler.printer.GraalDebugHandlersFactory.tryGetSchedule:(Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/StructuredGraph$ScheduleResult;
astore 8
start local 8 51: aload 8
ifnull 53
52: aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
aload 8
invokevirtual org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult.getCFG:()Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
putfield org.graalvm.compiler.printer.CFGPrinter.cfg:Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
end local 8 end local 7 53: StackMap locals:
StackMap stack:
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;
ifnull 90
54: aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
aload 3
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
55: goto 90
StackMap locals:
StackMap stack:
56: aload 2
instanceof org.graalvm.compiler.code.CompilationResult
ifeq 60
57: aload 2
checkcast org.graalvm.compiler.code.CompilationResult
astore 7
start local 7 58: aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
aload 6
aload 7
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 3
invokevirtual org.graalvm.compiler.printer.CFGPrinter.printMachineCode:(Ljava/lang/String;Ljava/lang/String;)V
end local 7 59: goto 90
StackMap locals:
StackMap stack:
60: aload 2
instanceof jdk.vm.ci.code.InstalledCode
ifeq 65
61: aload 1
ldc Lorg/graalvm/compiler/code/CompilationResult;
invokevirtual org.graalvm.compiler.debug.DebugContext.contextLookup:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast org.graalvm.compiler.code.CompilationResult
astore 7
start local 7 62: aload 7
ifnull 90
63: aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
aload 6
aload 7
aload 2
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 3
invokevirtual org.graalvm.compiler.printer.CFGPrinter.printMachineCode:(Ljava/lang/String;Ljava/lang/String;)V
end local 7 64: goto 90
StackMap locals:
StackMap stack:
65: aload 2
instanceof org.graalvm.compiler.lir.debug.IntervalDumper
ifeq 73
66: 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 69
67: aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
aload 3
aload 2
checkcast org.graalvm.compiler.lir.debug.IntervalDumper
invokevirtual org.graalvm.compiler.printer.CFGPrinter.printIntervals:(Ljava/lang/String;Lorg/graalvm/compiler/lir/debug/IntervalDumper;)V
68: goto 90
69: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.delayedIntervals:Lorg/graalvm/compiler/lir/debug/IntervalDumper;
ifnull 71
70: aload 1
ldc "Some delayed intervals were dropped (%s)"
aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.delayedIntervals:Lorg/graalvm/compiler/lir/debug/IntervalDumper;
invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;)V
71: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast org.graalvm.compiler.lir.debug.IntervalDumper
putfield org.graalvm.compiler.printer.CFGPrinterObserver.delayedIntervals:Lorg/graalvm/compiler/lir/debug/IntervalDumper;
72: goto 90
StackMap locals:
StackMap stack:
73: aload 2
instanceof org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
ifeq 76
74: aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
aload 3
aload 2
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
75: goto 90
StackMap locals:
StackMap stack:
76: aload 2
instanceof org.graalvm.compiler.core.common.alloc.Trace
ifeq 79
77: aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
aload 3
aload 2
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
78: goto 90
StackMap locals:
StackMap stack:
79: aload 2
instanceof org.graalvm.compiler.core.common.alloc.TraceBuilderResult
ifeq 90
80: aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
aload 3
aload 2
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 6 81: goto 90
StackMap locals: org.graalvm.compiler.printer.CFGPrinterObserver org.graalvm.compiler.debug.DebugContext java.lang.Object java.lang.String org.graalvm.compiler.options.OptionValues int
StackMap stack: java.lang.Throwable
82: astore 9
83: 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.res:Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
86: 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;
87: 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;
88: aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
invokevirtual org.graalvm.compiler.printer.CFGPrinter.flush:()V
89: aload 9
athrow
90: 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;
91: 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;
92: aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
aconst_null
putfield org.graalvm.compiler.printer.CFGPrinter.res:Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
93: 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;
94: 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;
95: aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgPrinter:Lorg/graalvm/compiler/printer/CFGPrinter;
invokevirtual org.graalvm.compiler.printer.CFGPrinter.flush:()V
96: 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 97 0 this Lorg/graalvm/compiler/printer/CFGPrinterObserver;
0 97 1 debug Lorg/graalvm/compiler/debug/DebugContext;
0 97 2 object Ljava/lang/Object;
0 97 3 message Ljava/lang/String;
1 97 4 options Lorg/graalvm/compiler/options/OptionValues;
2 97 5 dumpFrontend Z
6 9 6 dumpFile Ljava/nio/file/Path;
8 9 7 out Ljava/io/OutputStream;
11 14 6 e Ljava/io/IOException;
29 81 6 codeCache Ljdk/vm/ci/code/CodeCacheProvider;
33 36 7 blockMap Lorg/graalvm/compiler/java/BciBlockMapping;
50 53 7 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
51 53 8 scheduleResult Lorg/graalvm/compiler/nodes/StructuredGraph$ScheduleResult;
58 59 7 compResult Lorg/graalvm/compiler/code/CompilationResult;
62 64 7 compResult Lorg/graalvm/compiler/code/CompilationResult;
Exception table:
from to target type
5 9 10 Class java.io.IOException
16 82 82 any
MethodParameters:
Name Flags
debug
object
message
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 6
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: aload 0
aconst_null
putfield org.graalvm.compiler.printer.CFGPrinterObserver.curCompilation:Lorg/graalvm/compiler/core/common/CompilationIdentifier;
6: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/graalvm/compiler/printer/CFGPrinterObserver;
public java.lang.String getDumpPath();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgFile:Ljava/io/File;
ifnull 2
1: aload 0
getfield org.graalvm.compiler.printer.CFGPrinterObserver.cfgFile:Ljava/io/File;
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
areturn
2: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 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 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