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: .line 165
            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: .line 168
            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 // com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend this
        start local 1 // org.graalvm.compiler.phases.util.Providers providers
         0: .line 172
            aload 0 /* this */
            aload 1 /* providers */
            invokespecial com.oracle.svm.core.graal.code.SubstrateBackend.<init>:(Lorg/graalvm/compiler/phases/util/Providers;)V
         1: .line 173
            return
        end local 1 // org.graalvm.compiler.phases.util.Providers providers
        end local 0 // com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend this
      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 // org.graalvm.compiler.lir.asm.CompilationResultBuilder crb
        start local 1 // org.graalvm.compiler.asm.amd64.AMD64MacroAssembler masm
        start local 2 // com.oracle.svm.core.graal.meta.RuntimeConfiguration runtimeConfiguration
        start local 3 // jdk.vm.ci.meta.Value javaFrameAnchor
        start local 4 // jdk.vm.ci.meta.Value temp
        start local 5 // org.graalvm.compiler.lir.LIRFrameState state
        start local 6 // int newThreadStatus
         0: .line 251
            aload 3 /* javaFrameAnchor */
            invokestatic jdk.vm.ci.code.ValueUtil.isIllegal:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 3
         1: .line 253
            getstatic com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend.$assertionsDisabled:Z
            ifne 2
            iload 6 /* newThreadStatus */
            iconst_m1
            if_icmpeq 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 254
      StackMap locals:
      StackMap stack:
            return
         3: .line 256
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend.$assertionsDisabled:Z
            ifne 4
            iload 6 /* newThreadStatus */
            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: .line 258
      StackMap locals:
      StackMap stack:
            aload 3 /* javaFrameAnchor */
            invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
            astore 7 /* anchor */
        start local 7 // jdk.vm.ci.code.Register anchor
         5: .line 259
            aload 4 /* temp */
            invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
            astore 8 /* lastJavaIP */
        start local 8 // jdk.vm.ci.code.Register lastJavaIP
         6: .line 277
            aload 1 /* masm */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.position:()I
            istore 9 /* startPos */
        start local 9 // int startPos
         7: .line 278
            aload 1 /* masm */
            aload 8 /* lastJavaIP */
            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: .line 283
            aload 0 /* crb */
            iload 9 /* startPos */
            aload 1 /* masm */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.position:()I
            aconst_null
            aload 5 /* state */
            invokevirtual org.graalvm.compiler.lir.asm.CompilationResultBuilder.recordIndirectCall:(IILjdk/vm/ci/meta/InvokeTarget;Lorg/graalvm/compiler/lir/LIRFrameState;)V
         9: .line 285
            aload 1 /* masm */
            new org.graalvm.compiler.asm.amd64.AMD64Address
            dup
            aload 7 /* anchor */
            aload 2 /* runtimeConfiguration */
            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 /* lastJavaIP */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movq:(Lorg/graalvm/compiler/asm/amd64/AMD64Address;Ljdk/vm/ci/code/Register;)V
        10: .line 286
            aload 1 /* masm */
            new org.graalvm.compiler.asm.amd64.AMD64Address
            dup
            aload 7 /* anchor */
            aload 2 /* runtimeConfiguration */
            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: .line 288
            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: .line 290
            aload 1 /* masm */
            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 /* runtimeConfiguration */
            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 /* newThreadStatus */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movl:(Lorg/graalvm/compiler/asm/amd64/AMD64Address;I)V
        13: .line 292
      StackMap locals: jdk.vm.ci.code.Register jdk.vm.ci.code.Register int
      StackMap stack:
            return
        end local 9 // int startPos
        end local 8 // jdk.vm.ci.code.Register lastJavaIP
        end local 7 // jdk.vm.ci.code.Register anchor
        end local 6 // int newThreadStatus
        end local 5 // org.graalvm.compiler.lir.LIRFrameState state
        end local 4 // jdk.vm.ci.meta.Value temp
        end local 3 // jdk.vm.ci.meta.Value javaFrameAnchor
        end local 2 // com.oracle.svm.core.graal.meta.RuntimeConfiguration runtimeConfiguration
        end local 1 // org.graalvm.compiler.asm.amd64.AMD64MacroAssembler masm
        end local 0 // org.graalvm.compiler.lir.asm.CompilationResultBuilder crb
      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 // com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend this
        start local 1 // jdk.vm.ci.code.RegisterConfig registerConfig
         0: .line 978
            aload 1 /* registerConfig */
            ifnonnull 1
            aload 0 /* this */
            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 /* registerConfig */
      StackMap locals:
      StackMap stack: jdk.vm.ci.code.RegisterConfig
         2: astore 2 /* registerConfigNonNull */
        start local 2 // jdk.vm.ci.code.RegisterConfig registerConfigNonNull
         3: .line 979
            new org.graalvm.compiler.lir.amd64.AMD64FrameMap
            dup
            aload 0 /* this */
            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 /* registerConfigNonNull */
            new com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend$SubstrateReferenceMapBuilderFactory
            dup
            invokespecial com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend$SubstrateReferenceMapBuilderFactory.<init>:()V
         4: .line 980
            aload 2 /* registerConfigNonNull */
            checkcast com.oracle.svm.core.graal.amd64.SubstrateAMD64RegisterConfig
            invokevirtual com.oracle.svm.core.graal.amd64.SubstrateAMD64RegisterConfig.shouldUseBasePointer:()Z
         5: .line 979
            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 /* frameMap */
        start local 3 // org.graalvm.compiler.lir.framemap.FrameMap frameMap
         6: .line 981
            new org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder
            dup
            aload 3 /* frameMap */
            aload 0 /* this */
            invokevirtual com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend.getCodeCache:()Ljdk/vm/ci/code/CodeCacheProvider;
            aload 2 /* registerConfigNonNull */
            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 // org.graalvm.compiler.lir.framemap.FrameMap frameMap
        end local 2 // jdk.vm.ci.code.RegisterConfig registerConfigNonNull
        end local 1 // jdk.vm.ci.code.RegisterConfig registerConfig
        end local 0 // com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend this
      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 // com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend this
        start local 1 // org.graalvm.compiler.core.common.CompilationIdentifier compilationId
        start local 2 // org.graalvm.compiler.lir.LIR lir
        start local 3 // org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig registerAllocationConfig
        start local 4 // org.graalvm.compiler.nodes.StructuredGraph graph
        start local 5 // java.lang.Object stub
         0: .line 986
            aload 4 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.method:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
            checkcast com.oracle.svm.core.meta.SharedMethod
            astore 6 /* method */
        start local 6 // com.oracle.svm.core.meta.SharedMethod method
         1: .line 987
            aload 0 /* this */
            invokevirtual com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend.getCodeCache:()Ljdk/vm/ci/code/CodeCacheProvider;
            aload 6 /* method */
            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: .line 988
      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 /* method */
            aload 0 /* this */
         4: .line 987
            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 /* callingConvention */
        start local 7 // jdk.vm.ci.code.CallingConvention callingConvention
         5: .line 989
            new com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend$SubstrateLIRGenerationResult
            dup
            aload 1 /* compilationId */
            aload 2 /* lir */
            aload 0 /* this */
            aload 3 /* registerAllocationConfig */
            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 /* callingConvention */
            aload 3 /* registerAllocationConfig */
            aload 6 /* method */
            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 // jdk.vm.ci.code.CallingConvention callingConvention
        end local 6 // com.oracle.svm.core.meta.SharedMethod method
        end local 5 // java.lang.Object stub
        end local 4 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 3 // org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig registerAllocationConfig
        end local 2 // org.graalvm.compiler.lir.LIR lir
        end local 1 // org.graalvm.compiler.core.common.CompilationIdentifier compilationId
        end local 0 // com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend this
      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 // com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend this
        start local 1 // jdk.vm.ci.code.RegisterValue nullRegisterValue
         0: .line 993
            new org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator
            dup
            aload 1 /* nullRegisterValue */
            invokespecial org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.<init>:(Ljdk/vm/ci/meta/AllocatableValue;)V
            areturn
        end local 1 // jdk.vm.ci.code.RegisterValue nullRegisterValue
        end local 0 // com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend this
      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 // com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend this
        start local 1 // org.graalvm.compiler.lir.gen.LIRGenerationResult lirGenRes
        start local 2 // org.graalvm.compiler.core.amd64.AMD64MoveFactoryBase$BackupSlotProvider backupSlotProvider
         0: .line 997
            aload 1 /* lirGenRes */
            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 /* method */
        start local 3 // com.oracle.svm.core.meta.SharedMethod method
         1: .line 998
            new com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend$SubstrateAMD64MoveFactory
            dup
            aload 2 /* backupSlotProvider */
            aload 3 /* method */
            aload 0 /* this */
            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 // com.oracle.svm.core.meta.SharedMethod method
        end local 2 // org.graalvm.compiler.core.amd64.AMD64MoveFactoryBase$BackupSlotProvider backupSlotProvider
        end local 1 // org.graalvm.compiler.lir.gen.LIRGenerationResult lirGenRes
        end local 0 // com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend this
      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 // com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend this
         0: .line 1014
            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 // com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend this
      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 // com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend this
        start local 1 // org.graalvm.compiler.lir.gen.LIRGenerationResult lirGenRes
         0: .line 1019
            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 /* nullRegisterValue */
        start local 2 // jdk.vm.ci.code.RegisterValue nullRegisterValue
         3: .line 1020
            aload 0 /* this */
            aload 2 /* nullRegisterValue */
            invokevirtual com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend.createArithmeticLIRGen:(Ljdk/vm/ci/code/RegisterValue;)Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            astore 3 /* arithmeticLIRGen */
        start local 3 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator arithmeticLIRGen
         4: .line 1021
            new org.graalvm.compiler.core.amd64.AMD64MoveFactoryBase$BackupSlotProvider
            dup
            aload 1 /* lirGenRes */
            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 /* backupSlotProvider */
        start local 4 // org.graalvm.compiler.core.amd64.AMD64MoveFactoryBase$BackupSlotProvider backupSlotProvider
         5: .line 1022
            aload 0 /* this */
            aload 1 /* lirGenRes */
            aload 4 /* backupSlotProvider */
            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 /* moveFactory */
        start local 5 // org.graalvm.compiler.core.amd64.AMD64MoveFactoryBase moveFactory
         6: .line 1023
            new com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend$SubstrateAMD64LIRGenerator
            dup
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend.createLirKindTool:()Lorg/graalvm/compiler/core/common/spi/LIRKindTool;
            aload 3 /* arithmeticLIRGen */
            aload 5 /* moveFactory */
            aload 0 /* this */
            invokevirtual com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend.getProviders:()Lorg/graalvm/compiler/phases/util/Providers;
            aload 1 /* lirGenRes */
            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 // org.graalvm.compiler.core.amd64.AMD64MoveFactoryBase moveFactory
        end local 4 // org.graalvm.compiler.core.amd64.AMD64MoveFactoryBase$BackupSlotProvider backupSlotProvider
        end local 3 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator arithmeticLIRGen
        end local 2 // jdk.vm.ci.code.RegisterValue nullRegisterValue
        end local 1 // org.graalvm.compiler.lir.gen.LIRGenerationResult lirGenRes
        end local 0 // com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend this
      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 // com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend this
        start local 1 // org.graalvm.compiler.lir.gen.LIRGeneratorTool lirGen
         0: .line 1027
            new org.graalvm.compiler.core.amd64.AMD64NodeMatchRules
            dup
            aload 1 /* lirGen */
            invokespecial org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.<init>:(Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;)V
            areturn
        end local 1 // org.graalvm.compiler.lir.gen.LIRGeneratorTool lirGen
        end local 0 // com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend this
      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 // com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend this
        start local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        start local 2 // org.graalvm.compiler.lir.gen.LIRGeneratorTool lirGen
         0: .line 1032
            aload 0 /* this */
            aload 2 /* lirGen */
            invokevirtual com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend.createMatchRules:(Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;)Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
            astore 3 /* nodeMatchRules */
        start local 3 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules nodeMatchRules
         1: .line 1033
            new com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend$SubstrateAMD64NodeLIRBuilder
            dup
            aload 0 /* this */
            aload 1 /* graph */
            aload 2 /* lirGen */
            aload 3 /* nodeMatchRules */
            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 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules nodeMatchRules
        end local 2 // org.graalvm.compiler.lir.gen.LIRGeneratorTool lirGen
        end local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 0 // com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend this
      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: .line 1037
            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 // com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend this
        start local 1 // org.graalvm.compiler.lir.gen.LIRGenerationResult lirGenResult
        start local 2 // org.graalvm.compiler.lir.framemap.FrameMap frameMap
        start local 3 // org.graalvm.compiler.code.CompilationResult compilationResult
        start local 4 // org.graalvm.compiler.lir.asm.CompilationResultBuilderFactory factory
         0: .line 1042
            aload 1 /* lirGenResult */
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerationResult.getLIR:()Lorg/graalvm/compiler/lir/LIR;
            astore 5 /* lir */
        start local 5 // org.graalvm.compiler.lir.LIR lir
         1: .line 1043
            aload 5 /* lir */
            invokevirtual org.graalvm.compiler.lir.LIR.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
            astore 6 /* options */
        start local 6 // org.graalvm.compiler.options.OptionValues options
         2: .line 1044
            new org.graalvm.compiler.asm.amd64.AMD64MacroAssembler
            dup
            aload 0 /* this */
            invokevirtual com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend.getTarget:()Ljdk/vm/ci/code/TargetDescription;
            aload 6 /* options */
            invokespecial org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.<init>:(Ljdk/vm/ci/code/TargetDescription;Lorg/graalvm/compiler/options/OptionValues;)V
            astore 7 /* masm */
        start local 7 // org.graalvm.compiler.asm.amd64.AMD64MacroAssembler masm
         3: .line 1045
            aload 7 /* masm */
            aload 3 /* compilationResult */
            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: .line 1047
            getstatic com.oracle.svm.core.SubstrateUtil.HOSTED:Z
            ifeq 7
         5: .line 1048
            invokestatic com.oracle.svm.core.graal.code.PatchConsumerFactory$HostedPatchConsumerFactory.factory:()Lcom/oracle/svm/core/graal/code/PatchConsumerFactory$HostedPatchConsumerFactory;
            astore 9 /* patchConsumerFactory */
        start local 9 // com.oracle.svm.core.graal.code.PatchConsumerFactory patchConsumerFactory
         6: .line 1049
            goto 8
        end local 9 // com.oracle.svm.core.graal.code.PatchConsumerFactory patchConsumerFactory
         7: .line 1050
      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 /* patchConsumerFactory */
        start local 9 // com.oracle.svm.core.graal.code.PatchConsumerFactory patchConsumerFactory
         8: .line 1052
      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 /* masm */
            aload 9 /* patchConsumerFactory */
            aload 3 /* compilationResult */
            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: .line 1053
            aload 1 /* lirGenResult */
            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 /* method */
        start local 10 // com.oracle.svm.core.meta.SharedMethod method
        10: .line 1054
            aload 10 /* method */
            invokeinterface com.oracle.svm.core.meta.SharedMethod.getDeoptStubType:()Lcom/oracle/svm/core/deopt/Deoptimizer$StubType;
            astore 11 /* stubType */
        start local 11 // com.oracle.svm.core.deopt.Deoptimizer$StubType stubType
        11: .line 1055
            new com.oracle.svm.core.graal.code.SubstrateDataBuilder
            dup
            invokespecial com.oracle.svm.core.graal.code.SubstrateDataBuilder.<init>:()V
            astore 12 /* dataBuilder */
        start local 12 // org.graalvm.compiler.lir.asm.DataBuilder dataBuilder
        12: .line 1057
            aload 11 /* stubType */
            getstatic com.oracle.svm.core.deopt.Deoptimizer$StubType.EntryStub:Lcom/oracle/svm/core/deopt/Deoptimizer$StubType;
            if_acmpne 15
        13: .line 1058
            new com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend$DeoptEntryStubContext
            dup
            invokespecial com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend$DeoptEntryStubContext.<init>:()V
            astore 13 /* frameContext */
        start local 13 // org.graalvm.compiler.lir.asm.FrameContext frameContext
        14: .line 1059
            goto 25
        end local 13 // org.graalvm.compiler.lir.asm.FrameContext frameContext
      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 /* stubType */
            getstatic com.oracle.svm.core.deopt.Deoptimizer$StubType.ExitStub:Lcom/oracle/svm/core/deopt/Deoptimizer$StubType;
            if_acmpne 18
        16: .line 1060
            new com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend$DeoptExitStubContext
            dup
            invokespecial com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend$DeoptExitStubContext.<init>:()V
            astore 13 /* frameContext */
        start local 13 // org.graalvm.compiler.lir.asm.FrameContext frameContext
        17: .line 1061
            goto 25
        end local 13 // org.graalvm.compiler.lir.asm.FrameContext frameContext
      StackMap locals:
      StackMap stack:
        18: aload 10 /* method */
            invokeinterface com.oracle.svm.core.meta.SharedMethod.hasCalleeSavedRegisters:()Z
            ifeq 24
        19: .line 1062
            aload 10 /* method */
            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: .line 1063
            new com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend$AMD64StubCallingConventionSubstrateFrameContext
            dup
            aload 10 /* method */
            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 /* frameContext */
        start local 13 // org.graalvm.compiler.lir.asm.FrameContext frameContext
        23: .line 1064
            goto 25
        end local 13 // org.graalvm.compiler.lir.asm.FrameContext frameContext
        24: .line 1065
      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 /* frameContext */
        start local 13 // org.graalvm.compiler.lir.asm.FrameContext frameContext
        25: .line 1067
      StackMap locals: org.graalvm.compiler.lir.asm.FrameContext
      StackMap stack:
            aload 5 /* lir */
            invokevirtual org.graalvm.compiler.lir.LIR.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
            astore 14 /* debug */
        start local 14 // org.graalvm.compiler.debug.DebugContext debug
        26: .line 1068
            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 /* uncompressedNullRegister */
        start local 15 // jdk.vm.ci.code.Register uncompressedNullRegister
        29: .line 1069
            aload 4 /* factory */
            aload 0 /* this */
            invokevirtual com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend.getProviders:()Lorg/graalvm/compiler/phases/util/Providers;
            aload 1 /* lirGenResult */
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerationResult.getFrameMap:()Lorg/graalvm/compiler/lir/framemap/FrameMap;
            aload 7 /* masm */
            aload 12 /* dataBuilder */
            aload 13 /* frameContext */
            aload 6 /* options */
            aload 14 /* debug */
            aload 3 /* compilationResult */
        30: .line 1070
            aload 15 /* uncompressedNullRegister */
        31: .line 1069
            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 /* tasm */
        start local 16 // org.graalvm.compiler.lir.asm.CompilationResultBuilder tasm
        32: .line 1071
            aload 16 /* tasm */
            aload 1 /* lirGenResult */
            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: .line 1072
            aload 16 /* tasm */
            areturn
        end local 16 // org.graalvm.compiler.lir.asm.CompilationResultBuilder tasm
        end local 15 // jdk.vm.ci.code.Register uncompressedNullRegister
        end local 14 // org.graalvm.compiler.debug.DebugContext debug
        end local 13 // org.graalvm.compiler.lir.asm.FrameContext frameContext
        end local 12 // org.graalvm.compiler.lir.asm.DataBuilder dataBuilder
        end local 11 // com.oracle.svm.core.deopt.Deoptimizer$StubType stubType
        end local 10 // com.oracle.svm.core.meta.SharedMethod method
        end local 9 // com.oracle.svm.core.graal.code.PatchConsumerFactory patchConsumerFactory
        end local 7 // org.graalvm.compiler.asm.amd64.AMD64MacroAssembler masm
        end local 6 // org.graalvm.compiler.options.OptionValues options
        end local 5 // org.graalvm.compiler.lir.LIR lir
        end local 4 // org.graalvm.compiler.lir.asm.CompilationResultBuilderFactory factory
        end local 3 // org.graalvm.compiler.code.CompilationResult compilationResult
        end local 2 // org.graalvm.compiler.lir.framemap.FrameMap frameMap
        end local 1 // org.graalvm.compiler.lir.gen.LIRGenerationResult lirGenResult
        end local 0 // com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend this
      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 // com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend this
        start local 1 // jdk.vm.ci.code.CodeCacheProvider codeCache
         0: .line 1077
            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 /* compressEncoding */
        start local 2 // org.graalvm.compiler.core.common.CompressEncoding compressEncoding
         1: .line 1078
            new org.graalvm.compiler.phases.common.AddressLoweringPhase
            dup
            new com.oracle.svm.core.graal.amd64.SubstrateAMD64AddressLowering
            dup
            aload 2 /* compressEncoding */
            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 // org.graalvm.compiler.core.common.CompressEncoding compressEncoding
        end local 1 // jdk.vm.ci.code.CodeCacheProvider codeCache
        end local 0 // com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend this
      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 // com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend this
        start local 1 // jdk.vm.ci.meta.ResolvedJavaMethod method
        start local 2 // jdk.vm.ci.code.CompilationRequest compilationRequest
        start local 3 // org.graalvm.compiler.code.CompilationResult compilationResult
        start local 4 // boolean isDefault
        start local 5 // org.graalvm.compiler.options.OptionValues options
         0: .line 1083
            new com.oracle.svm.core.graal.code.SubstrateCompiledCode
            dup
            aload 3 /* compilationResult */
            invokespecial com.oracle.svm.core.graal.code.SubstrateCompiledCode.<init>:(Lorg/graalvm/compiler/code/CompilationResult;)V
            areturn
        end local 5 // org.graalvm.compiler.options.OptionValues options
        end local 4 // boolean isDefault
        end local 3 // org.graalvm.compiler.code.CompilationResult compilationResult
        end local 2 // jdk.vm.ci.code.CompilationRequest compilationRequest
        end local 1 // jdk.vm.ci.meta.ResolvedJavaMethod method
        end local 0 // com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend this
      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 // com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend this
        start local 1 // org.graalvm.compiler.lir.asm.CompilationResultBuilder crb
        start local 2 // org.graalvm.compiler.lir.LIR lir
        start local 3 // jdk.vm.ci.meta.ResolvedJavaMethod installedCodeOwner
         0: .line 1088
            aload 1 /* crb */
            aload 2 /* lir */
            invokevirtual org.graalvm.compiler.lir.asm.CompilationResultBuilder.emit:(Lorg/graalvm/compiler/lir/LIR;)V
         1: .line 1089
            return
        end local 3 // jdk.vm.ci.meta.ResolvedJavaMethod installedCodeOwner
        end local 2 // org.graalvm.compiler.lir.LIR lir
        end local 1 // org.graalvm.compiler.lir.asm.CompilationResultBuilder crb
        end local 0 // com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend this
      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 // com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend this
        start local 1 // jdk.vm.ci.meta.ResolvedJavaMethod method
        start local 2 // org.graalvm.compiler.core.common.CompilationIdentifier identifier
        start local 3 // jdk.vm.ci.code.RegisterValue threadArg
        start local 4 // int threadIsolateOffset
        start local 5 // jdk.vm.ci.code.RegisterValue methodIdArg
        start local 6 // int methodObjEntryPointOffset
         0: .line 1095
            new org.graalvm.compiler.code.CompilationResult
            dup
            aload 2 /* identifier */
            invokespecial org.graalvm.compiler.code.CompilationResult.<init>:(Lorg/graalvm/compiler/core/common/CompilationIdentifier;)V
            astore 7 /* result */
        start local 7 // org.graalvm.compiler.code.CompilationResult result
         1: .line 1096
            new org.graalvm.compiler.asm.amd64.AMD64Assembler
            dup
            aload 0 /* this */
            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 /* asm */
        start local 8 // org.graalvm.compiler.asm.amd64.AMD64Assembler asm
         2: .line 1097
            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: .line 1098
            aload 8 /* asm */
            getstatic jdk.vm.ci.amd64.AMD64.rax:Ljdk/vm/ci/code/Register;
            new org.graalvm.compiler.asm.amd64.AMD64Address
            dup
            aload 3 /* threadArg */
            invokevirtual jdk.vm.ci.code.RegisterValue.getRegister:()Ljdk/vm/ci/code/Register;
            iload 4 /* threadIsolateOffset */
            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: .line 1099
            aload 8 /* asm */
            getstatic jdk.vm.ci.amd64.AMD64.rax:Ljdk/vm/ci/code/Register;
            aload 5 /* methodIdArg */
            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: .line 1100
            aload 8 /* asm */
            new org.graalvm.compiler.asm.amd64.AMD64Address
            dup
            getstatic jdk.vm.ci.amd64.AMD64.rax:Ljdk/vm/ci/code/Register;
            iload 6 /* methodObjEntryPointOffset */
            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: .line 1101
            goto 8
         7: .line 1102
      StackMap locals: org.graalvm.compiler.code.CompilationResult org.graalvm.compiler.asm.amd64.AMD64Assembler
      StackMap stack:
            aload 8 /* asm */
            new org.graalvm.compiler.asm.amd64.AMD64Address
            dup
            aload 5 /* methodIdArg */
            invokevirtual jdk.vm.ci.code.RegisterValue.getRegister:()Ljdk/vm/ci/code/Register;
            iload 6 /* methodObjEntryPointOffset */
            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: .line 1104
      StackMap locals:
      StackMap stack:
            aload 7 /* result */
            aload 8 /* asm */
            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: .line 1105
            aload 7 /* result */
            aload 8 /* asm */
            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: .line 1106
            aload 8 /* asm */
            iconst_1
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler.close:(Z)[B
            astore 9 /* instructions */
        start local 9 // byte[] instructions
        11: .line 1107
            aload 7 /* result */
            aload 9 /* instructions */
            aload 9 /* instructions */
            arraylength
            invokevirtual org.graalvm.compiler.code.CompilationResult.setTargetCode:([BI)V
        12: .line 1108
            aload 7 /* result */
            aload 0 /* this */
            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: .line 1109
            aload 7 /* result */
            areturn
        end local 9 // byte[] instructions
        end local 8 // org.graalvm.compiler.asm.amd64.AMD64Assembler asm
        end local 7 // org.graalvm.compiler.code.CompilationResult result
        end local 6 // int methodObjEntryPointOffset
        end local 5 // jdk.vm.ci.code.RegisterValue methodIdArg
        end local 4 // int threadIsolateOffset
        end local 3 // jdk.vm.ci.code.RegisterValue threadArg
        end local 2 // org.graalvm.compiler.core.common.CompilationIdentifier identifier
        end local 1 // jdk.vm.ci.meta.ResolvedJavaMethod method
        end local 0 // com.oracle.svm.core.graal.amd64.SubstrateAMD64Backend this
      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