public class org.graalvm.compiler.hotspot.amd64.AMD64HotSpotBackend extends org.graalvm.compiler.hotspot.HotSpotHostBackend
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotBackend
super_class: org.graalvm.compiler.hotspot.HotSpotHostBackend
{
public static final int PATCHED_VERIFIED_ENTRY_POINT_INSTRUCTION_SIZE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 5
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/graalvm/compiler/hotspot/amd64/AMD64HotSpotBackend;
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.hotspot.amd64.AMD64HotSpotBackend.$assertionsDisabled:Z
3: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.graalvm.compiler.hotspot.GraalHotSpotVMConfig, org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider, org.graalvm.compiler.hotspot.meta.HotSpotProviders);
descriptor: (Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
invokespecial org.graalvm.compiler.hotspot.HotSpotHostBackend.<init>:(Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/hotspot/amd64/AMD64HotSpotBackend;
0 2 1 config Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
0 2 2 runtime Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
0 2 3 providers Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
MethodParameters:
Name Flags
config
runtime
providers
public org.graalvm.compiler.lir.framemap.FrameMapBuilder newFrameMapBuilder(jdk.vm.ci.code.RegisterConfig);
descriptor: (Ljdk/vm/ci/code/RegisterConfig;)Lorg/graalvm/compiler/lir/framemap/FrameMapBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 1
aload 0
invokevirtual org.graalvm.compiler.hotspot.amd64.AMD64HotSpotBackend.getCodeCache:()Ljdk/vm/ci/code/CodeCacheProvider;
invokeinterface jdk.vm.ci.code.CodeCacheProvider.getRegisterConfig:()Ljdk/vm/ci/code/RegisterConfig;
goto 2
StackMap locals:
StackMap stack:
1: aload 1
StackMap locals:
StackMap stack: jdk.vm.ci.code.RegisterConfig
2: astore 2
start local 2 3: new org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder
dup
aload 0
aload 2
invokevirtual org.graalvm.compiler.hotspot.amd64.AMD64HotSpotBackend.newFrameMap:(Ljdk/vm/ci/code/RegisterConfig;)Lorg/graalvm/compiler/lir/framemap/FrameMap;
aload 0
invokevirtual org.graalvm.compiler.hotspot.amd64.AMD64HotSpotBackend.getCodeCache:()Ljdk/vm/ci/code/CodeCacheProvider;
aload 2
invokespecial org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder.<init>:(Lorg/graalvm/compiler/lir/framemap/FrameMap;Ljdk/vm/ci/code/CodeCacheProvider;Ljdk/vm/ci/code/RegisterConfig;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/hotspot/amd64/AMD64HotSpotBackend;
0 4 1 registerConfig Ljdk/vm/ci/code/RegisterConfig;
3 4 2 registerConfigNonNull Ljdk/vm/ci/code/RegisterConfig;
MethodParameters:
Name Flags
registerConfig
public org.graalvm.compiler.lir.framemap.FrameMap newFrameMap(jdk.vm.ci.code.RegisterConfig);
descriptor: (Ljdk/vm/ci/code/RegisterConfig;)Lorg/graalvm/compiler/lir/framemap/FrameMap;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: new org.graalvm.compiler.lir.amd64.AMD64FrameMap
dup
aload 0
invokevirtual org.graalvm.compiler.hotspot.amd64.AMD64HotSpotBackend.getCodeCache:()Ljdk/vm/ci/code/CodeCacheProvider;
aload 1
aload 0
invokespecial org.graalvm.compiler.lir.amd64.AMD64FrameMap.<init>:(Ljdk/vm/ci/code/CodeCacheProvider;Ljdk/vm/ci/code/RegisterConfig;Lorg/graalvm/compiler/lir/framemap/FrameMap$ReferenceMapBuilderFactory;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/hotspot/amd64/AMD64HotSpotBackend;
0 1 1 registerConfig Ljdk/vm/ci/code/RegisterConfig;
MethodParameters:
Name Flags
registerConfig
public org.graalvm.compiler.lir.gen.LIRGeneratorTool newLIRGenerator(org.graalvm.compiler.lir.gen.LIRGenerationResult);
descriptor: (Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;)Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: new org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRGenerator
dup
aload 0
invokevirtual org.graalvm.compiler.hotspot.amd64.AMD64HotSpotBackend.getProviders:()Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
aload 0
getfield org.graalvm.compiler.hotspot.amd64.AMD64HotSpotBackend.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
aload 1
invokespecial org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRGenerator.<init>:(Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/hotspot/amd64/AMD64HotSpotBackend;
0 1 1 lirGenRes Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
MethodParameters:
Name Flags
lirGenRes
public org.graalvm.compiler.lir.gen.LIRGenerationResult newLIRGenerationResult(org.graalvm.compiler.core.common.CompilationIdentifier, org.graalvm.compiler.lir.LIR, org.graalvm.compiler.lir.framemap.FrameMapBuilder, org.graalvm.compiler.nodes.StructuredGraph, java.lang.Object);
descriptor: (Lorg/graalvm/compiler/core/common/CompilationIdentifier;Lorg/graalvm/compiler/lir/LIR;Lorg/graalvm/compiler/lir/framemap/FrameMapBuilder;Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: new org.graalvm.compiler.hotspot.HotSpotLIRGenerationResult
dup
aload 1
aload 2
aload 3
aload 0
aload 4
aload 5
checkcast org.graalvm.compiler.hotspot.stubs.Stub
invokevirtual org.graalvm.compiler.hotspot.amd64.AMD64HotSpotBackend.makeCallingConvention:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/hotspot/stubs/Stub;)Ljdk/vm/ci/code/CallingConvention;
aload 5
aload 0
getfield org.graalvm.compiler.hotspot.amd64.AMD64HotSpotBackend.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
aload 4
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getMethods:()Ljava/util/List;
invokevirtual org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.requiresReservedStackCheck:(Ljava/util/List;)Z
invokespecial org.graalvm.compiler.hotspot.HotSpotLIRGenerationResult.<init>:(Lorg/graalvm/compiler/core/common/CompilationIdentifier;Lorg/graalvm/compiler/lir/LIR;Lorg/graalvm/compiler/lir/framemap/FrameMapBuilder;Ljdk/vm/ci/code/CallingConvention;Ljava/lang/Object;Z)V
areturn
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 1 0 this Lorg/graalvm/compiler/hotspot/amd64/AMD64HotSpotBackend;
0 1 1 compilationId Lorg/graalvm/compiler/core/common/CompilationIdentifier;
0 1 2 lir Lorg/graalvm/compiler/lir/LIR;
0 1 3 frameMapBuilder Lorg/graalvm/compiler/lir/framemap/FrameMapBuilder;
0 1 4 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 1 5 stub Ljava/lang/Object;
MethodParameters:
Name Flags
compilationId
lir
frameMapBuilder
graph
stub
public org.graalvm.compiler.nodes.spi.NodeLIRBuilderTool newNodeLIRBuilder(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.lir.gen.LIRGeneratorTool);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;)Lorg/graalvm/compiler/nodes/spi/NodeLIRBuilderTool;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new org.graalvm.compiler.hotspot.amd64.AMD64HotSpotNodeLIRBuilder
dup
aload 1
aload 2
new org.graalvm.compiler.core.amd64.AMD64NodeMatchRules
dup
aload 2
invokespecial org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.<init>:(Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;)V
invokespecial org.graalvm.compiler.hotspot.amd64.AMD64HotSpotNodeLIRBuilder.<init>:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/hotspot/amd64/AMD64HotSpotBackend;
0 1 1 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 1 2 lirGen Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
MethodParameters:
Name Flags
graph
lirGen
protected void bangStackWithOffset(org.graalvm.compiler.lir.asm.CompilationResultBuilder, int);
descriptor: (Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;I)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield org.graalvm.compiler.lir.asm.CompilationResultBuilder.asm:Lorg/graalvm/compiler/asm/Assembler;
checkcast org.graalvm.compiler.asm.amd64.AMD64MacroAssembler
astore 3
start local 3 1: aload 3
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.position:()I
istore 4
start local 4 2: aload 3
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
getstatic jdk.vm.ci.amd64.AMD64.rsp:Ljdk/vm/ci/code/Register;
iload 2
ineg
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;I)V
getstatic jdk.vm.ci.amd64.AMD64.rax:Ljdk/vm/ci/code/Register;
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movl:(Lorg/graalvm/compiler/asm/amd64/AMD64Address;Ljdk/vm/ci/code/Register;)V
3: getstatic org.graalvm.compiler.hotspot.amd64.AMD64HotSpotBackend.$assertionsDisabled:Z
ifne 4
aload 3
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.position:()I
iload 4
isub
iconst_5
if_icmpge 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals: org.graalvm.compiler.asm.amd64.AMD64MacroAssembler int
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/compiler/hotspot/amd64/AMD64HotSpotBackend;
0 5 1 crb Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
0 5 2 bangOffset I
1 5 3 asm Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
2 5 4 pos I
MethodParameters:
Name Flags
crb
bangOffset
protected org.graalvm.compiler.asm.Assembler createAssembler(org.graalvm.compiler.lir.framemap.FrameMap);
descriptor: (Lorg/graalvm/compiler/lir/framemap/FrameMap;)Lorg/graalvm/compiler/asm/Assembler;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.graalvm.compiler.hotspot.amd64.AMD64HotSpotBackend.getTarget:()Ljdk/vm/ci/code/TargetDescription;
getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
checkcast jdk.vm.ci.amd64.AMD64
invokevirtual jdk.vm.ci.amd64.AMD64.getFeatures:()Ljava/util/EnumSet;
getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.AVX:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
ifeq 2
1: new org.graalvm.compiler.asm.amd64.AMD64VectorAssembler
dup
aload 0
invokevirtual org.graalvm.compiler.hotspot.amd64.AMD64HotSpotBackend.getTarget:()Ljdk/vm/ci/code/TargetDescription;
invokespecial org.graalvm.compiler.asm.amd64.AMD64VectorAssembler.<init>:(Ljdk/vm/ci/code/TargetDescription;)V
areturn
2: StackMap locals:
StackMap stack:
new org.graalvm.compiler.asm.amd64.AMD64MacroAssembler
dup
aload 0
invokevirtual org.graalvm.compiler.hotspot.amd64.AMD64HotSpotBackend.getTarget:()Ljdk/vm/ci/code/TargetDescription;
invokespecial org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.<init>:(Ljdk/vm/ci/code/TargetDescription;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/hotspot/amd64/AMD64HotSpotBackend;
0 3 1 frameMap Lorg/graalvm/compiler/lir/framemap/FrameMap;
MethodParameters:
Name Flags
frameMap
public org.graalvm.compiler.lir.asm.CompilationResultBuilder newCompilationResultBuilder(org.graalvm.compiler.lir.gen.LIRGenerationResult, org.graalvm.compiler.lir.framemap.FrameMap, org.graalvm.compiler.code.CompilationResult, org.graalvm.compiler.lir.asm.CompilationResultBuilderFactory);
descriptor: (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;
flags: (0x0001) ACC_PUBLIC
Code:
stack=11, locals=17, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
checkcast org.graalvm.compiler.hotspot.HotSpotLIRGenerationResult
astore 5
start local 5 1: aload 5
invokevirtual org.graalvm.compiler.hotspot.HotSpotLIRGenerationResult.getLIR:()Lorg/graalvm/compiler/lir/LIR;
astore 6
start local 6 2: getstatic org.graalvm.compiler.hotspot.amd64.AMD64HotSpotBackend.$assertionsDisabled:Z
ifne 3
aload 5
invokevirtual org.graalvm.compiler.hotspot.HotSpotLIRGenerationResult.getDeoptimizationRescueSlot:()Ljdk/vm/ci/code/StackSlot;
ifnull 3
aload 2
invokevirtual org.graalvm.compiler.lir.framemap.FrameMap.frameNeedsAllocating:()Z
ifne 3
new java.lang.AssertionError
dup
ldc "method that can deoptimize must have a frame"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
3: StackMap locals: org.graalvm.compiler.hotspot.HotSpotLIRGenerationResult org.graalvm.compiler.lir.LIR
StackMap stack:
aload 6
invokevirtual org.graalvm.compiler.lir.LIR.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
astore 7
start local 7 4: aload 6
invokevirtual org.graalvm.compiler.lir.LIR.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
astore 8
start local 8 5: getstatic org.graalvm.compiler.core.common.GraalOptions.CanOmitFrame:Lorg/graalvm/compiler/options/OptionKey;
aload 7
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
ifeq 6
aload 2
invokevirtual org.graalvm.compiler.lir.framemap.FrameMap.frameNeedsAllocating:()Z
ifne 6
aload 6
invokevirtual org.graalvm.compiler.lir.LIR.hasArgInCallerFrame:()Z
ifne 6
aload 5
invokevirtual org.graalvm.compiler.hotspot.HotSpotLIRGenerationResult.hasForeignCall:()Z
ifne 6
iconst_1
goto 7
StackMap locals: org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext
StackMap stack:
6: iconst_0
StackMap locals:
StackMap stack: int
7: istore 9
start local 9 8: aload 5
invokevirtual org.graalvm.compiler.hotspot.HotSpotLIRGenerationResult.getStub:()Lorg/graalvm/compiler/hotspot/stubs/Stub;
astore 10
start local 10 9: aload 0
aload 2
invokevirtual org.graalvm.compiler.hotspot.amd64.AMD64HotSpotBackend.createAssembler:(Lorg/graalvm/compiler/lir/framemap/FrameMap;)Lorg/graalvm/compiler/asm/Assembler;
astore 11
start local 11 10: new org.graalvm.compiler.hotspot.amd64.AMD64HotSpotBackend$HotSpotFrameContext
dup
aload 0
aload 10
ifnull 11
iconst_1
goto 12
StackMap locals: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotBackend org.graalvm.compiler.lir.gen.LIRGenerationResult org.graalvm.compiler.lir.framemap.FrameMap org.graalvm.compiler.code.CompilationResult org.graalvm.compiler.lir.asm.CompilationResultBuilderFactory org.graalvm.compiler.hotspot.HotSpotLIRGenerationResult org.graalvm.compiler.lir.LIR org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext int org.graalvm.compiler.hotspot.stubs.Stub org.graalvm.compiler.asm.Assembler
StackMap stack: new 10 new 10 org.graalvm.compiler.hotspot.amd64.AMD64HotSpotBackend
11: iconst_0
StackMap locals: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotBackend org.graalvm.compiler.lir.gen.LIRGenerationResult org.graalvm.compiler.lir.framemap.FrameMap org.graalvm.compiler.code.CompilationResult org.graalvm.compiler.lir.asm.CompilationResultBuilderFactory org.graalvm.compiler.hotspot.HotSpotLIRGenerationResult org.graalvm.compiler.lir.LIR org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext int org.graalvm.compiler.hotspot.stubs.Stub org.graalvm.compiler.asm.Assembler
StackMap stack: new 10 new 10 org.graalvm.compiler.hotspot.amd64.AMD64HotSpotBackend int
12: iload 9
invokespecial org.graalvm.compiler.hotspot.amd64.AMD64HotSpotBackend$HotSpotFrameContext.<init>:(Lorg/graalvm/compiler/hotspot/amd64/AMD64HotSpotBackend;ZZ)V
astore 12
start local 12 13: new org.graalvm.compiler.hotspot.HotSpotDataBuilder
dup
aload 0
invokevirtual org.graalvm.compiler.hotspot.amd64.AMD64HotSpotBackend.getCodeCache:()Ljdk/vm/ci/code/CodeCacheProvider;
invokeinterface jdk.vm.ci.code.CodeCacheProvider.getTarget:()Ljdk/vm/ci/code/TargetDescription;
invokespecial org.graalvm.compiler.hotspot.HotSpotDataBuilder.<init>:(Ljdk/vm/ci/code/TargetDescription;)V
astore 13
start local 13 14: aload 4
aload 0
invokevirtual org.graalvm.compiler.hotspot.amd64.AMD64HotSpotBackend.getCodeCache:()Ljdk/vm/ci/code/CodeCacheProvider;
aload 0
invokevirtual org.graalvm.compiler.hotspot.amd64.AMD64HotSpotBackend.getForeignCalls:()Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;
aload 2
aload 11
aload 13
aload 12
aload 7
aload 8
aload 3
getstatic jdk.vm.ci.code.Register.None:Ljdk/vm/ci/code/Register;
invokeinterface org.graalvm.compiler.lir.asm.CompilationResultBuilderFactory.createBuilder:(Ljdk/vm/ci/code/CodeCacheProvider;Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;Lorg/graalvm/compiler/lir/framemap/FrameMap;Lorg/graalvm/compiler/asm/Assembler;Lorg/graalvm/compiler/lir/asm/DataBuilder;Lorg/graalvm/compiler/lir/asm/FrameContext;Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/code/CompilationResult;Ljdk/vm/ci/code/Register;)Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
astore 14
start local 14 15: aload 14
aload 2
invokevirtual org.graalvm.compiler.lir.framemap.FrameMap.totalFrameSize:()I
invokevirtual org.graalvm.compiler.lir.asm.CompilationResultBuilder.setTotalFrameSize:(I)V
16: aload 14
aload 5
invokevirtual org.graalvm.compiler.hotspot.HotSpotLIRGenerationResult.getMaxInterpreterFrameSize:()I
invokevirtual org.graalvm.compiler.lir.asm.CompilationResultBuilder.setMaxInterpreterFrameSize:(I)V
17: aload 5
invokevirtual org.graalvm.compiler.hotspot.HotSpotLIRGenerationResult.getDeoptimizationRescueSlot:()Ljdk/vm/ci/code/StackSlot;
astore 15
start local 15 18: aload 15
ifnull 20
aload 10
ifnonnull 20
19: aload 14
getfield org.graalvm.compiler.lir.asm.CompilationResultBuilder.compilationResult:Lorg/graalvm/compiler/code/CompilationResult;
aload 15
invokevirtual org.graalvm.compiler.code.CompilationResult.setCustomStackAreaOffset:(Ljdk/vm/ci/code/StackSlot;)V
20: StackMap locals: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotBackend org.graalvm.compiler.lir.gen.LIRGenerationResult org.graalvm.compiler.lir.framemap.FrameMap org.graalvm.compiler.code.CompilationResult org.graalvm.compiler.lir.asm.CompilationResultBuilderFactory org.graalvm.compiler.hotspot.HotSpotLIRGenerationResult org.graalvm.compiler.lir.LIR org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext int org.graalvm.compiler.hotspot.stubs.Stub org.graalvm.compiler.asm.Assembler org.graalvm.compiler.hotspot.amd64.AMD64HotSpotBackend$HotSpotFrameContext org.graalvm.compiler.lir.asm.DataBuilder org.graalvm.compiler.lir.asm.CompilationResultBuilder jdk.vm.ci.code.StackSlot
StackMap stack:
aload 10
ifnull 23
21: aload 0
aload 6
invokevirtual org.graalvm.compiler.hotspot.amd64.AMD64HotSpotBackend.gatherDestroyedCallerRegisters:(Lorg/graalvm/compiler/lir/LIR;)Ljdk/internal/vm/compiler/collections/EconomicSet;
astore 16
start local 16 22: aload 0
aload 10
aload 16
aload 5
invokevirtual org.graalvm.compiler.hotspot.HotSpotLIRGenerationResult.getCalleeSaveInfo:()Ljdk/internal/vm/compiler/collections/EconomicMap;
aload 2
invokevirtual org.graalvm.compiler.hotspot.amd64.AMD64HotSpotBackend.updateStub:(Lorg/graalvm/compiler/hotspot/stubs/Stub;Ljdk/internal/vm/compiler/collections/EconomicSet;Ljdk/internal/vm/compiler/collections/EconomicMap;Lorg/graalvm/compiler/lir/framemap/FrameMap;)V
end local 16 23: StackMap locals:
StackMap stack:
aload 14
areturn
end local 15 end local 14 end local 13 end local 12 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 24 0 this Lorg/graalvm/compiler/hotspot/amd64/AMD64HotSpotBackend;
0 24 1 lirGenRen Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
0 24 2 frameMap Lorg/graalvm/compiler/lir/framemap/FrameMap;
0 24 3 compilationResult Lorg/graalvm/compiler/code/CompilationResult;
0 24 4 factory Lorg/graalvm/compiler/lir/asm/CompilationResultBuilderFactory;
1 24 5 gen Lorg/graalvm/compiler/hotspot/HotSpotLIRGenerationResult;
2 24 6 lir Lorg/graalvm/compiler/lir/LIR;
4 24 7 options Lorg/graalvm/compiler/options/OptionValues;
5 24 8 debug Lorg/graalvm/compiler/debug/DebugContext;
8 24 9 omitFrame Z
9 24 10 stub Lorg/graalvm/compiler/hotspot/stubs/Stub;
10 24 11 masm Lorg/graalvm/compiler/asm/Assembler;
13 24 12 frameContext Lorg/graalvm/compiler/hotspot/amd64/AMD64HotSpotBackend$HotSpotFrameContext;
14 24 13 dataBuilder Lorg/graalvm/compiler/lir/asm/DataBuilder;
15 24 14 crb Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
18 24 15 deoptimizationRescueSlot Ljdk/vm/ci/code/StackSlot;
22 23 16 destroyedCallerRegisters Ljdk/internal/vm/compiler/collections/EconomicSet<Ljdk/vm/ci/code/Register;>;
MethodParameters:
Name Flags
lirGenRen
frameMap
compilationResult
factory
public void emitCode(org.graalvm.compiler.lir.asm.CompilationResultBuilder, org.graalvm.compiler.lir.LIR, jdk.vm.ci.meta.ResolvedJavaMethod);
descriptor: (Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/lir/LIR;Ljdk/vm/ci/meta/ResolvedJavaMethod;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
getfield org.graalvm.compiler.lir.asm.CompilationResultBuilder.asm:Lorg/graalvm/compiler/asm/Assembler;
checkcast org.graalvm.compiler.asm.amd64.AMD64MacroAssembler
astore 4
start local 4 1: aload 1
getfield org.graalvm.compiler.lir.asm.CompilationResultBuilder.frameMap:Lorg/graalvm/compiler/lir/framemap/FrameMap;
astore 5
start local 5 2: aload 5
invokevirtual org.graalvm.compiler.lir.framemap.FrameMap.getRegisterConfig:()Ljdk/vm/ci/code/RegisterConfig;
astore 6
start local 6 3: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 7
start local 7 4: aload 0
aload 3
aload 1
aload 4
aload 6
aload 7
invokevirtual org.graalvm.compiler.hotspot.amd64.AMD64HotSpotBackend.emitCodePrefix:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/RegisterConfig;Lorg/graalvm/compiler/asm/Label;)V
5: aload 0
aload 3
aload 1
aload 2
invokevirtual org.graalvm.compiler.hotspot.amd64.AMD64HotSpotBackend.emitCodeBody:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/lir/LIR;)V
6: aload 0
aload 3
aload 1
aload 4
aload 5
invokevirtual org.graalvm.compiler.hotspot.amd64.AMD64HotSpotBackend.emitCodeSuffix:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Lorg/graalvm/compiler/lir/framemap/FrameMap;)V
7: aload 0
aload 2
aload 1
invokevirtual org.graalvm.compiler.hotspot.amd64.AMD64HotSpotBackend.profileInstructions:(Lorg/graalvm/compiler/lir/LIR;Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;)V
8: return
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 9 0 this Lorg/graalvm/compiler/hotspot/amd64/AMD64HotSpotBackend;
0 9 1 crb Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
0 9 2 lir Lorg/graalvm/compiler/lir/LIR;
0 9 3 installedCodeOwner Ljdk/vm/ci/meta/ResolvedJavaMethod;
1 9 4 asm Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
2 9 5 frameMap Lorg/graalvm/compiler/lir/framemap/FrameMap;
3 9 6 regConfig Ljdk/vm/ci/code/RegisterConfig;
4 9 7 verifiedEntry Lorg/graalvm/compiler/asm/Label;
MethodParameters:
Name Flags
crb
lir
installedCodeOwner
public void emitCodePrefix(jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.lir.asm.CompilationResultBuilder, org.graalvm.compiler.asm.amd64.AMD64MacroAssembler, jdk.vm.ci.code.RegisterConfig, org.graalvm.compiler.asm.Label);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/RegisterConfig;Lorg/graalvm/compiler/asm/Label;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=12, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokevirtual org.graalvm.compiler.hotspot.amd64.AMD64HotSpotBackend.getProviders:()Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
astore 6
start local 6 1: aload 1
ifnull 20
aload 1
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.isStatic:()Z
ifne 20
2: aload 2
aload 0
getfield org.graalvm.compiler.hotspot.amd64.AMD64HotSpotBackend.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.MARKID_UNVERIFIED_ENTRY:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual org.graalvm.compiler.lir.asm.CompilationResultBuilder.recordMark:(Ljava/lang/Object;)Ljdk/vm/ci/code/site/Mark;
pop
3: aload 4
getstatic jdk.vm.ci.hotspot.HotSpotCallingConventionType.JavaCallee:Ljdk/vm/ci/hotspot/HotSpotCallingConventionType;
aconst_null
iconst_1
anewarray jdk.vm.ci.meta.JavaType
dup
iconst_0
aload 6
invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
ldc Ljava/lang/Object;
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
aastore
aload 0
invokeinterface jdk.vm.ci.code.RegisterConfig.getCallingConvention:(Ljdk/vm/ci/code/CallingConvention$Type;Ljdk/vm/ci/meta/JavaType;[Ljdk/vm/ci/meta/JavaType;Ljdk/vm/ci/code/ValueKindFactory;)Ljdk/vm/ci/code/CallingConvention;
astore 7
start local 7 4: getstatic jdk.vm.ci.amd64.AMD64.rax:Ljdk/vm/ci/code/Register;
astore 8
start local 8 5: aload 7
iconst_0
invokevirtual jdk.vm.ci.code.CallingConvention.getArgument:(I)Ljdk/vm/ci/meta/AllocatableValue;
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
astore 9
start local 9 6: new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 9
aload 0
getfield org.graalvm.compiler.hotspot.amd64.AMD64HotSpotBackend.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.hubOffset:I
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;I)V
astore 10
start local 10 7: aload 0
getfield org.graalvm.compiler.hotspot.amd64.AMD64HotSpotBackend.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.useCompressedClassPointers:Z
ifeq 18
8: getstatic jdk.vm.ci.amd64.AMD64.r10:Ljdk/vm/ci/code/Register;
astore 11
start local 11 9: aload 2
aload 3
aload 11
aload 6
invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.getRegisters:()Lorg/graalvm/compiler/hotspot/meta/HotSpotRegistersProvider;
invokeinterface org.graalvm.compiler.hotspot.meta.HotSpotRegistersProvider.getHeapBaseRegister:()Ljdk/vm/ci/code/Register;
aload 10
aload 0
getfield org.graalvm.compiler.hotspot.amd64.AMD64HotSpotBackend.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
invokestatic org.graalvm.compiler.hotspot.amd64.AMD64HotSpotMove.decodeKlassPointer:(Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)V
10: getstatic org.graalvm.compiler.core.common.GraalOptions.GeneratePIC:Lorg/graalvm/compiler/options/OptionKey;
aload 2
invokevirtual org.graalvm.compiler.lir.asm.CompilationResultBuilder.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
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
ifeq 14
11: aload 3
aload 6
invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.getRegisters:()Lorg/graalvm/compiler/hotspot/meta/HotSpotRegistersProvider;
invokeinterface org.graalvm.compiler.hotspot.meta.HotSpotRegistersProvider.getHeapBaseRegister:()Ljdk/vm/ci/code/Register;
aload 3
iconst_m1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.getPlaceholder:(I)Lorg/graalvm/compiler/asm/amd64/AMD64Address;
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movq:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
12: aload 2
aload 0
getfield org.graalvm.compiler.hotspot.amd64.AMD64HotSpotBackend.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.MARKID_NARROW_OOP_BASE_ADDRESS:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual org.graalvm.compiler.lir.asm.CompilationResultBuilder.recordMark:(Ljava/lang/Object;)Ljdk/vm/ci/code/site/Mark;
pop
13: goto 16
14: StackMap locals: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotBackend jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.RegisterConfig org.graalvm.compiler.asm.Label org.graalvm.compiler.hotspot.meta.HotSpotProviders jdk.vm.ci.code.CallingConvention jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.amd64.AMD64Address jdk.vm.ci.code.Register
StackMap stack:
aload 0
getfield org.graalvm.compiler.hotspot.amd64.AMD64HotSpotBackend.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.narrowKlassBase:J
lconst_0
lcmp
ifeq 16
15: aload 3
aload 6
invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.getRegisters:()Lorg/graalvm/compiler/hotspot/meta/HotSpotRegistersProvider;
invokeinterface org.graalvm.compiler.hotspot.meta.HotSpotRegistersProvider.getHeapBaseRegister:()Ljdk/vm/ci/code/Register;
aload 0
getfield org.graalvm.compiler.hotspot.amd64.AMD64HotSpotBackend.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.narrowOopBase:J
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movq:(Ljdk/vm/ci/code/Register;J)V
16: StackMap locals:
StackMap stack:
aload 3
aload 8
aload 11
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.cmpq:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
end local 11 17: goto 19
18: StackMap locals:
StackMap stack:
aload 3
aload 8
aload 10
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.cmpq:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
19: StackMap locals:
StackMap stack:
aload 2
aload 3
aload 0
invokevirtual org.graalvm.compiler.hotspot.amd64.AMD64HotSpotBackend.getForeignCalls:()Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;
getstatic org.graalvm.compiler.hotspot.amd64.AMD64HotSpotBackend.IC_MISS_HANDLER:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
invokeinterface org.graalvm.compiler.core.common.spi.ForeignCallsProvider.lookupForeignCall:(Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;)Lorg/graalvm/compiler/core/common/spi/ForeignCallLinkage;
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.NotEqual:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
invokestatic org.graalvm.compiler.lir.amd64.AMD64Call.directConditionalJmp:(Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/meta/InvokeTarget;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;)V
end local 10 end local 9 end local 8 end local 7 20: StackMap locals: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotBackend jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.RegisterConfig org.graalvm.compiler.asm.Label org.graalvm.compiler.hotspot.meta.HotSpotProviders
StackMap stack:
aload 3
aload 0
getfield org.graalvm.compiler.hotspot.amd64.AMD64HotSpotBackend.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.codeEntryAlignment:I
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.align:(I)V
21: aload 2
aload 0
getfield org.graalvm.compiler.hotspot.amd64.AMD64HotSpotBackend.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.MARKID_OSR_ENTRY:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual org.graalvm.compiler.lir.asm.CompilationResultBuilder.recordMark:(Ljava/lang/Object;)Ljdk/vm/ci/code/site/Mark;
pop
22: aload 3
aload 5
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
23: aload 2
aload 0
getfield org.graalvm.compiler.hotspot.amd64.AMD64HotSpotBackend.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.MARKID_VERIFIED_ENTRY:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual org.graalvm.compiler.lir.asm.CompilationResultBuilder.recordMark:(Ljava/lang/Object;)Ljdk/vm/ci/code/site/Mark;
pop
24: getstatic org.graalvm.compiler.core.common.GraalOptions.GeneratePIC:Lorg/graalvm/compiler/options/OptionKey;
aload 2
invokevirtual org.graalvm.compiler.lir.asm.CompilationResultBuilder.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
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
ifeq 31
25: aload 2
getfield org.graalvm.compiler.lir.asm.CompilationResultBuilder.frameContext:Lorg/graalvm/compiler/lir/asm/FrameContext;
checkcast org.graalvm.compiler.hotspot.amd64.AMD64HotSpotBackend$HotSpotFrameContext
astore 7
start local 7 26: aload 7
getfield org.graalvm.compiler.hotspot.amd64.AMD64HotSpotBackend$HotSpotFrameContext.isStub:Z
ifne 31
27: aload 2
new jdk.vm.ci.hotspot.HotSpotSentinelConstant
dup
getstatic jdk.vm.ci.amd64.AMD64Kind.QWORD:Ljdk/vm/ci/amd64/AMD64Kind;
invokestatic org.graalvm.compiler.core.common.LIRKind.value:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
getstatic jdk.vm.ci.meta.JavaKind.Long:Ljdk/vm/ci/meta/JavaKind;
invokespecial jdk.vm.ci.hotspot.HotSpotSentinelConstant.<init>:(Ljdk/vm/ci/meta/ValueKind;Ljdk/vm/ci/meta/JavaKind;)V
getstatic org.graalvm.compiler.hotspot.meta.HotSpotConstantLoadAction.MAKE_NOT_ENTRANT:Lorg/graalvm/compiler/hotspot/meta/HotSpotConstantLoadAction;
invokevirtual org.graalvm.compiler.lir.asm.CompilationResultBuilder.recordInlineDataInCodeWithNote:(Ljdk/vm/ci/meta/Constant;Ljava/lang/Object;)V
28: aload 3
getstatic jdk.vm.ci.amd64.AMD64.rax:Ljdk/vm/ci/code/Register;
aload 3
iconst_m1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.getPlaceholder:(I)Lorg/graalvm/compiler/asm/amd64/AMD64Address;
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movq:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
29: aload 3
getstatic jdk.vm.ci.amd64.AMD64.rax:Ljdk/vm/ci/code/Register;
getstatic jdk.vm.ci.amd64.AMD64.rax:Ljdk/vm/ci/code/Register;
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.testq:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
30: aload 2
aload 3
aload 0
invokevirtual org.graalvm.compiler.hotspot.amd64.AMD64HotSpotBackend.getForeignCalls:()Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;
getstatic org.graalvm.compiler.hotspot.amd64.AMD64HotSpotBackend.WRONG_METHOD_HANDLER:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
invokeinterface org.graalvm.compiler.core.common.spi.ForeignCallsProvider.lookupForeignCall:(Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;)Lorg/graalvm/compiler/core/common/spi/ForeignCallLinkage;
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.NotZero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
invokestatic org.graalvm.compiler.lir.amd64.AMD64Call.directConditionalJmp:(Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/meta/InvokeTarget;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;)V
end local 7 31: StackMap locals:
StackMap stack:
return
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 32 0 this Lorg/graalvm/compiler/hotspot/amd64/AMD64HotSpotBackend;
0 32 1 installedCodeOwner Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 32 2 crb Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
0 32 3 asm Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
0 32 4 regConfig Ljdk/vm/ci/code/RegisterConfig;
0 32 5 verifiedEntry Lorg/graalvm/compiler/asm/Label;
1 32 6 providers Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
4 20 7 cc Ljdk/vm/ci/code/CallingConvention;
5 20 8 inlineCacheKlass Ljdk/vm/ci/code/Register;
6 20 9 receiver Ljdk/vm/ci/code/Register;
7 20 10 src Lorg/graalvm/compiler/asm/amd64/AMD64Address;
9 17 11 register Ljdk/vm/ci/code/Register;
26 31 7 frameContext Lorg/graalvm/compiler/hotspot/amd64/AMD64HotSpotBackend$HotSpotFrameContext;
MethodParameters:
Name Flags
installedCodeOwner
crb
asm
regConfig
verifiedEntry
public void emitCodeBody(jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.lir.asm.CompilationResultBuilder, org.graalvm.compiler.lir.LIR);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/lir/LIR;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
aload 3
invokevirtual org.graalvm.compiler.lir.asm.CompilationResultBuilder.emit:(Lorg/graalvm/compiler/lir/LIR;)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/hotspot/amd64/AMD64HotSpotBackend;
0 2 1 installedCodeOwner Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 2 2 crb Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
0 2 3 lir Lorg/graalvm/compiler/lir/LIR;
MethodParameters:
Name Flags
installedCodeOwner
crb
lir
public void emitCodeSuffix(jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.lir.asm.CompilationResultBuilder, org.graalvm.compiler.asm.amd64.AMD64MacroAssembler, org.graalvm.compiler.lir.framemap.FrameMap);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Lorg/graalvm/compiler/lir/framemap/FrameMap;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokevirtual org.graalvm.compiler.hotspot.amd64.AMD64HotSpotBackend.getProviders:()Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
astore 5
start local 5 1: aload 2
getfield org.graalvm.compiler.lir.asm.CompilationResultBuilder.frameContext:Lorg/graalvm/compiler/lir/asm/FrameContext;
checkcast org.graalvm.compiler.hotspot.amd64.AMD64HotSpotBackend$HotSpotFrameContext
astore 6
start local 6 2: aload 6
getfield org.graalvm.compiler.hotspot.amd64.AMD64HotSpotBackend$HotSpotFrameContext.isStub:Z
ifne 9
3: aload 5
invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.getForeignCalls:()Lorg/graalvm/compiler/hotspot/meta/HotSpotForeignCallsProvider;
astore 7
start local 7 4: aload 2
aload 0
getfield org.graalvm.compiler.hotspot.amd64.AMD64HotSpotBackend.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.MARKID_EXCEPTION_HANDLER_ENTRY:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual org.graalvm.compiler.lir.asm.CompilationResultBuilder.recordMark:(Ljava/lang/Object;)Ljdk/vm/ci/code/site/Mark;
pop
5: aload 2
aload 3
aload 7
getstatic org.graalvm.compiler.hotspot.amd64.AMD64HotSpotBackend.EXCEPTION_HANDLER:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
invokeinterface org.graalvm.compiler.hotspot.meta.HotSpotForeignCallsProvider.lookupForeignCall:(Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;)Lorg/graalvm/compiler/core/common/spi/ForeignCallLinkage;
aconst_null
iconst_0
aconst_null
invokestatic org.graalvm.compiler.lir.amd64.AMD64Call.directCall:(Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/meta/InvokeTarget;Ljdk/vm/ci/code/Register;ZLorg/graalvm/compiler/lir/LIRFrameState;)I
pop
6: aload 2
aload 0
getfield org.graalvm.compiler.hotspot.amd64.AMD64HotSpotBackend.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.MARKID_DEOPT_HANDLER_ENTRY:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual org.graalvm.compiler.lir.asm.CompilationResultBuilder.recordMark:(Ljava/lang/Object;)Ljdk/vm/ci/code/site/Mark;
pop
7: aload 2
aload 3
aload 7
getstatic org.graalvm.compiler.hotspot.amd64.AMD64HotSpotBackend.DEOPTIMIZATION_HANDLER:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
invokeinterface org.graalvm.compiler.hotspot.meta.HotSpotForeignCallsProvider.lookupForeignCall:(Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;)Lorg/graalvm/compiler/core/common/spi/ForeignCallLinkage;
aconst_null
iconst_0
aconst_null
invokestatic org.graalvm.compiler.lir.amd64.AMD64Call.directCall:(Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/meta/InvokeTarget;Ljdk/vm/ci/code/Register;ZLorg/graalvm/compiler/lir/LIRFrameState;)I
pop
end local 7 8: goto 11
9: StackMap locals: org.graalvm.compiler.hotspot.meta.HotSpotProviders org.graalvm.compiler.hotspot.amd64.AMD64HotSpotBackend$HotSpotFrameContext
StackMap stack:
aload 6
getfield org.graalvm.compiler.hotspot.amd64.AMD64HotSpotBackend$HotSpotFrameContext.omitFrame:Z
ifeq 11
10: getstatic org.graalvm.compiler.hotspot.amd64.AMD64HotSpotBackend.$assertionsDisabled:Z
ifne 11
aload 4
invokevirtual org.graalvm.compiler.lir.framemap.FrameMap.accessesCallerFrame:()Z
ifeq 11
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
11: StackMap locals:
StackMap stack:
return
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 12 0 this Lorg/graalvm/compiler/hotspot/amd64/AMD64HotSpotBackend;
0 12 1 installedCodeOwner Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 12 2 crb Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
0 12 3 asm Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
0 12 4 frameMap Lorg/graalvm/compiler/lir/framemap/FrameMap;
1 12 5 providers Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
2 12 6 frameContext Lorg/graalvm/compiler/hotspot/amd64/AMD64HotSpotBackend$HotSpotFrameContext;
4 8 7 foreignCalls Lorg/graalvm/compiler/hotspot/meta/HotSpotForeignCallsProvider;
MethodParameters:
Name Flags
installedCodeOwner
crb
asm
frameMap
public org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig newRegisterAllocationConfig(jdk.vm.ci.code.RegisterConfig, java.lang.String[]);
descriptor: (Ljdk/vm/ci/code/RegisterConfig;[Ljava/lang/String;)Lorg/graalvm/compiler/core/common/alloc/RegisterAllocationConfig;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 1
aload 0
invokevirtual org.graalvm.compiler.hotspot.amd64.AMD64HotSpotBackend.getCodeCache:()Ljdk/vm/ci/code/CodeCacheProvider;
invokeinterface jdk.vm.ci.code.CodeCacheProvider.getRegisterConfig:()Ljdk/vm/ci/code/RegisterConfig;
goto 2
StackMap locals:
StackMap stack:
1: aload 1
StackMap locals:
StackMap stack: jdk.vm.ci.code.RegisterConfig
2: astore 3
start local 3 3: new org.graalvm.compiler.hotspot.amd64.AMD64HotSpotRegisterAllocationConfig
dup
aload 3
aload 2
invokespecial org.graalvm.compiler.hotspot.amd64.AMD64HotSpotRegisterAllocationConfig.<init>:(Ljdk/vm/ci/code/RegisterConfig;[Ljava/lang/String;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/hotspot/amd64/AMD64HotSpotBackend;
0 4 1 registerConfig Ljdk/vm/ci/code/RegisterConfig;
0 4 2 allocationRestrictedTo [Ljava/lang/String;
3 4 3 registerConfigNonNull Ljdk/vm/ci/code/RegisterConfig;
MethodParameters:
Name Flags
registerConfig
allocationRestrictedTo
public jdk.internal.vm.compiler.collections.EconomicSet<jdk.vm.ci.code.Register> translateToCallerRegisters(jdk.internal.vm.compiler.collections.EconomicSet<jdk.vm.ci.code.Register>);
descriptor: (Ljdk/internal/vm/compiler/collections/EconomicSet;)Ljdk/internal/vm/compiler/collections/EconomicSet;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/hotspot/amd64/AMD64HotSpotBackend;
0 1 1 calleeRegisters Ljdk/internal/vm/compiler/collections/EconomicSet<Ljdk/vm/ci/code/Register;>;
Signature: (Ljdk/internal/vm/compiler/collections/EconomicSet<Ljdk/vm/ci/code/Register;>;)Ljdk/internal/vm/compiler/collections/EconomicSet<Ljdk/vm/ci/code/Register;>;
MethodParameters:
Name Flags
calleeRegisters
}
SourceFile: "AMD64HotSpotBackend.java"
NestMembers:
org.graalvm.compiler.hotspot.amd64.AMD64HotSpotBackend$HotSpotFrameContext
InnerClasses:
public final CPUFeature = jdk.vm.ci.amd64.AMD64$CPUFeature of jdk.vm.ci.amd64.AMD64
public abstract Type = jdk.vm.ci.code.CallingConvention$Type of jdk.vm.ci.code.CallingConvention
public final ConditionFlag = org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag of org.graalvm.compiler.asm.amd64.AMD64Assembler
HotSpotFrameContext = org.graalvm.compiler.hotspot.amd64.AMD64HotSpotBackend$HotSpotFrameContext of org.graalvm.compiler.hotspot.amd64.AMD64HotSpotBackend
public abstract SaveRegistersOp = org.graalvm.compiler.lir.StandardOp$SaveRegistersOp of org.graalvm.compiler.lir.StandardOp
public abstract ReferenceMapBuilderFactory = org.graalvm.compiler.lir.framemap.FrameMap$ReferenceMapBuilderFactory of org.graalvm.compiler.lir.framemap.FrameMap