public class org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotBackend 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.aarch64.AArch64HotSpotBackend
super_class: org.graalvm.compiler.hotspot.HotSpotHostBackend
{
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/aarch64/AArch64HotSpotBackend;
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.aarch64.AArch64HotSpotBackend.$assertionsDisabled:Z
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/aarch64/AArch64HotSpotBackend;
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.aarch64.AArch64HotSpotBackend.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.aarch64.AArch64FrameMapBuilder
dup
aload 0
aload 2
invokevirtual org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotBackend.newFrameMap:(Ljdk/vm/ci/code/RegisterConfig;)Lorg/graalvm/compiler/lir/framemap/FrameMap;
aload 0
invokevirtual org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotBackend.getCodeCache:()Ljdk/vm/ci/code/CodeCacheProvider;
aload 2
invokespecial org.graalvm.compiler.lir.aarch64.AArch64FrameMapBuilder.<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/aarch64/AArch64HotSpotBackend;
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.aarch64.AArch64FrameMap
dup
aload 0
invokevirtual org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotBackend.getCodeCache:()Ljdk/vm/ci/code/CodeCacheProvider;
aload 1
aload 0
invokespecial org.graalvm.compiler.lir.aarch64.AArch64FrameMap.<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/aarch64/AArch64HotSpotBackend;
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.aarch64.AArch64HotSpotLIRGenerator
dup
aload 0
invokevirtual org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotBackend.getProviders:()Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
aload 0
getfield org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotBackend.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
aload 1
invokespecial org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotLIRGenerator.<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/aarch64/AArch64HotSpotBackend;
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.aarch64.AArch64HotSpotBackend.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.aarch64.AArch64HotSpotBackend.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/aarch64/AArch64HotSpotBackend;
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.aarch64.AArch64HotSpotNodeLIRBuilder
dup
aload 1
aload 2
new org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules
dup
aload 2
invokespecial org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.<init>:(Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;)V
invokespecial org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotNodeLIRBuilder.<init>:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;)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/aarch64/AArch64HotSpotBackend;
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=7, locals=9, 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.aarch64.AArch64MacroAssembler
astore 3
start local 3 1: aconst_null
astore 4
aconst_null
astore 5
2: aload 3
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.getScratchRegister:()Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$ScratchRegister;
astore 6
start local 6 3: aload 6
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister.getRegister:()Ljdk/vm/ci/code/Register;
astore 7
start local 7 4: aload 3
getstatic jdk.vm.ci.aarch64.AArch64.sp:Ljdk/vm/ci/code/Register;
iload 2
ineg
i2l
aload 7
bipush 8
iconst_0
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.makeAddress:(Ljdk/vm/ci/code/Register;JLjdk/vm/ci/code/Register;IZ)Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
astore 8
start local 8 5: aload 3
bipush 64
getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
aload 8
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.str:(ILjdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Address;)V
end local 8 end local 7 6: aload 6
ifnull 12
aload 6
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister.close:()V
goto 12
StackMap locals: org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotBackend org.graalvm.compiler.lir.asm.CompilationResultBuilder int org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler java.lang.Throwable java.lang.Throwable org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister
StackMap stack: java.lang.Throwable
7: astore 4
aload 6
ifnull 8
aload 6
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister.close:()V
end local 6 StackMap locals:
StackMap stack:
8: aload 4
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
9: astore 5
aload 4
ifnonnull 10
aload 5
astore 4
goto 11
StackMap locals:
StackMap stack:
10: aload 4
aload 5
if_acmpeq 11
aload 4
aload 5
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
11: aload 4
athrow
12: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/graalvm/compiler/hotspot/aarch64/AArch64HotSpotBackend;
0 13 1 crb Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
0 13 2 bangOffset I
1 13 3 masm Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
3 8 6 sc Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$ScratchRegister;
4 6 7 scratch Ljdk/vm/ci/code/Register;
5 6 8 address Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
Exception table:
from to target type
3 6 7 any
2 9 9 any
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: new org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler
dup
aload 0
invokevirtual org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotBackend.getTarget:()Ljdk/vm/ci/code/TargetDescription;
invokespecial org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.<init>:(Ljdk/vm/ci/code/TargetDescription;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/hotspot/aarch64/AArch64HotSpotBackend;
0 1 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=14, 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.aarch64.AArch64HotSpotBackend.$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 5
invokevirtual org.graalvm.compiler.hotspot.HotSpotLIRGenerationResult.getStub:()Lorg/graalvm/compiler/hotspot/stubs/Stub;
astore 7
start local 7 4: aload 0
aload 2
invokevirtual org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotBackend.createAssembler:(Lorg/graalvm/compiler/lir/framemap/FrameMap;)Lorg/graalvm/compiler/asm/Assembler;
astore 8
start local 8 5: new org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotBackend$HotSpotFrameContext
dup
aload 0
aload 7
ifnull 6
iconst_1
goto 7
StackMap locals: org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotBackend 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.hotspot.stubs.Stub org.graalvm.compiler.asm.Assembler
StackMap stack: new 5 new 5 org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotBackend
6: iconst_0
StackMap locals: org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotBackend 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.hotspot.stubs.Stub org.graalvm.compiler.asm.Assembler
StackMap stack: new 5 new 5 org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotBackend int
7: invokespecial org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotBackend$HotSpotFrameContext.<init>:(Lorg/graalvm/compiler/hotspot/aarch64/AArch64HotSpotBackend;Z)V
astore 9
start local 9 8: new org.graalvm.compiler.hotspot.HotSpotDataBuilder
dup
aload 0
invokevirtual org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotBackend.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 10
start local 10 9: aload 4
aload 0
invokevirtual org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotBackend.getCodeCache:()Ljdk/vm/ci/code/CodeCacheProvider;
aload 0
invokevirtual org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotBackend.getForeignCalls:()Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;
aload 2
aload 8
aload 10
aload 9
aload 6
invokevirtual org.graalvm.compiler.lir.LIR.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
aload 6
invokevirtual org.graalvm.compiler.lir.LIR.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
aload 3
10: getstatic jdk.vm.ci.code.Register.None:Ljdk/vm/ci/code/Register;
11: 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 11
start local 11 12: aload 11
aload 2
invokevirtual org.graalvm.compiler.lir.framemap.FrameMap.totalFrameSize:()I
invokevirtual org.graalvm.compiler.lir.asm.CompilationResultBuilder.setTotalFrameSize:(I)V
13: aload 11
aload 5
invokevirtual org.graalvm.compiler.hotspot.HotSpotLIRGenerationResult.getMaxInterpreterFrameSize:()I
invokevirtual org.graalvm.compiler.lir.asm.CompilationResultBuilder.setMaxInterpreterFrameSize:(I)V
14: aload 5
invokevirtual org.graalvm.compiler.hotspot.HotSpotLIRGenerationResult.getDeoptimizationRescueSlot:()Ljdk/vm/ci/code/StackSlot;
astore 12
start local 12 15: aload 12
ifnull 17
aload 7
ifnonnull 17
16: aload 11
getfield org.graalvm.compiler.lir.asm.CompilationResultBuilder.compilationResult:Lorg/graalvm/compiler/code/CompilationResult;
aload 12
invokevirtual org.graalvm.compiler.code.CompilationResult.setCustomStackAreaOffset:(Ljdk/vm/ci/code/StackSlot;)V
17: StackMap locals: org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotBackend 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.hotspot.stubs.Stub org.graalvm.compiler.asm.Assembler org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotBackend$HotSpotFrameContext org.graalvm.compiler.lir.asm.DataBuilder org.graalvm.compiler.lir.asm.CompilationResultBuilder jdk.vm.ci.code.StackSlot
StackMap stack:
aload 7
ifnull 20
18: aload 0
aload 6
invokevirtual org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotBackend.gatherDestroyedCallerRegisters:(Lorg/graalvm/compiler/lir/LIR;)Ljdk/internal/vm/compiler/collections/EconomicSet;
astore 13
start local 13 19: aload 0
aload 7
aload 13
aload 5
invokevirtual org.graalvm.compiler.hotspot.HotSpotLIRGenerationResult.getCalleeSaveInfo:()Ljdk/internal/vm/compiler/collections/EconomicMap;
aload 2
invokevirtual org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotBackend.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 13 20: StackMap locals:
StackMap stack:
aload 11
areturn
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 21 0 this Lorg/graalvm/compiler/hotspot/aarch64/AArch64HotSpotBackend;
0 21 1 lirGenRen Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
0 21 2 frameMap Lorg/graalvm/compiler/lir/framemap/FrameMap;
0 21 3 compilationResult Lorg/graalvm/compiler/code/CompilationResult;
0 21 4 factory Lorg/graalvm/compiler/lir/asm/CompilationResultBuilderFactory;
1 21 5 gen Lorg/graalvm/compiler/hotspot/HotSpotLIRGenerationResult;
2 21 6 lir Lorg/graalvm/compiler/lir/LIR;
4 21 7 stub Lorg/graalvm/compiler/hotspot/stubs/Stub;
5 21 8 masm Lorg/graalvm/compiler/asm/Assembler;
8 21 9 frameContext Lorg/graalvm/compiler/hotspot/aarch64/AArch64HotSpotBackend$HotSpotFrameContext;
9 21 10 dataBuilder Lorg/graalvm/compiler/lir/asm/DataBuilder;
12 21 11 crb Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
15 21 12 deoptimizationRescueSlot Ljdk/vm/ci/code/StackSlot;
19 20 13 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.aarch64.AArch64MacroAssembler
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 1
aload 3
aload 4
aload 6
aload 7
invokevirtual org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotBackend.emitCodePrefix:(Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;Ljdk/vm/ci/code/RegisterConfig;Lorg/graalvm/compiler/asm/Label;)V
5: aload 1
aload 2
aload 4
invokestatic org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotBackend.emitCodeBody:(Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/lir/LIR;Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;)V
6: aload 0
aload 1
aload 4
aload 5
invokevirtual org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotBackend.emitCodeSuffix:(Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;Lorg/graalvm/compiler/lir/framemap/FrameMap;)V
7: 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 8 0 this Lorg/graalvm/compiler/hotspot/aarch64/AArch64HotSpotBackend;
0 8 1 crb Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
0 8 2 lir Lorg/graalvm/compiler/lir/LIR;
0 8 3 installedCodeOwner Ljdk/vm/ci/meta/ResolvedJavaMethod;
1 8 4 masm Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
2 8 5 frameMap Lorg/graalvm/compiler/lir/framemap/FrameMap;
3 8 6 regConfig Ljdk/vm/ci/code/RegisterConfig;
4 8 7 verifiedStub Lorg/graalvm/compiler/asm/Label;
MethodParameters:
Name Flags
crb
lir
installedCodeOwner
private void emitCodePrefix(org.graalvm.compiler.lir.asm.CompilationResultBuilder, jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler, jdk.vm.ci.code.RegisterConfig, org.graalvm.compiler.asm.Label);
descriptor: (Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;Ljdk/vm/ci/code/RegisterConfig;Lorg/graalvm/compiler/asm/Label;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=13, 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.aarch64.AArch64HotSpotBackend.getProviders:()Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
astore 6
start local 6 1: aload 2
ifnull 19
aload 2
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
ifne 19
2: aload 1
aload 0
getfield org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotBackend.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.hotspot.aarch64.AArch64HotSpotRegisterConfig.inlineCacheRegister: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: aload 0
getfield org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotBackend.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.useCompressedClassPointers:Z
ifeq 7
iconst_4
goto 8
StackMap locals: org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotBackend org.graalvm.compiler.lir.asm.CompilationResultBuilder jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler 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
StackMap stack:
7: bipush 8
StackMap locals:
StackMap stack: int
8: istore 10
start local 10 9: aload 3
aload 9
aload 0
getfield org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotBackend.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.hubOffset:I
i2l
iload 10
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.makeAddress:(Ljdk/vm/ci/code/Register;JI)Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
astore 11
start local 11 10: getstatic jdk.vm.ci.aarch64.AArch64.r10:Ljdk/vm/ci/code/Register;
astore 12
start local 12 11: aload 0
getfield org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotBackend.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.useCompressedClassPointers:Z
ifeq 15
12: aload 3
bipush 32
aload 12
aload 11
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.ldr:(ILjdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Address;)V
13: aload 1
aload 3
aload 12
aload 12
aload 0
getfield org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotBackend.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
invokevirtual org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.getKlassEncoding:()Lorg/graalvm/compiler/core/common/CompressEncoding;
aload 0
getfield org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotBackend.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
invokestatic org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotMove.decodeKlassPointer:(Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/core/common/CompressEncoding;Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)V
14: goto 16
15: StackMap locals: int org.graalvm.compiler.asm.aarch64.AArch64Address jdk.vm.ci.code.Register
StackMap stack:
aload 3
bipush 64
aload 12
aload 11
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.ldr:(ILjdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Address;)V
16: StackMap locals:
StackMap stack:
aload 3
bipush 64
aload 8
aload 12
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.cmp:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
17: aload 3
getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag.EQ:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;
aload 5
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.branchConditionally:(Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
18: aload 1
aload 3
aload 0
invokevirtual org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotBackend.getForeignCalls:()Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;
getstatic org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotBackend.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;
invokestatic org.graalvm.compiler.lir.aarch64.AArch64Call.directJmp:(Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;Ljdk/vm/ci/meta/InvokeTarget;)V
end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 19: StackMap locals: org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotBackend org.graalvm.compiler.lir.asm.CompilationResultBuilder jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler 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.aarch64.AArch64HotSpotBackend.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.codeEntryAlignment:I
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.align:(I)V
20: aload 1
aload 0
getfield org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotBackend.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
21: aload 3
aload 5
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
22: aload 1
aload 0
getfield org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotBackend.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
23: getstatic org.graalvm.compiler.core.common.GraalOptions.GeneratePIC:Lorg/graalvm/compiler/options/OptionKey;
aload 1
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 42
24: aload 1
getfield org.graalvm.compiler.lir.asm.CompilationResultBuilder.frameContext:Lorg/graalvm/compiler/lir/asm/FrameContext;
checkcast org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotBackend$HotSpotFrameContext
astore 7
start local 7 25: aload 7
getfield org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotBackend$HotSpotFrameContext.isStub:Z
ifne 42
26: aload 1
new jdk.vm.ci.hotspot.HotSpotSentinelConstant
dup
getstatic jdk.vm.ci.aarch64.AArch64Kind.QWORD:Ljdk/vm/ci/aarch64/AArch64Kind;
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
27: aconst_null
astore 8
aconst_null
astore 9
28: aload 3
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.getScratchRegister:()Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$ScratchRegister;
astore 10
start local 10 29: aload 10
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister.getRegister:()Ljdk/vm/ci/code/Register;
astore 11
start local 11 30: aload 3
aload 11
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.addressOf:(Ljdk/vm/ci/code/Register;)V
31: aload 3
bipush 64
aload 11
aload 11
invokestatic org.graalvm.compiler.asm.aarch64.AArch64Address.createBaseRegisterOnlyAddress:(Ljdk/vm/ci/code/Register;)Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.ldr:(ILjdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Address;)V
32: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 12
start local 12 33: aload 3
bipush 64
aload 11
aload 12
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.cbz:(ILjdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/Label;)V
34: aload 1
aload 3
aload 0
invokevirtual org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotBackend.getForeignCalls:()Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;
getstatic org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotBackend.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;
invokestatic org.graalvm.compiler.lir.aarch64.AArch64Call.directJmp:(Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;Ljdk/vm/ci/meta/InvokeTarget;)V
35: aload 3
aload 12
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
end local 12 end local 11 36: aload 10
ifnull 42
aload 10
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister.close:()V
goto 42
StackMap locals: org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotBackend org.graalvm.compiler.lir.asm.CompilationResultBuilder jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler jdk.vm.ci.code.RegisterConfig org.graalvm.compiler.asm.Label org.graalvm.compiler.hotspot.meta.HotSpotProviders org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotBackend$HotSpotFrameContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister
StackMap stack: java.lang.Throwable
37: astore 8
aload 10
ifnull 38
aload 10
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister.close:()V
end local 10 StackMap locals:
StackMap stack:
38: aload 8
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
39: astore 9
aload 8
ifnonnull 40
aload 9
astore 8
goto 41
StackMap locals:
StackMap stack:
40: aload 8
aload 9
if_acmpeq 41
aload 8
aload 9
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
41: aload 8
athrow
end local 7 42: 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 43 0 this Lorg/graalvm/compiler/hotspot/aarch64/AArch64HotSpotBackend;
0 43 1 crb Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
0 43 2 installedCodeOwner Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 43 3 masm Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
0 43 4 regConfig Ljdk/vm/ci/code/RegisterConfig;
0 43 5 verifiedStub Lorg/graalvm/compiler/asm/Label;
1 43 6 providers Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
4 19 7 cc Ljdk/vm/ci/code/CallingConvention;
5 19 8 inlineCacheKlass Ljdk/vm/ci/code/Register;
6 19 9 receiver Ljdk/vm/ci/code/Register;
9 19 10 transferSize I
10 19 11 klassAddress Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
11 19 12 klass Ljdk/vm/ci/code/Register;
25 42 7 frameContext Lorg/graalvm/compiler/hotspot/aarch64/AArch64HotSpotBackend$HotSpotFrameContext;
29 38 10 sc Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$ScratchRegister;
30 36 11 scratch Ljdk/vm/ci/code/Register;
33 36 12 noCall Lorg/graalvm/compiler/asm/Label;
Exception table:
from to target type
29 36 37 any
28 39 39 any
MethodParameters:
Name Flags
crb
installedCodeOwner
masm
regConfig
verifiedStub
private static void emitCodeBody(org.graalvm.compiler.lir.asm.CompilationResultBuilder, org.graalvm.compiler.lir.LIR, org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler);
descriptor: (Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/lir/LIR;Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
invokestatic org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotBackend.emitInvalidatePlaceholder:(Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;)V
1: aload 0
aload 1
invokevirtual org.graalvm.compiler.lir.asm.CompilationResultBuilder.emit:(Lorg/graalvm/compiler/lir/LIR;)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 crb Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
0 3 1 lir Lorg/graalvm/compiler/lir/LIR;
0 3 2 masm Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
MethodParameters:
Name Flags
crb
lir
masm
public static void emitInvalidatePlaceholder(org.graalvm.compiler.lir.asm.CompilationResultBuilder, org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler);
descriptor: (Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: getstatic org.graalvm.compiler.core.common.GraalOptions.GeneratePIC:Lorg/graalvm/compiler/options/OptionKey;
aload 0
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
ifne 3
1: aload 0
ldc "[nop for method invalidation]"
invokevirtual org.graalvm.compiler.lir.asm.CompilationResultBuilder.blockComment:(Ljava/lang/String;)V
2: aload 1
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.nop:()V
3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 crb Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
0 4 1 masm Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
MethodParameters:
Name Flags
crb
masm
private void emitCodeSuffix(org.graalvm.compiler.lir.asm.CompilationResultBuilder, org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler, org.graalvm.compiler.lir.framemap.FrameMap);
descriptor: (Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;Lorg/graalvm/compiler/lir/framemap/FrameMap;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=13, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotBackend.getProviders:()Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
astore 4
start local 4 1: aload 1
getfield org.graalvm.compiler.lir.asm.CompilationResultBuilder.frameContext:Lorg/graalvm/compiler/lir/asm/FrameContext;
checkcast org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotBackend$HotSpotFrameContext
astore 5
start local 5 2: aload 5
getfield org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotBackend$HotSpotFrameContext.isStub:Z
ifne 24
3: aload 4
invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.getForeignCalls:()Lorg/graalvm/compiler/hotspot/meta/HotSpotForeignCallsProvider;
astore 6
start local 6 4: aconst_null
astore 7
aconst_null
astore 8
5: aload 2
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.getScratchRegister:()Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$ScratchRegister;
astore 9
start local 9 6: aload 9
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister.getRegister:()Ljdk/vm/ci/code/Register;
astore 10
start local 10 7: aload 1
aload 0
getfield org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotBackend.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
8: aload 6
getstatic org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotBackend.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;
astore 11
start local 11 9: aload 11
invokestatic org.graalvm.compiler.lir.aarch64.AArch64Call.isNearCall:(Lorg/graalvm/compiler/core/common/spi/ForeignCallLinkage;)Z
ifeq 10
aconst_null
goto 11
StackMap locals: org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotBackend org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler org.graalvm.compiler.lir.framemap.FrameMap org.graalvm.compiler.hotspot.meta.HotSpotProviders org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotBackend$HotSpotFrameContext org.graalvm.compiler.hotspot.meta.HotSpotForeignCallsProvider java.lang.Throwable java.lang.Throwable org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister jdk.vm.ci.code.Register org.graalvm.compiler.core.common.spi.ForeignCallLinkage
StackMap stack:
10: aload 10
StackMap locals:
StackMap stack: jdk.vm.ci.code.Register
11: astore 12
start local 12 12: aload 1
aload 2
aload 11
aload 12
aconst_null
invokestatic org.graalvm.compiler.lir.aarch64.AArch64Call.directCall:(Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;Ljdk/vm/ci/meta/InvokeTarget;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/lir/LIRFrameState;)V
end local 12 end local 11 end local 10 13: aload 9
ifnull 19
aload 9
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister.close:()V
goto 19
StackMap locals: org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotBackend org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler org.graalvm.compiler.lir.framemap.FrameMap org.graalvm.compiler.hotspot.meta.HotSpotProviders org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotBackend$HotSpotFrameContext org.graalvm.compiler.hotspot.meta.HotSpotForeignCallsProvider java.lang.Throwable java.lang.Throwable org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister
StackMap stack: java.lang.Throwable
14: astore 7
aload 9
ifnull 15
aload 9
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister.close:()V
end local 9 StackMap locals:
StackMap stack:
15: aload 7
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
16: astore 8
aload 7
ifnonnull 17
aload 8
astore 7
goto 18
StackMap locals:
StackMap stack:
17: aload 7
aload 8
if_acmpeq 18
aload 7
aload 8
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
18: aload 7
athrow
19: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotBackend.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
20: aload 6
getstatic org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotBackend.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;
astore 7
start local 7 21: aload 2
getstatic jdk.vm.ci.aarch64.AArch64.lr:Ljdk/vm/ci/code/Register;
iconst_0
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.adr:(Ljdk/vm/ci/code/Register;I)V
22: aload 1
aload 2
aload 7
invokestatic org.graalvm.compiler.lir.aarch64.AArch64Call.directJmp:(Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;Ljdk/vm/ci/meta/InvokeTarget;)V
end local 7 end local 6 23: goto 25
24: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotBackend.$assertionsDisabled:Z
ifne 25
aload 3
invokevirtual org.graalvm.compiler.lir.framemap.FrameMap.accessesCallerFrame:()Z
ifeq 25
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
25: StackMap locals:
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lorg/graalvm/compiler/hotspot/aarch64/AArch64HotSpotBackend;
0 26 1 crb Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
0 26 2 masm Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
0 26 3 frameMap Lorg/graalvm/compiler/lir/framemap/FrameMap;
1 26 4 providers Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
2 26 5 frameContext Lorg/graalvm/compiler/hotspot/aarch64/AArch64HotSpotBackend$HotSpotFrameContext;
4 23 6 foreignCalls Lorg/graalvm/compiler/hotspot/meta/HotSpotForeignCallsProvider;
6 15 9 sc Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$ScratchRegister;
7 13 10 scratch Ljdk/vm/ci/code/Register;
9 13 11 linkage Lorg/graalvm/compiler/core/common/spi/ForeignCallLinkage;
12 13 12 helper Ljdk/vm/ci/code/Register;
21 23 7 linkage Lorg/graalvm/compiler/core/common/spi/ForeignCallLinkage;
Exception table:
from to target type
6 13 14 any
5 16 16 any
MethodParameters:
Name Flags
crb
masm
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.aarch64.AArch64HotSpotBackend.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.aarch64.AArch64HotSpotRegisterAllocationConfig
dup
aload 3
aload 2
invokespecial org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotRegisterAllocationConfig.<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/aarch64/AArch64HotSpotBackend;
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/aarch64/AArch64HotSpotBackend;
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: "AArch64HotSpotBackend.java"
NestMembers:
org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotBackend$HotSpotFrameContext
InnerClasses:
public abstract Type = jdk.vm.ci.code.CallingConvention$Type of jdk.vm.ci.code.CallingConvention
public final ConditionFlag = org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag of org.graalvm.compiler.asm.aarch64.AArch64Assembler
public ScratchRegister = org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister of org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler
private HotSpotFrameContext = org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotBackend$HotSpotFrameContext of org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotBackend
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