public class com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend extends com.oracle.svm.core.graal.code.SubstrateBackend implements org.graalvm.compiler.core.gen.LIRGenerationProvider
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend
super_class: com.oracle.svm.core.graal.code.SubstrateBackend
{
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 Lcom/oracle/svm/core/graal/amd64/SubstrateAMD64Backend;
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 com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
protected static org.graalvm.compiler.core.common.CompressEncoding getCompressEncoding();
descriptor: ()Lorg/graalvm/compiler/core/common/CompressEncoding;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/graalvm/compiler/core/common/CompressEncoding;
invokestatic org.graalvm.nativeimage.ImageSingletons.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast org.graalvm.compiler.core.common.CompressEncoding
areturn
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.graalvm.compiler.phases.util.Providers);
descriptor: (Lorg/graalvm/compiler/phases/util/Providers;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial com.oracle.svm.core.graal.code.SubstrateBackend.<init>:(Lorg/graalvm/compiler/phases/util/Providers;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/svm/core/graal/amd64/SubstrateAMD64Backend;
0 2 1 providers Lorg/graalvm/compiler/phases/util/Providers;
MethodParameters:
Name Flags
providers
static void maybeTransitionToNative(org.graalvm.compiler.lir.asm.CompilationResultBuilder, org.graalvm.compiler.asm.amd64.AMD64MacroAssembler, com.oracle.svm.core.graal.meta.RuntimeConfiguration, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, org.graalvm.compiler.lir.LIRFrameState, int);
descriptor: (Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Lcom/oracle/svm/core/graal/meta/RuntimeConfiguration;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;I)V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=10, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 3
invokestatic jdk.vm.ci.code.ValueUtil.isIllegal:(Ljdk/vm/ci/meta/Value;)Z
ifeq 3
1: getstatic com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend.$assertionsDisabled:Z
ifne 2
iload 6
iconst_m1
if_icmpeq 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
return
3: StackMap locals:
StackMap stack:
getstatic com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend.$assertionsDisabled:Z
ifne 4
iload 6
invokestatic com.oracle.svm.core.thread.VMThreads$StatusSupport.isValidStatus:(I)Z
ifne 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
aload 3
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
astore 7
start local 7 5: aload 4
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
astore 8
start local 8 6: aload 1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.position:()I
istore 9
start local 9 7: aload 1
aload 8
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
getstatic jdk.vm.ci.amd64.AMD64.rip:Ljdk/vm/ci/code/Register;
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;)V
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.leaq:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
8: aload 0
iload 9
aload 1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.position:()I
aconst_null
aload 5
invokevirtual org.graalvm.compiler.lir.asm.CompilationResultBuilder.recordIndirectCall:(IILjdk/vm/ci/meta/InvokeTarget;Lorg/graalvm/compiler/lir/LIRFrameState;)V
9: aload 1
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 7
aload 2
invokevirtual com.oracle.svm.core.graal.meta.RuntimeConfiguration.getJavaFrameAnchorLastIPOffset:()I
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;I)V
aload 8
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movq:(Lorg/graalvm/compiler/asm/amd64/AMD64Address;Ljdk/vm/ci/code/Register;)V
10: aload 1
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 7
aload 2
invokevirtual com.oracle.svm.core.graal.meta.RuntimeConfiguration.getJavaFrameAnchorLastSPOffset:()I
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;I)V
getstatic jdk.vm.ci.amd64.AMD64.rsp:Ljdk/vm/ci/code/Register;
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movq:(Lorg/graalvm/compiler/asm/amd64/AMD64Address;Ljdk/vm/ci/code/Register;)V
11: getstatic com.oracle.svm.core.SubstrateOptions.MultiThreaded:Lcom/oracle/svm/core/option/HostedOptionKey;
invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 13
12: aload 1
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
invokestatic com.oracle.svm.core.ReservedRegisters.singleton:()Lcom/oracle/svm/core/ReservedRegisters;
invokevirtual com.oracle.svm.core.ReservedRegisters.getThreadRegister:()Ljdk/vm/ci/code/Register;
aload 2
invokevirtual com.oracle.svm.core.graal.meta.RuntimeConfiguration.getVMThreadStatusOffset:()I
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;I)V
iload 6
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movl:(Lorg/graalvm/compiler/asm/amd64/AMD64Address;I)V
13: StackMap locals: jdk.vm.ci.code.Register jdk.vm.ci.code.Register int
StackMap stack:
return
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 14 0 crb Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
0 14 1 masm Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
0 14 2 runtimeConfiguration Lcom/oracle/svm/core/graal/meta/RuntimeConfiguration;
0 14 3 javaFrameAnchor Ljdk/vm/ci/meta/Value;
0 14 4 temp Ljdk/vm/ci/meta/Value;
0 14 5 state Lorg/graalvm/compiler/lir/LIRFrameState;
0 14 6 newThreadStatus I
5 14 7 anchor Ljdk/vm/ci/code/Register;
6 14 8 lastJavaIP Ljdk/vm/ci/code/Register;
7 14 9 startPos I
MethodParameters:
Name Flags
crb
masm
runtimeConfiguration
javaFrameAnchor
temp
state
newThreadStatus
private 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: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 1
aload 0
invokevirtual com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend.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.AMD64FrameMap
dup
aload 0
invokevirtual com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend.getProviders:()Lorg/graalvm/compiler/phases/util/Providers;
invokevirtual org.graalvm.compiler.phases.util.Providers.getCodeCache:()Ljdk/vm/ci/code/CodeCacheProvider;
aload 2
new com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend$SubstrateReferenceMapBuilderFactory
dup
invokespecial com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend$SubstrateReferenceMapBuilderFactory.<init>:()V
4: aload 2
checkcast com.oracle.svm.core.graal.amd64.SubstrateAMD64RegisterConfig
invokevirtual com.oracle.svm.core.graal.amd64.SubstrateAMD64RegisterConfig.shouldUseBasePointer:()Z
5: 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;Z)V
astore 3
start local 3 6: new org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder
dup
aload 3
aload 0
invokevirtual com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend.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 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/svm/core/graal/amd64/SubstrateAMD64Backend;
0 7 1 registerConfig Ljdk/vm/ci/code/RegisterConfig;
3 7 2 registerConfigNonNull Ljdk/vm/ci/code/RegisterConfig;
6 7 3 frameMap Lorg/graalvm/compiler/lir/framemap/FrameMap;
MethodParameters:
Name Flags
registerConfig
public org.graalvm.compiler.lir.gen.LIRGenerationResult newLIRGenerationResult(org.graalvm.compiler.core.common.CompilationIdentifier, org.graalvm.compiler.lir.LIR, org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig, org.graalvm.compiler.nodes.StructuredGraph, java.lang.Object);
descriptor: (Lorg/graalvm/compiler/core/common/CompilationIdentifier;Lorg/graalvm/compiler/lir/LIR;Lorg/graalvm/compiler/core/common/alloc/RegisterAllocationConfig;Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=8, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 4
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.method:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
checkcast com.oracle.svm.core.meta.SharedMethod
astore 6
start local 6 1: aload 0
invokevirtual com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend.getCodeCache:()Ljdk/vm/ci/code/CodeCacheProvider;
aload 6
invokeinterface com.oracle.svm.core.meta.SharedMethod.isEntryPoint:()Z
ifeq 2
getstatic com.oracle.svm.core.graal.code.SubstrateCallingConventionType.NativeCallee:Lcom/oracle/svm/core/graal/code/SubstrateCallingConventionType;
goto 3
2: StackMap locals: com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend org.graalvm.compiler.core.common.CompilationIdentifier org.graalvm.compiler.lir.LIR org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig org.graalvm.compiler.nodes.StructuredGraph java.lang.Object com.oracle.svm.core.meta.SharedMethod
StackMap stack: jdk.vm.ci.code.CodeCacheProvider
getstatic com.oracle.svm.core.graal.code.SubstrateCallingConventionType.JavaCallee:Lcom/oracle/svm/core/graal/code/SubstrateCallingConventionType;
StackMap locals: com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend org.graalvm.compiler.core.common.CompilationIdentifier org.graalvm.compiler.lir.LIR org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig org.graalvm.compiler.nodes.StructuredGraph java.lang.Object com.oracle.svm.core.meta.SharedMethod
StackMap stack: jdk.vm.ci.code.CodeCacheProvider com.oracle.svm.core.graal.code.SubstrateCallingConventionType
3: aload 6
aload 0
4: invokestatic jdk.vm.ci.code.CodeUtil.getCallingConvention:(Ljdk/vm/ci/code/CodeCacheProvider;Ljdk/vm/ci/code/CallingConvention$Type;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/code/ValueKindFactory;)Ljdk/vm/ci/code/CallingConvention;
astore 7
start local 7 5: new com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend$SubstrateLIRGenerationResult
dup
aload 1
aload 2
aload 0
aload 3
invokevirtual org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig.getRegisterConfig:()Ljdk/vm/ci/code/RegisterConfig;
invokevirtual com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend.newFrameMapBuilder:(Ljdk/vm/ci/code/RegisterConfig;)Lorg/graalvm/compiler/lir/framemap/FrameMapBuilder;
aload 7
aload 3
aload 6
invokespecial com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend$SubstrateLIRGenerationResult.<init>:(Lorg/graalvm/compiler/core/common/CompilationIdentifier;Lorg/graalvm/compiler/lir/LIR;Lorg/graalvm/compiler/lir/framemap/FrameMapBuilder;Ljdk/vm/ci/code/CallingConvention;Lorg/graalvm/compiler/core/common/alloc/RegisterAllocationConfig;Lcom/oracle/svm/core/meta/SharedMethod;)V
areturn
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 6 0 this Lcom/oracle/svm/core/graal/amd64/SubstrateAMD64Backend;
0 6 1 compilationId Lorg/graalvm/compiler/core/common/CompilationIdentifier;
0 6 2 lir Lorg/graalvm/compiler/lir/LIR;
0 6 3 registerAllocationConfig Lorg/graalvm/compiler/core/common/alloc/RegisterAllocationConfig;
0 6 4 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 6 5 stub Ljava/lang/Object;
1 6 6 method Lcom/oracle/svm/core/meta/SharedMethod;
5 6 7 callingConvention Ljdk/vm/ci/code/CallingConvention;
MethodParameters:
Name Flags
compilationId
lir
registerAllocationConfig
graph
stub
protected org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator createArithmeticLIRGen(jdk.vm.ci.code.RegisterValue);
descriptor: (Ljdk/vm/ci/code/RegisterValue;)Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: new org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator
dup
aload 1
invokespecial org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.<init>:(Ljdk/vm/ci/meta/AllocatableValue;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/core/graal/amd64/SubstrateAMD64Backend;
0 1 1 nullRegisterValue Ljdk/vm/ci/code/RegisterValue;
MethodParameters:
Name Flags
nullRegisterValue
protected org.graalvm.compiler.core.amd64.AMD64MoveFactoryBase createMoveFactory(org.graalvm.compiler.lir.gen.LIRGenerationResult, org.graalvm.compiler.core.amd64.AMD64MoveFactoryBase$BackupSlotProvider);
descriptor: (Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;Lorg/graalvm/compiler/core/amd64/AMD64MoveFactoryBase$BackupSlotProvider;)Lorg/graalvm/compiler/core/amd64/AMD64MoveFactoryBase;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
checkcast com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend$SubstrateLIRGenerationResult
invokevirtual com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend$SubstrateLIRGenerationResult.getMethod:()Lcom/oracle/svm/core/meta/SharedMethod;
astore 3
start local 3 1: new com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend$SubstrateAMD64MoveFactory
dup
aload 2
aload 3
aload 0
invokevirtual com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend.createLirKindTool:()Lorg/graalvm/compiler/core/common/spi/LIRKindTool;
invokespecial com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend$SubstrateAMD64MoveFactory.<init>:(Lorg/graalvm/compiler/core/amd64/AMD64MoveFactoryBase$BackupSlotProvider;Lcom/oracle/svm/core/meta/SharedMethod;Lorg/graalvm/compiler/core/common/spi/LIRKindTool;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/svm/core/graal/amd64/SubstrateAMD64Backend;
0 2 1 lirGenRes Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
0 2 2 backupSlotProvider Lorg/graalvm/compiler/core/amd64/AMD64MoveFactoryBase$BackupSlotProvider;
1 2 3 method Lcom/oracle/svm/core/meta/SharedMethod;
MethodParameters:
Name Flags
lirGenRes
backupSlotProvider
protected org.graalvm.compiler.core.common.spi.LIRKindTool createLirKindTool();
descriptor: ()Lorg/graalvm/compiler/core/common/spi/LIRKindTool;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: new com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend$SubstrateAMD64LIRKindTool
dup
invokespecial com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend$SubstrateAMD64LIRKindTool.<init>:()V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/core/graal/amd64/SubstrateAMD64Backend;
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=8, locals=6, args_size=2
start local 0 start local 1 0: invokestatic com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend.useLinearPointerCompression:()Z
ifeq 1
invokestatic com.oracle.svm.core.ReservedRegisters.singleton:()Lcom/oracle/svm/core/ReservedRegisters;
invokevirtual com.oracle.svm.core.ReservedRegisters.getHeapBaseRegister:()Ljdk/vm/ci/code/Register;
invokevirtual jdk.vm.ci.code.Register.asValue:()Ljdk/vm/ci/code/RegisterValue;
goto 2
StackMap locals:
StackMap stack:
1: aconst_null
StackMap locals:
StackMap stack: jdk.vm.ci.code.RegisterValue
2: astore 2
start local 2 3: aload 0
aload 2
invokevirtual com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend.createArithmeticLIRGen:(Ljdk/vm/ci/code/RegisterValue;)Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
astore 3
start local 3 4: new org.graalvm.compiler.core.amd64.AMD64MoveFactoryBase$BackupSlotProvider
dup
aload 1
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerationResult.getFrameMapBuilder:()Lorg/graalvm/compiler/lir/framemap/FrameMapBuilder;
invokespecial org.graalvm.compiler.core.amd64.AMD64MoveFactoryBase$BackupSlotProvider.<init>:(Lorg/graalvm/compiler/lir/framemap/FrameMapBuilder;)V
astore 4
start local 4 5: aload 0
aload 1
aload 4
invokevirtual com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend.createMoveFactory:(Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;Lorg/graalvm/compiler/core/amd64/AMD64MoveFactoryBase$BackupSlotProvider;)Lorg/graalvm/compiler/core/amd64/AMD64MoveFactoryBase;
astore 5
start local 5 6: new com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend$SubstrateAMD64LIRGenerator
dup
aload 0
aload 0
invokevirtual com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend.createLirKindTool:()Lorg/graalvm/compiler/core/common/spi/LIRKindTool;
aload 3
aload 5
aload 0
invokevirtual com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend.getProviders:()Lorg/graalvm/compiler/phases/util/Providers;
aload 1
invokespecial com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend$SubstrateAMD64LIRGenerator.<init>:(Lcom/oracle/svm/core/graal/amd64/SubstrateAMD64Backend;Lorg/graalvm/compiler/core/common/spi/LIRKindTool;Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;)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 7 0 this Lcom/oracle/svm/core/graal/amd64/SubstrateAMD64Backend;
0 7 1 lirGenRes Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
3 7 2 nullRegisterValue Ljdk/vm/ci/code/RegisterValue;
4 7 3 arithmeticLIRGen Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
5 7 4 backupSlotProvider Lorg/graalvm/compiler/core/amd64/AMD64MoveFactoryBase$BackupSlotProvider;
6 7 5 moveFactory Lorg/graalvm/compiler/core/amd64/AMD64MoveFactoryBase;
MethodParameters:
Name Flags
lirGenRes
protected org.graalvm.compiler.core.amd64.AMD64NodeMatchRules createMatchRules(org.graalvm.compiler.lir.gen.LIRGeneratorTool);
descriptor: (Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;)Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: new org.graalvm.compiler.core.amd64.AMD64NodeMatchRules
dup
aload 1
invokespecial org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.<init>:(Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/core/graal/amd64/SubstrateAMD64Backend;
0 1 1 lirGen Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
MethodParameters:
Name Flags
lirGen
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=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
invokevirtual com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend.createMatchRules:(Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;)Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
astore 3
start local 3 1: new com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend$SubstrateAMD64NodeLIRBuilder
dup
aload 0
aload 1
aload 2
aload 3
invokespecial com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend$SubstrateAMD64NodeLIRBuilder.<init>:(Lcom/oracle/svm/core/graal/amd64/SubstrateAMD64Backend;Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/svm/core/graal/amd64/SubstrateAMD64Backend;
0 2 1 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 2 2 lirGen Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
1 2 3 nodeMatchRules Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
MethodParameters:
Name Flags
graph
lirGen
protected static boolean useLinearPointerCompression();
descriptor: ()Z
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic com.oracle.svm.core.SubstrateOptions.SpawnIsolates:Lcom/oracle/svm/core/option/HostedOptionKey;
invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ireturn
LocalVariableTable:
Start End Slot Name Signature
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=10, locals=17, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerationResult.getLIR:()Lorg/graalvm/compiler/lir/LIR;
astore 5
start local 5 1: aload 5
invokevirtual org.graalvm.compiler.lir.LIR.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
astore 6
start local 6 2: new org.graalvm.compiler.asm.amd64.AMD64MacroAssembler
dup
aload 0
invokevirtual com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend.getTarget:()Ljdk/vm/ci/code/TargetDescription;
aload 6
invokespecial org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.<init>:(Ljdk/vm/ci/code/TargetDescription;Lorg/graalvm/compiler/options/OptionValues;)V
astore 7
start local 7 3: aload 7
aload 3
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokedynamic shift(Lorg/graalvm/compiler/code/CompilationResult;)Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$CodePatchShifter;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(II)V
org/graalvm/compiler/code/CompilationResult.shiftCodePatch(II)V (5)
(II)V
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.setCodePatchShifter:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$CodePatchShifter;)V
4: getstatic com.oracle.svm.core.SubstrateUtil.HOSTED:Z
ifeq 7
5: invokestatic com.oracle.svm.core.graal.code.PatchConsumerFactory$HostedPatchConsumerFactory.factory:()Lcom/oracle/svm/core/graal/code/PatchConsumerFactory$HostedPatchConsumerFactory;
astore 9
start local 9 6: goto 8
end local 9 7: StackMap locals: org.graalvm.compiler.lir.LIR org.graalvm.compiler.options.OptionValues org.graalvm.compiler.asm.amd64.AMD64MacroAssembler
StackMap stack:
invokestatic com.oracle.svm.core.graal.code.PatchConsumerFactory$NativePatchConsumerFactory.factory:()Lcom/oracle/svm/core/graal/code/PatchConsumerFactory$NativePatchConsumerFactory;
astore 9
start local 9 8: StackMap locals: com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend 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.lir.LIR org.graalvm.compiler.options.OptionValues org.graalvm.compiler.asm.amd64.AMD64MacroAssembler top com.oracle.svm.core.graal.code.PatchConsumerFactory
StackMap stack:
aload 7
aload 9
aload 3
invokevirtual com.oracle.svm.core.graal.code.PatchConsumerFactory.newConsumer:(Lorg/graalvm/compiler/code/CompilationResult;)Ljava/util/function/Consumer;
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.setCodePatchingAnnotationConsumer:(Ljava/util/function/Consumer;)V
9: aload 1
checkcast com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend$SubstrateLIRGenerationResult
invokevirtual com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend$SubstrateLIRGenerationResult.getMethod:()Lcom/oracle/svm/core/meta/SharedMethod;
astore 10
start local 10 10: aload 10
invokeinterface com.oracle.svm.core.meta.SharedMethod.getDeoptStubType:()Lcom/oracle/svm/core/deopt/Deoptimizer$StubType;
astore 11
start local 11 11: new com.oracle.svm.core.graal.code.SubstrateDataBuilder
dup
invokespecial com.oracle.svm.core.graal.code.SubstrateDataBuilder.<init>:()V
astore 12
start local 12 12: aload 11
getstatic com.oracle.svm.core.deopt.Deoptimizer$StubType.EntryStub:Lcom/oracle/svm/core/deopt/Deoptimizer$StubType;
if_acmpne 15
13: new com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend$DeoptEntryStubContext
dup
invokespecial com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend$DeoptEntryStubContext.<init>:()V
astore 13
start local 13 14: goto 25
end local 13 StackMap locals: com.oracle.svm.core.meta.SharedMethod com.oracle.svm.core.deopt.Deoptimizer$StubType org.graalvm.compiler.lir.asm.DataBuilder
StackMap stack:
15: aload 11
getstatic com.oracle.svm.core.deopt.Deoptimizer$StubType.ExitStub:Lcom/oracle/svm/core/deopt/Deoptimizer$StubType;
if_acmpne 18
16: new com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend$DeoptExitStubContext
dup
invokespecial com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend$DeoptExitStubContext.<init>:()V
astore 13
start local 13 17: goto 25
end local 13 StackMap locals:
StackMap stack:
18: aload 10
invokeinterface com.oracle.svm.core.meta.SharedMethod.hasCalleeSavedRegisters:()Z
ifeq 24
19: aload 10
invokeinterface com.oracle.svm.core.meta.SharedMethod.isDeoptTarget:()Z
ifeq 20
iconst_0
goto 21
StackMap locals:
StackMap stack:
20: iconst_1
StackMap locals:
StackMap stack: int
21: ldc "Deoptimization runtime cannot fill the callee saved registers"
invokestatic com.oracle.svm.core.util.VMError.guarantee:(ZLjava/lang/String;)V
22: new com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend$AMD64StubCallingConventionSubstrateFrameContext
dup
aload 10
invokeinterface com.oracle.svm.core.meta.SharedMethod.getSignature:()Ljdk/vm/ci/meta/Signature;
invokeinterface jdk.vm.ci.meta.Signature.getReturnKind:()Ljdk/vm/ci/meta/JavaKind;
invokespecial com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend$AMD64StubCallingConventionSubstrateFrameContext.<init>:(Ljdk/vm/ci/meta/JavaKind;)V
astore 13
start local 13 23: goto 25
end local 13 24: StackMap locals:
StackMap stack:
new com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend$SubstrateAMD64FrameContext
dup
invokespecial com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend$SubstrateAMD64FrameContext.<init>:()V
astore 13
start local 13 25: StackMap locals: org.graalvm.compiler.lir.asm.FrameContext
StackMap stack:
aload 5
invokevirtual org.graalvm.compiler.lir.LIR.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
astore 14
start local 14 26: invokestatic com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend.useLinearPointerCompression:()Z
ifeq 27
invokestatic com.oracle.svm.core.ReservedRegisters.singleton:()Lcom/oracle/svm/core/ReservedRegisters;
invokevirtual com.oracle.svm.core.ReservedRegisters.getHeapBaseRegister:()Ljdk/vm/ci/code/Register;
goto 28
StackMap locals: org.graalvm.compiler.debug.DebugContext
StackMap stack:
27: getstatic jdk.vm.ci.code.Register.None:Ljdk/vm/ci/code/Register;
StackMap locals:
StackMap stack: jdk.vm.ci.code.Register
28: astore 15
start local 15 29: aload 4
aload 0
invokevirtual com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend.getProviders:()Lorg/graalvm/compiler/phases/util/Providers;
aload 1
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerationResult.getFrameMap:()Lorg/graalvm/compiler/lir/framemap/FrameMap;
aload 7
aload 12
aload 13
aload 6
aload 14
aload 3
30: aload 15
31: invokeinterface org.graalvm.compiler.lir.asm.CompilationResultBuilderFactory.createBuilder:(Lorg/graalvm/compiler/core/common/spi/CodeGenProviders;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 16
start local 16 32: aload 16
aload 1
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerationResult.getFrameMap:()Lorg/graalvm/compiler/lir/framemap/FrameMap;
invokevirtual org.graalvm.compiler.lir.framemap.FrameMap.totalFrameSize:()I
invokevirtual org.graalvm.compiler.lir.asm.CompilationResultBuilder.setTotalFrameSize:(I)V
33: aload 16
areturn
end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 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 34 0 this Lcom/oracle/svm/core/graal/amd64/SubstrateAMD64Backend;
0 34 1 lirGenResult Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
0 34 2 frameMap Lorg/graalvm/compiler/lir/framemap/FrameMap;
0 34 3 compilationResult Lorg/graalvm/compiler/code/CompilationResult;
0 34 4 factory Lorg/graalvm/compiler/lir/asm/CompilationResultBuilderFactory;
1 34 5 lir Lorg/graalvm/compiler/lir/LIR;
2 34 6 options Lorg/graalvm/compiler/options/OptionValues;
3 34 7 masm Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
6 7 9 patchConsumerFactory Lcom/oracle/svm/core/graal/code/PatchConsumerFactory;
8 34 9 patchConsumerFactory Lcom/oracle/svm/core/graal/code/PatchConsumerFactory;
10 34 10 method Lcom/oracle/svm/core/meta/SharedMethod;
11 34 11 stubType Lcom/oracle/svm/core/deopt/Deoptimizer$StubType;
12 34 12 dataBuilder Lorg/graalvm/compiler/lir/asm/DataBuilder;
14 15 13 frameContext Lorg/graalvm/compiler/lir/asm/FrameContext;
17 18 13 frameContext Lorg/graalvm/compiler/lir/asm/FrameContext;
23 24 13 frameContext Lorg/graalvm/compiler/lir/asm/FrameContext;
25 34 13 frameContext Lorg/graalvm/compiler/lir/asm/FrameContext;
26 34 14 debug Lorg/graalvm/compiler/debug/DebugContext;
29 34 15 uncompressedNullRegister Ljdk/vm/ci/code/Register;
32 34 16 tasm Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
MethodParameters:
Name Flags
lirGenResult
frameMap
compilationResult
factory
public org.graalvm.compiler.phases.Phase newAddressLoweringPhase(jdk.vm.ci.code.CodeCacheProvider);
descriptor: (Ljdk/vm/ci/code/CodeCacheProvider;)Lorg/graalvm/compiler/phases/Phase;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: ldc Lorg/graalvm/compiler/core/common/CompressEncoding;
invokestatic org.graalvm.nativeimage.ImageSingletons.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast org.graalvm.compiler.core.common.CompressEncoding
astore 2
start local 2 1: new org.graalvm.compiler.phases.common.AddressLoweringPhase
dup
new com.oracle.svm.core.graal.amd64.SubstrateAMD64AddressLowering
dup
aload 2
invokespecial com.oracle.svm.core.graal.amd64.SubstrateAMD64AddressLowering.<init>:(Lorg/graalvm/compiler/core/common/CompressEncoding;)V
invokespecial org.graalvm.compiler.phases.common.AddressLoweringPhase.<init>:(Lorg/graalvm/compiler/phases/common/AddressLoweringPhase$AddressLowering;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/svm/core/graal/amd64/SubstrateAMD64Backend;
0 2 1 codeCache Ljdk/vm/ci/code/CodeCacheProvider;
1 2 2 compressEncoding Lorg/graalvm/compiler/core/common/CompressEncoding;
MethodParameters:
Name Flags
codeCache
public jdk.vm.ci.code.CompiledCode createCompiledCode(jdk.vm.ci.meta.ResolvedJavaMethod, jdk.vm.ci.code.CompilationRequest, org.graalvm.compiler.code.CompilationResult, boolean, org.graalvm.compiler.options.OptionValues);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/code/CompilationRequest;Lorg/graalvm/compiler/code/CompilationResult;ZLorg/graalvm/compiler/options/OptionValues;)Ljdk/vm/ci/code/CompiledCode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, 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 com.oracle.svm.core.graal.code.SubstrateCompiledCode
dup
aload 3
invokespecial com.oracle.svm.core.graal.code.SubstrateCompiledCode.<init>:(Lorg/graalvm/compiler/code/CompilationResult;)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 Lcom/oracle/svm/core/graal/amd64/SubstrateAMD64Backend;
0 1 1 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 1 2 compilationRequest Ljdk/vm/ci/code/CompilationRequest;
0 1 3 compilationResult Lorg/graalvm/compiler/code/CompilationResult;
0 1 4 isDefault Z
0 1 5 options Lorg/graalvm/compiler/options/OptionValues;
MethodParameters:
Name Flags
method
compilationRequest
compilationResult
isDefault
options
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=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
aload 2
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 Lcom/oracle/svm/core/graal/amd64/SubstrateAMD64Backend;
0 2 1 crb Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
0 2 2 lir Lorg/graalvm/compiler/lir/LIR;
0 2 3 installedCodeOwner Ljdk/vm/ci/meta/ResolvedJavaMethod;
MethodParameters:
Name Flags
crb
lir
installedCodeOwner
public org.graalvm.compiler.code.CompilationResult createJNITrampolineMethod(jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.core.common.CompilationIdentifier, jdk.vm.ci.code.RegisterValue, int, jdk.vm.ci.code.RegisterValue, int);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/core/common/CompilationIdentifier;Ljdk/vm/ci/code/RegisterValue;ILjdk/vm/ci/code/RegisterValue;I)Lorg/graalvm/compiler/code/CompilationResult;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=10, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: new org.graalvm.compiler.code.CompilationResult
dup
aload 2
invokespecial org.graalvm.compiler.code.CompilationResult.<init>:(Lorg/graalvm/compiler/core/common/CompilationIdentifier;)V
astore 7
start local 7 1: new org.graalvm.compiler.asm.amd64.AMD64Assembler
dup
aload 0
invokevirtual com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend.getTarget:()Ljdk/vm/ci/code/TargetDescription;
invokespecial org.graalvm.compiler.asm.amd64.AMD64Assembler.<init>:(Ljdk/vm/ci/code/TargetDescription;)V
astore 8
start local 8 2: getstatic com.oracle.svm.core.SubstrateOptions.SpawnIsolates:Lcom/oracle/svm/core/option/HostedOptionKey;
invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 7
3: aload 8
getstatic jdk.vm.ci.amd64.AMD64.rax:Ljdk/vm/ci/code/Register;
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 3
invokevirtual jdk.vm.ci.code.RegisterValue.getRegister:()Ljdk/vm/ci/code/Register;
iload 4
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;I)V
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler.movq:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
4: aload 8
getstatic jdk.vm.ci.amd64.AMD64.rax:Ljdk/vm/ci/code/Register;
aload 5
invokevirtual jdk.vm.ci.code.RegisterValue.getRegister:()Ljdk/vm/ci/code/Register;
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler.addq:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
5: aload 8
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
getstatic jdk.vm.ci.amd64.AMD64.rax:Ljdk/vm/ci/code/Register;
iload 6
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;I)V
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler.jmp:(Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
6: goto 8
7: StackMap locals: org.graalvm.compiler.code.CompilationResult org.graalvm.compiler.asm.amd64.AMD64Assembler
StackMap stack:
aload 8
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 5
invokevirtual jdk.vm.ci.code.RegisterValue.getRegister:()Ljdk/vm/ci/code/Register;
iload 6
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;I)V
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler.jmp:(Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
8: StackMap locals:
StackMap stack:
aload 7
aload 8
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler.position:()I
getstatic com.oracle.svm.core.graal.code.SubstrateBackend$SubstrateMarkId.PROLOGUE_DECD_RSP:Lcom/oracle/svm/core/graal/code/SubstrateBackend$SubstrateMarkId;
invokevirtual org.graalvm.compiler.code.CompilationResult.recordMark:(ILorg/graalvm/compiler/code/CompilationResult$MarkId;)Lorg/graalvm/compiler/code/CompilationResult$CodeMark;
pop
9: aload 7
aload 8
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler.position:()I
getstatic com.oracle.svm.core.graal.code.SubstrateBackend$SubstrateMarkId.PROLOGUE_END:Lcom/oracle/svm/core/graal/code/SubstrateBackend$SubstrateMarkId;
invokevirtual org.graalvm.compiler.code.CompilationResult.recordMark:(ILorg/graalvm/compiler/code/CompilationResult$MarkId;)Lorg/graalvm/compiler/code/CompilationResult$CodeMark;
pop
10: aload 8
iconst_1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler.close:(Z)[B
astore 9
start local 9 11: aload 7
aload 9
aload 9
arraylength
invokevirtual org.graalvm.compiler.code.CompilationResult.setTargetCode:([BI)V
12: aload 7
aload 0
invokevirtual com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend.getTarget:()Ljdk/vm/ci/code/TargetDescription;
getfield jdk.vm.ci.code.TargetDescription.wordSize:I
invokevirtual org.graalvm.compiler.code.CompilationResult.setTotalFrameSize:(I)V
13: aload 7
areturn
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 14 0 this Lcom/oracle/svm/core/graal/amd64/SubstrateAMD64Backend;
0 14 1 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 14 2 identifier Lorg/graalvm/compiler/core/common/CompilationIdentifier;
0 14 3 threadArg Ljdk/vm/ci/code/RegisterValue;
0 14 4 threadIsolateOffset I
0 14 5 methodIdArg Ljdk/vm/ci/code/RegisterValue;
0 14 6 methodObjEntryPointOffset I
1 14 7 result Lorg/graalvm/compiler/code/CompilationResult;
2 14 8 asm Lorg/graalvm/compiler/asm/amd64/AMD64Assembler;
11 14 9 instructions [B
MethodParameters:
Name Flags
method
identifier
threadArg
threadIsolateOffset
methodIdArg
methodObjEntryPointOffset
}
SourceFile: "SubstrateAMD64Backend.java"
NestMembers:
com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend$AMD64StubCallingConventionSubstrateFrameContext com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend$DeadEndOp com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend$DeoptEntryStubContext com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend$DeoptExitStubContext com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend$SubstrateAMD64DirectCallOp com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend$SubstrateAMD64FrameContext com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend$SubstrateAMD64IndirectCallOp com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend$SubstrateAMD64LIRGenerator com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend$SubstrateAMD64LIRKindTool com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend$SubstrateAMD64MoveFactory com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend$SubstrateAMD64MoveFactory$LoadCompressedObjectConstantOp com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend$SubstrateAMD64NodeLIRBuilder com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend$SubstrateLIRGenerationResult com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend$SubstrateReferenceMapBuilderFactory
InnerClasses:
public final StubType = com.oracle.svm.core.deopt.Deoptimizer$StubType of com.oracle.svm.core.deopt.Deoptimizer
AMD64StubCallingConventionSubstrateFrameContext = com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend$AMD64StubCallingConventionSubstrateFrameContext of com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend
public DeadEndOp = com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend$DeadEndOp of com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend
protected DeoptEntryStubContext = com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend$DeoptEntryStubContext of com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend
protected DeoptExitStubContext = com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend$DeoptExitStubContext of com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend
public SubstrateAMD64DirectCallOp = com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend$SubstrateAMD64DirectCallOp of com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend
protected SubstrateAMD64FrameContext = com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend$SubstrateAMD64FrameContext of com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend
public SubstrateAMD64IndirectCallOp = com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend$SubstrateAMD64IndirectCallOp of com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend
protected SubstrateAMD64LIRGenerator = com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend$SubstrateAMD64LIRGenerator of com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend
protected SubstrateAMD64LIRKindTool = com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend$SubstrateAMD64LIRKindTool of com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend
protected SubstrateAMD64MoveFactory = com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend$SubstrateAMD64MoveFactory of com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend
public final SubstrateAMD64NodeLIRBuilder = com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend$SubstrateAMD64NodeLIRBuilder of com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend
protected final SubstrateLIRGenerationResult = com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend$SubstrateLIRGenerationResult of com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend
SubstrateReferenceMapBuilderFactory = com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend$SubstrateReferenceMapBuilderFactory of com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend
public abstract HostedPatchConsumerFactory = com.oracle.svm.core.graal.code.PatchConsumerFactory$HostedPatchConsumerFactory of com.oracle.svm.core.graal.code.PatchConsumerFactory
public abstract NativePatchConsumerFactory = com.oracle.svm.core.graal.code.PatchConsumerFactory$NativePatchConsumerFactory of com.oracle.svm.core.graal.code.PatchConsumerFactory
public final SubstrateMarkId = com.oracle.svm.core.graal.code.SubstrateBackend$SubstrateMarkId of com.oracle.svm.core.graal.code.SubstrateBackend
public StatusSupport = com.oracle.svm.core.thread.VMThreads$StatusSupport of com.oracle.svm.core.thread.VMThreads
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Type = jdk.vm.ci.code.CallingConvention$Type of jdk.vm.ci.code.CallingConvention
public abstract CodeAnnotation = org.graalvm.compiler.asm.Assembler$CodeAnnotation of org.graalvm.compiler.asm.Assembler
public abstract CodePatchShifter = org.graalvm.compiler.asm.amd64.AMD64Assembler$CodePatchShifter of org.graalvm.compiler.asm.amd64.AMD64Assembler
public CodeMark = org.graalvm.compiler.code.CompilationResult$CodeMark of org.graalvm.compiler.code.CompilationResult
public abstract MarkId = org.graalvm.compiler.code.CompilationResult$MarkId of org.graalvm.compiler.code.CompilationResult
public final BackupSlotProvider = org.graalvm.compiler.core.amd64.AMD64MoveFactoryBase$BackupSlotProvider of org.graalvm.compiler.core.amd64.AMD64MoveFactoryBase
public abstract ReferenceMapBuilderFactory = org.graalvm.compiler.lir.framemap.FrameMap$ReferenceMapBuilderFactory of org.graalvm.compiler.lir.framemap.FrameMap
public abstract MoveFactory = org.graalvm.compiler.lir.gen.LIRGeneratorTool$MoveFactory of org.graalvm.compiler.lir.gen.LIRGeneratorTool
public abstract AddressLowering = org.graalvm.compiler.phases.common.AddressLoweringPhase$AddressLowering of org.graalvm.compiler.phases.common.AddressLoweringPhase