public class org.graalvm.compiler.core.gen.LIRCompilerBackend
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.core.gen.LIRCompilerBackend
super_class: java.lang.Object
{
private static final org.graalvm.compiler.debug.TimerKey EmitLIR;
descriptor: Lorg/graalvm/compiler/debug/TimerKey;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.graalvm.compiler.debug.TimerKey EmitCode;
descriptor: Lorg/graalvm/compiler/debug/TimerKey;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.graalvm.compiler.debug.TimerKey BackEnd;
descriptor: Lorg/graalvm/compiler/debug/TimerKey;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc Lorg/graalvm/compiler/core/gen/LIRCompilerBackend;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic org.graalvm.compiler.core.gen.LIRCompilerBackend.$assertionsDisabled:Z
3: ldc "EmitLIR"
invokestatic org.graalvm.compiler.debug.DebugContext.timer:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/TimerKey;
ldc "Time spent generating LIR from HIR."
invokeinterface org.graalvm.compiler.debug.TimerKey.doc:(Ljava/lang/String;)Lorg/graalvm/compiler/debug/TimerKey;
putstatic org.graalvm.compiler.core.gen.LIRCompilerBackend.EmitLIR:Lorg/graalvm/compiler/debug/TimerKey;
4: ldc "EmitCode"
invokestatic org.graalvm.compiler.debug.DebugContext.timer:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/TimerKey;
ldc "Time spent generating machine code from LIR."
invokeinterface org.graalvm.compiler.debug.TimerKey.doc:(Ljava/lang/String;)Lorg/graalvm/compiler/debug/TimerKey;
putstatic org.graalvm.compiler.core.gen.LIRCompilerBackend.EmitCode:Lorg/graalvm/compiler/debug/TimerKey;
5: ldc "BackEnd"
invokestatic org.graalvm.compiler.debug.DebugContext.timer:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/TimerKey;
ldc "Time spent in EmitLIR and EmitCode."
invokeinterface org.graalvm.compiler.debug.TimerKey.doc:(Ljava/lang/String;)Lorg/graalvm/compiler/debug/TimerKey;
putstatic org.graalvm.compiler.core.gen.LIRCompilerBackend.BackEnd:Lorg/graalvm/compiler/debug/TimerKey;
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/core/gen/LIRCompilerBackend;
public static <T extends org.graalvm.compiler.code.CompilationResult> void emitBackEnd(org.graalvm.compiler.nodes.StructuredGraph, , jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.core.target.Backend, T, org.graalvm.compiler.lir.asm.CompilationResultBuilderFactory, jdk.vm.ci.code.RegisterConfig, org.graalvm.compiler.lir.phases.LIRSuites);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/core/target/Backend;Lorg/graalvm/compiler/code/CompilationResult;Lorg/graalvm/compiler/lir/asm/CompilationResultBuilderFactory;Ljdk/vm/ci/code/RegisterConfig;Lorg/graalvm/compiler/lir/phases/LIRSuites;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=11, locals=19, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 0
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
astore 8
start local 8 1: aconst_null
astore 9
aconst_null
astore 10
2: aload 8
ldc "BackEnd"
aload 0
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getLastSchedule:()Lorg/graalvm/compiler/nodes/StructuredGraph$ScheduleResult;
invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
astore 11
start local 11 3: getstatic org.graalvm.compiler.core.gen.LIRCompilerBackend.BackEnd:Lorg/graalvm/compiler/debug/TimerKey;
aload 8
invokeinterface org.graalvm.compiler.debug.TimerKey.start:(Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/debug/DebugCloseable;
astore 12
start local 12 4: aconst_null
astore 13
start local 13 5: aload 3
aload 0
aload 1
aload 6
aload 7
invokestatic org.graalvm.compiler.core.gen.LIRCompilerBackend.emitLIR:(Lorg/graalvm/compiler/core/target/Backend;Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;Ljdk/vm/ci/code/RegisterConfig;Lorg/graalvm/compiler/lir/phases/LIRSuites;)Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
astore 13
6: aconst_null
astore 14
aconst_null
astore 15
7: aload 8
ldc "CodeGen"
aload 13
aload 13
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerationResult.getLIR:()Lorg/graalvm/compiler/lir/LIR;
invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
astore 16
start local 16 8: aload 0
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.method:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
ifnonnull 9
iconst_0
goto 10
StackMap locals: org.graalvm.compiler.nodes.StructuredGraph java.lang.Object jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.core.target.Backend org.graalvm.compiler.code.CompilationResult org.graalvm.compiler.lir.asm.CompilationResultBuilderFactory jdk.vm.ci.code.RegisterConfig org.graalvm.compiler.lir.phases.LIRSuites org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.lir.gen.LIRGenerationResult java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope
StackMap stack:
9: aload 0
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getBytecodeSize:()I
StackMap locals:
StackMap stack: int
10: istore 17
start local 17 11: aload 4
aload 0
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.hasUnsafeAccess:()Z
invokevirtual org.graalvm.compiler.code.CompilationResult.setHasUnsafeAccess:(Z)V
12: aload 3
13: aload 0
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getAssumptions:()Ljdk/vm/ci/meta/Assumptions;
14: aload 0
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.method:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
15: aload 0
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getMethods:()Ljava/util/List;
16: aload 0
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getFields:()Ljdk/internal/vm/compiler/collections/EconomicSet;
17: aload 0
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getSpeculationLog:()Ljdk/vm/ci/meta/SpeculationLog;
18: iload 17
19: aload 13
20: aload 4
21: aload 2
22: aload 5
23: invokestatic org.graalvm.compiler.core.gen.LIRCompilerBackend.emitCode:(Lorg/graalvm/compiler/core/target/Backend;Ljdk/vm/ci/meta/Assumptions;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/util/Collection;Ljdk/internal/vm/compiler/collections/EconomicSet;Ljdk/vm/ci/meta/SpeculationLog;ILorg/graalvm/compiler/lir/gen/LIRGenerationResult;Lorg/graalvm/compiler/code/CompilationResult;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/lir/asm/CompilationResultBuilderFactory;)V
end local 17 24: aload 16
ifnull 32
aload 16
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
goto 32
StackMap locals:
StackMap stack: java.lang.Throwable
25: astore 14
aload 16
ifnull 26
aload 16
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
end local 16 StackMap locals:
StackMap stack:
26: aload 14
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
27: astore 15
aload 14
ifnonnull 28
aload 15
astore 14
goto 29
StackMap locals:
StackMap stack:
28: aload 14
aload 15
if_acmpeq 29
aload 14
aload 15
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
29: aload 14
athrow
StackMap locals: org.graalvm.compiler.nodes.StructuredGraph java.lang.Object jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.core.target.Backend org.graalvm.compiler.code.CompilationResult org.graalvm.compiler.lir.asm.CompilationResultBuilderFactory jdk.vm.ci.code.RegisterConfig org.graalvm.compiler.lir.phases.LIRSuites org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.lir.gen.LIRGenerationResult
StackMap stack: java.lang.Throwable
30: astore 14
start local 14 31: aload 8
aload 14
invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 14 end local 13 32: StackMap locals:
StackMap stack:
aload 12
ifnull 35
aload 12
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
goto 35
StackMap locals:
StackMap stack: java.lang.Throwable
33: astore 9
aload 12
ifnull 34
aload 12
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
end local 12 StackMap locals:
StackMap stack:
34: aload 9
athrow
StackMap locals:
StackMap stack:
35: aload 11
ifnull 48
aload 11
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
goto 48
StackMap locals:
StackMap stack: java.lang.Throwable
36: astore 10
aload 9
ifnonnull 37
aload 10
astore 9
goto 38
StackMap locals:
StackMap stack:
37: aload 9
aload 10
if_acmpeq 38
aload 9
aload 10
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
38: aload 11
ifnull 39
aload 11
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
end local 11 StackMap locals:
StackMap stack:
39: aload 9
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
40: astore 10
aload 9
ifnonnull 41
aload 10
astore 9
goto 42
StackMap locals:
StackMap stack:
41: aload 9
aload 10
if_acmpeq 42
aload 9
aload 10
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
42: aload 9
athrow
StackMap locals: org.graalvm.compiler.nodes.StructuredGraph java.lang.Object jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.core.target.Backend org.graalvm.compiler.code.CompilationResult org.graalvm.compiler.lir.asm.CompilationResultBuilderFactory jdk.vm.ci.code.RegisterConfig org.graalvm.compiler.lir.phases.LIRSuites org.graalvm.compiler.debug.DebugContext
StackMap stack: java.lang.Throwable
43: astore 9
start local 9 44: aload 8
aload 9
invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 9 45: StackMap locals:
StackMap stack: java.lang.Throwable
astore 18
46: aload 0
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.checkCancellation:()V
47: aload 18
athrow
48: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.checkCancellation:()V
49: return
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 50 0 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 50 1 stub Ljava/lang/Object;
0 50 2 installedCodeOwner Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 50 3 backend Lorg/graalvm/compiler/core/target/Backend;
0 50 4 compilationResult TT;
0 50 5 factory Lorg/graalvm/compiler/lir/asm/CompilationResultBuilderFactory;
0 50 6 registerConfig Ljdk/vm/ci/code/RegisterConfig;
0 50 7 lirSuites Lorg/graalvm/compiler/lir/phases/LIRSuites;
1 50 8 debug Lorg/graalvm/compiler/debug/DebugContext;
3 39 11 s Lorg/graalvm/compiler/debug/DebugContext$Scope;
4 34 12 a Lorg/graalvm/compiler/debug/DebugCloseable;
5 32 13 lirGen Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
8 26 16 s2 Lorg/graalvm/compiler/debug/DebugContext$Scope;
11 24 17 bytecodeSize I
31 32 14 e Ljava/lang/Throwable;
44 45 9 e Ljava/lang/Throwable;
Exception table:
from to target type
8 24 25 any
7 27 27 any
6 30 30 Class java.lang.Throwable
4 32 33 any
3 35 36 any
2 40 40 any
1 43 43 Class java.lang.Throwable
1 45 45 any
Signature: <T:Lorg/graalvm/compiler/code/CompilationResult;>(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/core/target/Backend;TT;Lorg/graalvm/compiler/lir/asm/CompilationResultBuilderFactory;Ljdk/vm/ci/code/RegisterConfig;Lorg/graalvm/compiler/lir/phases/LIRSuites;)V
MethodParameters:
Name Flags
graph
stub
installedCodeOwner
backend
compilationResult
factory
registerConfig
lirSuites
public static org.graalvm.compiler.lir.gen.LIRGenerationResult emitLIR(org.graalvm.compiler.core.target.Backend, org.graalvm.compiler.nodes.StructuredGraph, java.lang.Object, jdk.vm.ci.code.RegisterConfig, org.graalvm.compiler.lir.phases.LIRSuites);
descriptor: (Lorg/graalvm/compiler/core/target/Backend;Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;Ljdk/vm/ci/code/RegisterConfig;Lorg/graalvm/compiler/lir/phases/LIRSuites;)Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=10, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: getstatic org.graalvm.compiler.core.common.GraalOptions.RegisterPressure:Lorg/graalvm/compiler/options/OptionKey;
aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
checkcast java.lang.String
astore 5
start local 5 1: aload 5
ifnonnull 2
aconst_null
goto 3
StackMap locals: java.lang.String
StackMap stack:
2: aload 5
ldc ","
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String[]
3: astore 6
start local 6 4: aload 0
aload 1
aload 2
aload 3
aload 4
aload 6
invokestatic org.graalvm.compiler.core.gen.LIRCompilerBackend.emitLIR0:(Lorg/graalvm/compiler/core/target/Backend;Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;Ljdk/vm/ci/code/RegisterConfig;Lorg/graalvm/compiler/lir/phases/LIRSuites;[Ljava/lang/String;)Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
astore 9
5: aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.checkCancellation:()V
6: aload 9
areturn
7: StackMap locals: org.graalvm.compiler.core.target.Backend org.graalvm.compiler.nodes.StructuredGraph java.lang.Object jdk.vm.ci.code.RegisterConfig org.graalvm.compiler.lir.phases.LIRSuites java.lang.String java.lang.String[]
StackMap stack: org.graalvm.compiler.lir.alloc.OutOfRegistersException
astore 7
start local 7 8: aload 6
ifnull 13
9: aconst_null
astore 6
10: aload 0
aload 1
aload 2
aload 3
aload 4
aload 6
invokestatic org.graalvm.compiler.core.gen.LIRCompilerBackend.emitLIR0:(Lorg/graalvm/compiler/core/target/Backend;Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;Ljdk/vm/ci/code/RegisterConfig;Lorg/graalvm/compiler/lir/phases/LIRSuites;[Ljava/lang/String;)Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
astore 9
11: aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.checkCancellation:()V
12: aload 9
areturn
13: StackMap locals: org.graalvm.compiler.lir.alloc.OutOfRegistersException
StackMap stack:
new org.graalvm.compiler.debug.GraalError
dup
aload 7
invokespecial org.graalvm.compiler.debug.GraalError.<init>:(Ljava/lang/Throwable;)V
athrow
end local 7 14: StackMap locals: org.graalvm.compiler.core.target.Backend org.graalvm.compiler.nodes.StructuredGraph java.lang.Object jdk.vm.ci.code.RegisterConfig org.graalvm.compiler.lir.phases.LIRSuites java.lang.String java.lang.String[]
StackMap stack: java.lang.Throwable
astore 8
15: aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.checkCancellation:()V
16: aload 8
athrow
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 backend Lorg/graalvm/compiler/core/target/Backend;
0 17 1 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 17 2 stub Ljava/lang/Object;
0 17 3 registerConfig Ljdk/vm/ci/code/RegisterConfig;
0 17 4 lirSuites Lorg/graalvm/compiler/lir/phases/LIRSuites;
1 17 5 registerPressure Ljava/lang/String;
4 17 6 allocationRestrictedTo [Ljava/lang/String;
8 14 7 e Lorg/graalvm/compiler/lir/alloc/OutOfRegistersException;
Exception table:
from to target type
4 5 7 Class org.graalvm.compiler.lir.alloc.OutOfRegistersException
4 5 14 any
7 11 14 any
13 14 14 any
MethodParameters:
Name Flags
backend
graph
stub
registerConfig
lirSuites
private static org.graalvm.compiler.lir.gen.LIRGenerationResult emitLIR0(org.graalvm.compiler.core.target.Backend, org.graalvm.compiler.nodes.StructuredGraph, java.lang.Object, jdk.vm.ci.code.RegisterConfig, org.graalvm.compiler.lir.phases.LIRSuites, java.lang.String[]);
descriptor: (Lorg/graalvm/compiler/core/target/Backend;Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;Ljdk/vm/ci/code/RegisterConfig;Lorg/graalvm/compiler/lir/phases/LIRSuites;[Ljava/lang/String;)Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=29, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
astore 6
start local 6 1: aconst_null
astore 7
aconst_null
astore 8
2: aload 6
ldc "EmitLIR"
invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
astore 9
start local 9 3: getstatic org.graalvm.compiler.core.gen.LIRCompilerBackend.EmitLIR:Lorg/graalvm/compiler/debug/TimerKey;
aload 6
invokeinterface org.graalvm.compiler.debug.TimerKey.start:(Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/debug/DebugCloseable;
astore 10
start local 10 4: getstatic org.graalvm.compiler.core.gen.LIRCompilerBackend.$assertionsDisabled:Z
ifne 5
aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.hasValueProxies:()Z
ifeq 5
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
5: StackMap locals: org.graalvm.compiler.core.target.Backend org.graalvm.compiler.nodes.StructuredGraph java.lang.Object jdk.vm.ci.code.RegisterConfig org.graalvm.compiler.lir.phases.LIRSuites java.lang.String[] org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.debug.DebugCloseable
StackMap stack:
aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getLastSchedule:()Lorg/graalvm/compiler/nodes/StructuredGraph$ScheduleResult;
astore 11
start local 11 6: aload 11
invokevirtual org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult.getCFG:()Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.getBlocks:()[Lorg/graalvm/compiler/nodes/cfg/Block;
astore 12
start local 12 7: aload 11
invokevirtual org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult.getCFG:()Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.getStartBlock:()Lorg/graalvm/compiler/nodes/cfg/Block;
astore 13
start local 13 8: getstatic org.graalvm.compiler.core.gen.LIRCompilerBackend.$assertionsDisabled:Z
ifne 9
aload 13
ifnonnull 9
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
9: StackMap locals: org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult org.graalvm.compiler.nodes.cfg.Block[] org.graalvm.compiler.nodes.cfg.Block
StackMap stack:
getstatic org.graalvm.compiler.core.gen.LIRCompilerBackend.$assertionsDisabled:Z
ifne 10
aload 13
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getPredecessorCount:()I
ifeq 10
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
10: StackMap locals:
StackMap stack:
aload 12
arraylength
aload 13
invokestatic org.graalvm.compiler.core.common.alloc.ComputeBlockOrder.computeCodeEmittingOrder:(ILorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
astore 14
start local 14 11: aload 12
arraylength
aload 13
invokestatic org.graalvm.compiler.core.common.alloc.ComputeBlockOrder.computeLinearScanOrder:(ILorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
astore 15
start local 15 12: new org.graalvm.compiler.lir.LIR
dup
aload 11
invokevirtual org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult.getCFG:()Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
aload 15
aload 14
aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
invokespecial org.graalvm.compiler.lir.LIR.<init>:(Lorg/graalvm/compiler/core/common/cfg/AbstractControlFlowGraph;[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/debug/DebugContext;)V
astore 16
start local 16 13: aload 0
checkcast org.graalvm.compiler.core.gen.LIRGenerationProvider
astore 17
start local 17 14: aload 0
aload 3
aload 5
invokevirtual org.graalvm.compiler.core.target.Backend.newRegisterAllocationConfig:(Ljdk/vm/ci/code/RegisterConfig;[Ljava/lang/String;)Lorg/graalvm/compiler/core/common/alloc/RegisterAllocationConfig;
astore 18
start local 18 15: aload 17
aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.compilationId:()Lorg/graalvm/compiler/core/common/CompilationIdentifier;
aload 16
aload 18
aload 1
aload 2
invokeinterface org.graalvm.compiler.core.gen.LIRGenerationProvider.newLIRGenerationResult:(Lorg/graalvm/compiler/core/common/CompilationIdentifier;Lorg/graalvm/compiler/lir/LIR;Lorg/graalvm/compiler/core/common/alloc/RegisterAllocationConfig;Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
astore 19
start local 19 16: aload 17
aload 19
invokeinterface org.graalvm.compiler.core.gen.LIRGenerationProvider.newLIRGenerator:(Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;)Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
astore 20
start local 20 17: aload 17
aload 1
aload 20
invokeinterface org.graalvm.compiler.core.gen.LIRGenerationProvider.newNodeLIRBuilder:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;)Lorg/graalvm/compiler/nodes/spi/NodeLIRBuilderTool;
astore 21
start local 21 18: new org.graalvm.compiler.core.LIRGenerationPhase$LIRGenerationContext
dup
aload 20
aload 21
aload 1
aload 11
invokespecial org.graalvm.compiler.core.LIRGenerationPhase$LIRGenerationContext.<init>:(Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;Lorg/graalvm/compiler/nodes/spi/NodeLIRBuilderTool;Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/StructuredGraph$ScheduleResult;)V
astore 22
start local 22 19: new org.graalvm.compiler.core.LIRGenerationPhase
dup
invokespecial org.graalvm.compiler.core.LIRGenerationPhase.<init>:()V
aload 0
invokevirtual org.graalvm.compiler.core.target.Backend.getTarget:()Ljdk/vm/ci/code/TargetDescription;
aload 19
aload 22
invokevirtual org.graalvm.compiler.core.LIRGenerationPhase.apply:(Ljdk/vm/ci/code/TargetDescription;Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;Ljava/lang/Object;)V
20: aconst_null
astore 23
aconst_null
astore 24
21: aload 6
ldc "LIRStages"
aload 21
aload 19
aload 16
invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
astore 25
start local 25 22: aload 6
iconst_1
aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getLastSchedule:()Lorg/graalvm/compiler/nodes/StructuredGraph$ScheduleResult;
ldc "After LIR generation"
invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;)V
23: aload 0
invokevirtual org.graalvm.compiler.core.target.Backend.getTarget:()Ljdk/vm/ci/code/TargetDescription;
aload 19
aload 20
aload 4
aload 18
invokestatic org.graalvm.compiler.core.gen.LIRCompilerBackend.emitLowLevel:(Ljdk/vm/ci/code/TargetDescription;Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;Lorg/graalvm/compiler/lir/phases/LIRSuites;Lorg/graalvm/compiler/core/common/alloc/RegisterAllocationConfig;)Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
astore 26
start local 26 24: aload 26
astore 28
25: aload 25
ifnull 26
aload 25
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
26: StackMap locals: org.graalvm.compiler.core.target.Backend org.graalvm.compiler.nodes.StructuredGraph java.lang.Object jdk.vm.ci.code.RegisterConfig org.graalvm.compiler.lir.phases.LIRSuites java.lang.String[] org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult org.graalvm.compiler.nodes.cfg.Block[] org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] org.graalvm.compiler.lir.LIR org.graalvm.compiler.core.gen.LIRGenerationProvider org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig org.graalvm.compiler.lir.gen.LIRGenerationResult org.graalvm.compiler.lir.gen.LIRGeneratorTool org.graalvm.compiler.nodes.spi.NodeLIRBuilderTool org.graalvm.compiler.core.LIRGenerationPhase$LIRGenerationContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.lir.gen.LIRGenerationResult top org.graalvm.compiler.lir.gen.LIRGenerationResult
StackMap stack:
aload 10
ifnull 27
aload 10
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
StackMap locals:
StackMap stack:
27: aload 9
ifnull 28
aload 9
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
28: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.checkCancellation:()V
29: aload 28
areturn
end local 26 StackMap locals: org.graalvm.compiler.core.target.Backend org.graalvm.compiler.nodes.StructuredGraph java.lang.Object jdk.vm.ci.code.RegisterConfig org.graalvm.compiler.lir.phases.LIRSuites java.lang.String[] org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult org.graalvm.compiler.nodes.cfg.Block[] org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] org.graalvm.compiler.lir.LIR org.graalvm.compiler.core.gen.LIRGenerationProvider org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig org.graalvm.compiler.lir.gen.LIRGenerationResult org.graalvm.compiler.lir.gen.LIRGeneratorTool org.graalvm.compiler.nodes.spi.NodeLIRBuilderTool org.graalvm.compiler.core.LIRGenerationPhase$LIRGenerationContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope
StackMap stack: java.lang.Throwable
30: astore 23
31: aload 25
ifnull 32
aload 25
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
end local 25 StackMap locals:
StackMap stack:
32: aload 23
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
33: astore 24
aload 23
ifnonnull 34
aload 24
astore 23
goto 35
StackMap locals:
StackMap stack:
34: aload 23
aload 24
if_acmpeq 35
aload 23
aload 24
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
35: aload 23
athrow
StackMap locals: org.graalvm.compiler.core.target.Backend org.graalvm.compiler.nodes.StructuredGraph java.lang.Object jdk.vm.ci.code.RegisterConfig org.graalvm.compiler.lir.phases.LIRSuites java.lang.String[] org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult org.graalvm.compiler.nodes.cfg.Block[] org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] org.graalvm.compiler.lir.LIR org.graalvm.compiler.core.gen.LIRGenerationProvider org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig org.graalvm.compiler.lir.gen.LIRGenerationResult org.graalvm.compiler.lir.gen.LIRGeneratorTool org.graalvm.compiler.nodes.spi.NodeLIRBuilderTool org.graalvm.compiler.core.LIRGenerationPhase$LIRGenerationContext
StackMap stack: java.lang.Throwable
36: astore 23
start local 23 37: aload 6
aload 23
invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 23 end local 22 end local 21 end local 20 end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 StackMap locals: org.graalvm.compiler.core.target.Backend org.graalvm.compiler.nodes.StructuredGraph java.lang.Object jdk.vm.ci.code.RegisterConfig org.graalvm.compiler.lir.phases.LIRSuites java.lang.String[] org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.debug.DebugCloseable
StackMap stack: java.lang.Throwable
38: astore 7
39: aload 10
ifnull 40
aload 10
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
end local 10 StackMap locals:
StackMap stack:
40: aload 7
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
41: astore 8
aload 7
ifnonnull 42
aload 8
astore 7
goto 43
StackMap locals:
StackMap stack:
42: aload 7
aload 8
if_acmpeq 43
aload 7
aload 8
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
43: aload 9
ifnull 44
aload 9
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
end local 9 StackMap locals:
StackMap stack:
44: aload 7
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
45: astore 8
aload 7
ifnonnull 46
aload 8
astore 7
goto 47
StackMap locals:
StackMap stack:
46: aload 7
aload 8
if_acmpeq 47
aload 7
aload 8
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
47: aload 7
athrow
StackMap locals: org.graalvm.compiler.core.target.Backend org.graalvm.compiler.nodes.StructuredGraph java.lang.Object jdk.vm.ci.code.RegisterConfig org.graalvm.compiler.lir.phases.LIRSuites java.lang.String[] org.graalvm.compiler.debug.DebugContext
StackMap stack: java.lang.Throwable
48: astore 7
start local 7 49: aload 6
aload 7
invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 7 50: StackMap locals:
StackMap stack: java.lang.Throwable
astore 27
51: aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.checkCancellation:()V
52: aload 27
athrow
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 53 0 backend Lorg/graalvm/compiler/core/target/Backend;
0 53 1 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 53 2 stub Ljava/lang/Object;
0 53 3 registerConfig Ljdk/vm/ci/code/RegisterConfig;
0 53 4 lirSuites Lorg/graalvm/compiler/lir/phases/LIRSuites;
0 53 5 allocationRestrictedTo [Ljava/lang/String;
1 53 6 debug Lorg/graalvm/compiler/debug/DebugContext;
3 44 9 ds Lorg/graalvm/compiler/debug/DebugContext$Scope;
4 40 10 a Lorg/graalvm/compiler/debug/DebugCloseable;
6 38 11 schedule Lorg/graalvm/compiler/nodes/StructuredGraph$ScheduleResult;
7 38 12 blocks [Lorg/graalvm/compiler/nodes/cfg/Block;
8 38 13 startBlock Lorg/graalvm/compiler/nodes/cfg/Block;
11 38 14 codeEmittingOrder [Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
12 38 15 linearScanOrder [Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
13 38 16 lir Lorg/graalvm/compiler/lir/LIR;
14 38 17 lirBackend Lorg/graalvm/compiler/core/gen/LIRGenerationProvider;
15 38 18 registerAllocationConfig Lorg/graalvm/compiler/core/common/alloc/RegisterAllocationConfig;
16 38 19 lirGenRes Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
17 38 20 lirGen Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
18 38 21 nodeLirGen Lorg/graalvm/compiler/nodes/spi/NodeLIRBuilderTool;
19 38 22 context Lorg/graalvm/compiler/core/LIRGenerationPhase$LIRGenerationContext;
22 32 25 s Lorg/graalvm/compiler/debug/DebugContext$Scope;
24 30 26 result Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
37 38 23 e Ljava/lang/Throwable;
49 50 7 e Ljava/lang/Throwable;
Exception table:
from to target type
22 25 30 any
21 26 33 any
30 33 33 any
20 26 36 Class java.lang.Throwable
30 36 36 Class java.lang.Throwable
4 26 38 any
30 38 38 any
3 27 41 any
30 41 41 any
2 28 45 any
30 45 45 any
1 28 48 Class java.lang.Throwable
30 48 48 Class java.lang.Throwable
1 28 50 any
30 50 50 any
MethodParameters:
Name Flags
backend
graph
stub
registerConfig
lirSuites
allocationRestrictedTo
private static org.graalvm.compiler.lir.gen.LIRGenerationResult emitLowLevel(jdk.vm.ci.code.TargetDescription, org.graalvm.compiler.lir.gen.LIRGenerationResult, org.graalvm.compiler.lir.gen.LIRGeneratorTool, org.graalvm.compiler.lir.phases.LIRSuites, org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig);
descriptor: (Ljdk/vm/ci/code/TargetDescription;Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;Lorg/graalvm/compiler/lir/phases/LIRSuites;Lorg/graalvm/compiler/core/common/alloc/RegisterAllocationConfig;)Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerationResult.getLIR:()Lorg/graalvm/compiler/lir/LIR;
invokevirtual org.graalvm.compiler.lir.LIR.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
astore 5
start local 5 1: new org.graalvm.compiler.lir.phases.PreAllocationOptimizationPhase$PreAllocationOptimizationContext
dup
aload 2
invokespecial org.graalvm.compiler.lir.phases.PreAllocationOptimizationPhase$PreAllocationOptimizationContext.<init>:(Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;)V
astore 6
start local 6 2: aload 3
invokevirtual org.graalvm.compiler.lir.phases.LIRSuites.getPreAllocationOptimizationStage:()Lorg/graalvm/compiler/lir/phases/LIRPhaseSuite;
aload 0
aload 1
aload 6
invokevirtual org.graalvm.compiler.lir.phases.LIRPhaseSuite.apply:(Ljdk/vm/ci/code/TargetDescription;Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;Ljava/lang/Object;)V
3: aload 5
iconst_1
aload 1
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerationResult.getLIR:()Lorg/graalvm/compiler/lir/LIR;
ldc "After PreAllocationOptimizationStage"
invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;)V
4: new org.graalvm.compiler.lir.phases.AllocationPhase$AllocationContext
dup
aload 2
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.getSpillMoveFactory:()Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;
aload 4
invokespecial org.graalvm.compiler.lir.phases.AllocationPhase$AllocationContext.<init>:(Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;Lorg/graalvm/compiler/core/common/alloc/RegisterAllocationConfig;)V
astore 7
start local 7 5: aload 3
invokevirtual org.graalvm.compiler.lir.phases.LIRSuites.getAllocationStage:()Lorg/graalvm/compiler/lir/phases/LIRPhaseSuite;
aload 0
aload 1
aload 7
invokevirtual org.graalvm.compiler.lir.phases.LIRPhaseSuite.apply:(Ljdk/vm/ci/code/TargetDescription;Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;Ljava/lang/Object;)V
6: aload 5
iconst_1
aload 1
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerationResult.getLIR:()Lorg/graalvm/compiler/lir/LIR;
ldc "After AllocationStage"
invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;)V
7: new org.graalvm.compiler.lir.phases.PostAllocationOptimizationPhase$PostAllocationOptimizationContext
dup
aload 2
invokespecial org.graalvm.compiler.lir.phases.PostAllocationOptimizationPhase$PostAllocationOptimizationContext.<init>:(Lorg/graalvm/compiler/lir/gen/DiagnosticLIRGeneratorTool;)V
astore 8
start local 8 8: aload 3
invokevirtual org.graalvm.compiler.lir.phases.LIRSuites.getPostAllocationOptimizationStage:()Lorg/graalvm/compiler/lir/phases/LIRPhaseSuite;
aload 0
aload 1
aload 8
invokevirtual org.graalvm.compiler.lir.phases.LIRPhaseSuite.apply:(Ljdk/vm/ci/code/TargetDescription;Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;Ljava/lang/Object;)V
9: aload 5
iconst_1
aload 1
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerationResult.getLIR:()Lorg/graalvm/compiler/lir/LIR;
ldc "After PostAllocationOptimizationStage"
invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;)V
10: aload 1
areturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 target Ljdk/vm/ci/code/TargetDescription;
0 11 1 lirGenRes Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
0 11 2 lirGen Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
0 11 3 lirSuites Lorg/graalvm/compiler/lir/phases/LIRSuites;
0 11 4 registerAllocationConfig Lorg/graalvm/compiler/core/common/alloc/RegisterAllocationConfig;
1 11 5 debug Lorg/graalvm/compiler/debug/DebugContext;
2 11 6 preAllocOptContext Lorg/graalvm/compiler/lir/phases/PreAllocationOptimizationPhase$PreAllocationOptimizationContext;
5 11 7 allocContext Lorg/graalvm/compiler/lir/phases/AllocationPhase$AllocationContext;
8 11 8 postAllocOptContext Lorg/graalvm/compiler/lir/phases/PostAllocationOptimizationPhase$PostAllocationOptimizationContext;
MethodParameters:
Name Flags
target
lirGenRes
lirGen
lirSuites
registerAllocationConfig
public static void emitCode(org.graalvm.compiler.core.target.Backend, jdk.vm.ci.meta.Assumptions, jdk.vm.ci.meta.ResolvedJavaMethod, java.util.Collection<jdk.vm.ci.meta.ResolvedJavaMethod>, jdk.internal.vm.compiler.collections.EconomicSet<jdk.vm.ci.meta.ResolvedJavaField>, jdk.vm.ci.meta.SpeculationLog, int, org.graalvm.compiler.lir.gen.LIRGenerationResult, org.graalvm.compiler.code.CompilationResult, jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.lir.asm.CompilationResultBuilderFactory);
descriptor: (Lorg/graalvm/compiler/core/target/Backend;Ljdk/vm/ci/meta/Assumptions;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/util/Collection;Ljdk/internal/vm/compiler/collections/EconomicSet;Ljdk/vm/ci/meta/SpeculationLog;ILorg/graalvm/compiler/lir/gen/LIRGenerationResult;Lorg/graalvm/compiler/code/CompilationResult;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/lir/asm/CompilationResultBuilderFactory;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=25, args_size=11
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 start local 10 0: aload 7
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerationResult.getLIR:()Lorg/graalvm/compiler/lir/LIR;
invokevirtual org.graalvm.compiler.lir.LIR.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
astore 11
start local 11 1: aconst_null
astore 12
aconst_null
astore 13
2: getstatic org.graalvm.compiler.core.gen.LIRCompilerBackend.EmitCode:Lorg/graalvm/compiler/debug/TimerKey;
aload 11
invokeinterface org.graalvm.compiler.debug.TimerKey.start:(Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/debug/DebugCloseable;
astore 14
start local 14 3: aload 0
checkcast org.graalvm.compiler.core.gen.LIRGenerationProvider
astore 15
start local 15 4: aload 7
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerationResult.getFrameMap:()Lorg/graalvm/compiler/lir/framemap/FrameMap;
astore 16
start local 16 5: aload 15
aload 7
aload 16
aload 8
aload 10
invokeinterface org.graalvm.compiler.core.gen.LIRGenerationProvider.newCompilationResultBuilder:(Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;Lorg/graalvm/compiler/lir/framemap/FrameMap;Lorg/graalvm/compiler/code/CompilationResult;Lorg/graalvm/compiler/lir/asm/CompilationResultBuilderFactory;)Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
astore 17
start local 17 6: aload 15
aload 17
aload 7
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerationResult.getLIR:()Lorg/graalvm/compiler/lir/LIR;
aload 9
invokeinterface org.graalvm.compiler.core.gen.LIRGenerationProvider.emitCode:(Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/lir/LIR;Ljdk/vm/ci/meta/ResolvedJavaMethod;)V
7: aload 1
ifnull 9
aload 1
invokevirtual jdk.vm.ci.meta.Assumptions.isEmpty:()Z
ifne 9
8: aload 8
aload 1
invokevirtual jdk.vm.ci.meta.Assumptions.toArray:()[Ljdk/vm/ci/meta/Assumptions$Assumption;
invokevirtual org.graalvm.compiler.code.CompilationResult.setAssumptions:([Ljdk/vm/ci/meta/Assumptions$Assumption;)V
9: StackMap locals: org.graalvm.compiler.core.target.Backend jdk.vm.ci.meta.Assumptions jdk.vm.ci.meta.ResolvedJavaMethod java.util.Collection jdk.internal.vm.compiler.collections.EconomicSet jdk.vm.ci.meta.SpeculationLog int org.graalvm.compiler.lir.gen.LIRGenerationResult org.graalvm.compiler.code.CompilationResult jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.lir.asm.CompilationResultBuilderFactory org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.core.gen.LIRGenerationProvider org.graalvm.compiler.lir.framemap.FrameMap org.graalvm.compiler.lir.asm.CompilationResultBuilder
StackMap stack:
aload 2
ifnull 13
10: aload 8
aload 2
aload 3
invokevirtual org.graalvm.compiler.code.CompilationResult.setMethods:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/util/Collection;)V
11: aload 8
aload 4
invokevirtual org.graalvm.compiler.code.CompilationResult.setFields:(Ljdk/internal/vm/compiler/collections/EconomicSet;)V
12: aload 8
iload 6
invokevirtual org.graalvm.compiler.code.CompilationResult.setBytecodeSize:(I)V
13: StackMap locals:
StackMap stack:
aload 5
ifnull 15
14: aload 8
aload 5
invokevirtual org.graalvm.compiler.code.CompilationResult.setSpeculationLog:(Ljdk/vm/ci/meta/SpeculationLog;)V
15: StackMap locals:
StackMap stack:
aload 17
invokevirtual org.graalvm.compiler.lir.asm.CompilationResultBuilder.finish:()V
16: aload 11
invokevirtual org.graalvm.compiler.debug.DebugContext.isCountEnabled:()Z
ifeq 39
17: aload 8
invokevirtual org.graalvm.compiler.code.CompilationResult.getDataPatches:()Ljava/util/List;
astore 18
start local 18 18: invokestatic jdk.vm.ci.meta.JavaKind.values:()[Ljdk/vm/ci/meta/JavaKind;
astore 19
start local 19 19: aload 19
arraylength
anewarray org.graalvm.compiler.debug.CounterKey
astore 20
start local 20 20: iconst_0
istore 21
start local 21 21: goto 24
22: StackMap locals: org.graalvm.compiler.core.target.Backend jdk.vm.ci.meta.Assumptions jdk.vm.ci.meta.ResolvedJavaMethod java.util.Collection jdk.internal.vm.compiler.collections.EconomicSet jdk.vm.ci.meta.SpeculationLog int org.graalvm.compiler.lir.gen.LIRGenerationResult org.graalvm.compiler.code.CompilationResult jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.lir.asm.CompilationResultBuilderFactory org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.core.gen.LIRGenerationProvider org.graalvm.compiler.lir.framemap.FrameMap org.graalvm.compiler.lir.asm.CompilationResultBuilder java.util.List jdk.vm.ci.meta.JavaKind[] org.graalvm.compiler.debug.CounterKey[] int
StackMap stack:
aload 20
iload 21
ldc "DataPatches-%s"
aload 19
iload 21
aaload
invokestatic org.graalvm.compiler.debug.DebugContext.counter:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/CounterKey;
aastore
23: iinc 21 1
StackMap locals:
StackMap stack:
24: iload 21
aload 20
arraylength
if_icmplt 22
end local 21 25: aload 18
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 22
goto 33
StackMap locals: org.graalvm.compiler.core.target.Backend jdk.vm.ci.meta.Assumptions jdk.vm.ci.meta.ResolvedJavaMethod java.util.Collection jdk.internal.vm.compiler.collections.EconomicSet jdk.vm.ci.meta.SpeculationLog int org.graalvm.compiler.lir.gen.LIRGenerationResult org.graalvm.compiler.code.CompilationResult jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.lir.asm.CompilationResultBuilderFactory org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.core.gen.LIRGenerationProvider org.graalvm.compiler.lir.framemap.FrameMap org.graalvm.compiler.lir.asm.CompilationResultBuilder java.util.List jdk.vm.ci.meta.JavaKind[] org.graalvm.compiler.debug.CounterKey[] top java.util.Iterator
StackMap stack:
26: aload 22
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.vm.ci.code.site.DataPatch
astore 21
start local 21 27: getstatic jdk.vm.ci.meta.JavaKind.Illegal:Ljdk/vm/ci/meta/JavaKind;
astore 23
start local 23 28: aload 21
getfield jdk.vm.ci.code.site.DataPatch.reference:Ljdk/vm/ci/code/site/Reference;
instanceof jdk.vm.ci.code.site.ConstantReference
ifeq 32
29: aload 21
getfield jdk.vm.ci.code.site.DataPatch.reference:Ljdk/vm/ci/code/site/Reference;
checkcast jdk.vm.ci.code.site.ConstantReference
invokevirtual jdk.vm.ci.code.site.ConstantReference.getConstant:()Ljdk/vm/ci/meta/VMConstant;
astore 24
start local 24 30: aload 24
instanceof jdk.vm.ci.meta.JavaConstant
ifeq 32
31: aload 24
checkcast jdk.vm.ci.meta.JavaConstant
invokeinterface jdk.vm.ci.meta.JavaConstant.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
astore 23
end local 24 32: StackMap locals: org.graalvm.compiler.core.target.Backend jdk.vm.ci.meta.Assumptions jdk.vm.ci.meta.ResolvedJavaMethod java.util.Collection jdk.internal.vm.compiler.collections.EconomicSet jdk.vm.ci.meta.SpeculationLog int org.graalvm.compiler.lir.gen.LIRGenerationResult org.graalvm.compiler.code.CompilationResult jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.lir.asm.CompilationResultBuilderFactory org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.core.gen.LIRGenerationProvider org.graalvm.compiler.lir.framemap.FrameMap org.graalvm.compiler.lir.asm.CompilationResultBuilder java.util.List jdk.vm.ci.meta.JavaKind[] org.graalvm.compiler.debug.CounterKey[] jdk.vm.ci.code.site.DataPatch java.util.Iterator jdk.vm.ci.meta.JavaKind
StackMap stack:
aload 20
aload 23
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
aaload
aload 11
lconst_1
invokeinterface org.graalvm.compiler.debug.CounterKey.add:(Lorg/graalvm/compiler/debug/DebugContext;J)V
end local 23 end local 21 33: StackMap locals: org.graalvm.compiler.core.target.Backend jdk.vm.ci.meta.Assumptions jdk.vm.ci.meta.ResolvedJavaMethod java.util.Collection jdk.internal.vm.compiler.collections.EconomicSet jdk.vm.ci.meta.SpeculationLog int org.graalvm.compiler.lir.gen.LIRGenerationResult org.graalvm.compiler.code.CompilationResult jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.lir.asm.CompilationResultBuilderFactory org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.core.gen.LIRGenerationProvider org.graalvm.compiler.lir.framemap.FrameMap org.graalvm.compiler.lir.asm.CompilationResultBuilder java.util.List jdk.vm.ci.meta.JavaKind[] org.graalvm.compiler.debug.CounterKey[] top java.util.Iterator
StackMap stack:
aload 22
invokeinterface java.util.Iterator.hasNext:()Z
ifne 26
34: ldc "CompilationResults"
invokestatic org.graalvm.compiler.debug.DebugContext.counter:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/CounterKey;
aload 11
invokeinterface org.graalvm.compiler.debug.CounterKey.increment:(Lorg/graalvm/compiler/debug/DebugContext;)V
35: ldc "CodeBytesEmitted"
invokestatic org.graalvm.compiler.debug.DebugContext.counter:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/CounterKey;
aload 11
aload 8
invokevirtual org.graalvm.compiler.code.CompilationResult.getTargetCodeSize:()I
i2l
invokeinterface org.graalvm.compiler.debug.CounterKey.add:(Lorg/graalvm/compiler/debug/DebugContext;J)V
36: ldc "InfopointsEmitted"
invokestatic org.graalvm.compiler.debug.DebugContext.counter:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/CounterKey;
aload 11
aload 8
invokevirtual org.graalvm.compiler.code.CompilationResult.getInfopoints:()Ljava/util/List;
invokeinterface java.util.List.size:()I
i2l
invokeinterface org.graalvm.compiler.debug.CounterKey.add:(Lorg/graalvm/compiler/debug/DebugContext;J)V
37: ldc "DataPatches"
invokestatic org.graalvm.compiler.debug.DebugContext.counter:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/CounterKey;
aload 11
aload 18
invokeinterface java.util.List.size:()I
i2l
invokeinterface org.graalvm.compiler.debug.CounterKey.add:(Lorg/graalvm/compiler/debug/DebugContext;J)V
38: ldc "ExceptionHandlersEmitted"
invokestatic org.graalvm.compiler.debug.DebugContext.counter:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/CounterKey;
aload 11
aload 8
invokevirtual org.graalvm.compiler.code.CompilationResult.getExceptionHandlers:()Ljava/util/List;
invokeinterface java.util.List.size:()I
i2l
invokeinterface org.graalvm.compiler.debug.CounterKey.add:(Lorg/graalvm/compiler/debug/DebugContext;J)V
end local 20 end local 19 end local 18 39: StackMap locals: org.graalvm.compiler.core.target.Backend jdk.vm.ci.meta.Assumptions jdk.vm.ci.meta.ResolvedJavaMethod java.util.Collection jdk.internal.vm.compiler.collections.EconomicSet jdk.vm.ci.meta.SpeculationLog int org.graalvm.compiler.lir.gen.LIRGenerationResult org.graalvm.compiler.code.CompilationResult jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.lir.asm.CompilationResultBuilderFactory org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.core.gen.LIRGenerationProvider org.graalvm.compiler.lir.framemap.FrameMap org.graalvm.compiler.lir.asm.CompilationResultBuilder
StackMap stack:
aload 11
iconst_1
aload 8
ldc "After code generation"
invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;)V
end local 17 end local 16 end local 15 40: aload 14
ifnull 46
aload 14
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
goto 46
StackMap locals: org.graalvm.compiler.core.target.Backend jdk.vm.ci.meta.Assumptions jdk.vm.ci.meta.ResolvedJavaMethod java.util.Collection jdk.internal.vm.compiler.collections.EconomicSet jdk.vm.ci.meta.SpeculationLog int org.graalvm.compiler.lir.gen.LIRGenerationResult org.graalvm.compiler.code.CompilationResult jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.lir.asm.CompilationResultBuilderFactory org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable
StackMap stack: java.lang.Throwable
41: astore 12
aload 14
ifnull 42
aload 14
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
end local 14 StackMap locals:
StackMap stack:
42: aload 12
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
43: astore 13
aload 12
ifnonnull 44
aload 13
astore 12
goto 45
StackMap locals:
StackMap stack:
44: aload 12
aload 13
if_acmpeq 45
aload 12
aload 13
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
45: aload 12
athrow
46: StackMap locals:
StackMap stack:
return
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 47 0 backend Lorg/graalvm/compiler/core/target/Backend;
0 47 1 assumptions Ljdk/vm/ci/meta/Assumptions;
0 47 2 rootMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 47 3 inlinedMethods Ljava/util/Collection<Ljdk/vm/ci/meta/ResolvedJavaMethod;>;
0 47 4 accessedFields Ljdk/internal/vm/compiler/collections/EconomicSet<Ljdk/vm/ci/meta/ResolvedJavaField;>;
0 47 5 speculationLog Ljdk/vm/ci/meta/SpeculationLog;
0 47 6 bytecodeSize I
0 47 7 lirGenRes Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
0 47 8 compilationResult Lorg/graalvm/compiler/code/CompilationResult;
0 47 9 installedCodeOwner Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 47 10 factory Lorg/graalvm/compiler/lir/asm/CompilationResultBuilderFactory;
1 47 11 debug Lorg/graalvm/compiler/debug/DebugContext;
3 42 14 a Lorg/graalvm/compiler/debug/DebugCloseable;
4 40 15 lirBackend Lorg/graalvm/compiler/core/gen/LIRGenerationProvider;
5 40 16 frameMap Lorg/graalvm/compiler/lir/framemap/FrameMap;
6 40 17 crb Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
18 39 18 ldp Ljava/util/List<Ljdk/vm/ci/code/site/DataPatch;>;
19 39 19 kindValues [Ljdk/vm/ci/meta/JavaKind;
20 39 20 dms [Lorg/graalvm/compiler/debug/CounterKey;
21 25 21 i I
27 33 21 dp Ljdk/vm/ci/code/site/DataPatch;
28 33 23 kind Ljdk/vm/ci/meta/JavaKind;
30 32 24 constant Ljdk/vm/ci/meta/VMConstant;
Exception table:
from to target type
3 40 41 any
2 43 43 any
Signature: (Lorg/graalvm/compiler/core/target/Backend;Ljdk/vm/ci/meta/Assumptions;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/util/Collection<Ljdk/vm/ci/meta/ResolvedJavaMethod;>;Ljdk/internal/vm/compiler/collections/EconomicSet<Ljdk/vm/ci/meta/ResolvedJavaField;>;Ljdk/vm/ci/meta/SpeculationLog;ILorg/graalvm/compiler/lir/gen/LIRGenerationResult;Lorg/graalvm/compiler/code/CompilationResult;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/lir/asm/CompilationResultBuilderFactory;)V
MethodParameters:
Name Flags
backend
assumptions
rootMethod
inlinedMethods
accessedFields
speculationLog
bytecodeSize
lirGenRes
compilationResult
installedCodeOwner
factory
}
SourceFile: "LIRCompilerBackend.java"
InnerClasses:
public abstract Assumption = jdk.vm.ci.meta.Assumptions$Assumption of jdk.vm.ci.meta.Assumptions
public final LIRGenerationContext = org.graalvm.compiler.core.LIRGenerationPhase$LIRGenerationContext of org.graalvm.compiler.core.LIRGenerationPhase
public abstract Scope = org.graalvm.compiler.debug.DebugContext$Scope of org.graalvm.compiler.debug.DebugContext
public abstract MoveFactory = org.graalvm.compiler.lir.gen.LIRGeneratorTool$MoveFactory of org.graalvm.compiler.lir.gen.LIRGeneratorTool
public final AllocationContext = org.graalvm.compiler.lir.phases.AllocationPhase$AllocationContext of org.graalvm.compiler.lir.phases.AllocationPhase
public final PostAllocationOptimizationContext = org.graalvm.compiler.lir.phases.PostAllocationOptimizationPhase$PostAllocationOptimizationContext of org.graalvm.compiler.lir.phases.PostAllocationOptimizationPhase
public final PreAllocationOptimizationContext = org.graalvm.compiler.lir.phases.PreAllocationOptimizationPhase$PreAllocationOptimizationContext of org.graalvm.compiler.lir.phases.PreAllocationOptimizationPhase
public ScheduleResult = org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult of org.graalvm.compiler.nodes.StructuredGraph