public abstract class org.graalvm.compiler.core.target.Backend implements org.graalvm.compiler.phases.tiers.TargetProvider, jdk.vm.ci.code.ValueKindFactory<org.graalvm.compiler.core.common.LIRKind>
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.graalvm.compiler.core.target.Backend
  super_class: java.lang.Object
{
  private final org.graalvm.compiler.phases.util.Providers providers;
    descriptor: Lorg/graalvm/compiler/phases/util/Providers;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public static final org.graalvm.compiler.core.common.spi.ForeignCallDescriptor ARITHMETIC_FREM;
    descriptor: Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.graalvm.compiler.core.common.spi.ForeignCallDescriptor ARITHMETIC_DREM;
    descriptor: Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=8, locals=0, args_size=0
         0: .line 71
            new org.graalvm.compiler.core.common.spi.ForeignCallDescriptor
            dup
            ldc "arithmeticFrem"
            getstatic java.lang.Float.TYPE:Ljava/lang/Class;
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            getstatic java.lang.Float.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_1
            getstatic java.lang.Float.TYPE:Ljava/lang/Class;
            aastore
            invokespecial org.graalvm.compiler.core.common.spi.ForeignCallDescriptor.<init>:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)V
            putstatic org.graalvm.compiler.core.target.Backend.ARITHMETIC_FREM:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
         1: .line 72
            new org.graalvm.compiler.core.common.spi.ForeignCallDescriptor
            dup
            ldc "arithmeticDrem"
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_1
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            aastore
            invokespecial org.graalvm.compiler.core.common.spi.ForeignCallDescriptor.<init>:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)V
            putstatic org.graalvm.compiler.core.target.Backend.ARITHMETIC_DREM:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void <init>(org.graalvm.compiler.phases.util.Providers);
    descriptor: (Lorg/graalvm/compiler/phases/util/Providers;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.core.target.Backend this
        start local 1 // org.graalvm.compiler.phases.util.Providers providers
         0: .line 74
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 75
            aload 0 /* this */
            aload 1 /* providers */
            putfield org.graalvm.compiler.core.target.Backend.providers:Lorg/graalvm/compiler/phases/util/Providers;
         2: .line 76
            return
        end local 1 // org.graalvm.compiler.phases.util.Providers providers
        end local 0 // org.graalvm.compiler.core.target.Backend this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/graalvm/compiler/core/target/Backend;
            0    3     1  providers  Lorg/graalvm/compiler/phases/util/Providers;
    MethodParameters:
           Name  Flags
      providers  

  public org.graalvm.compiler.phases.util.Providers getProviders();
    descriptor: ()Lorg/graalvm/compiler/phases/util/Providers;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.core.target.Backend this
         0: .line 79
            aload 0 /* this */
            getfield org.graalvm.compiler.core.target.Backend.providers:Lorg/graalvm/compiler/phases/util/Providers;
            areturn
        end local 0 // org.graalvm.compiler.core.target.Backend this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/core/target/Backend;

  public jdk.vm.ci.code.CodeCacheProvider getCodeCache();
    descriptor: ()Ljdk/vm/ci/code/CodeCacheProvider;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.core.target.Backend this
         0: .line 83
            aload 0 /* this */
            getfield org.graalvm.compiler.core.target.Backend.providers:Lorg/graalvm/compiler/phases/util/Providers;
            invokevirtual org.graalvm.compiler.phases.util.Providers.getCodeCache:()Ljdk/vm/ci/code/CodeCacheProvider;
            areturn
        end local 0 // org.graalvm.compiler.core.target.Backend this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/core/target/Backend;

  public jdk.vm.ci.meta.MetaAccessProvider getMetaAccess();
    descriptor: ()Ljdk/vm/ci/meta/MetaAccessProvider;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.core.target.Backend this
         0: .line 87
            aload 0 /* this */
            getfield org.graalvm.compiler.core.target.Backend.providers:Lorg/graalvm/compiler/phases/util/Providers;
            invokevirtual org.graalvm.compiler.phases.util.Providers.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            areturn
        end local 0 // org.graalvm.compiler.core.target.Backend this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/core/target/Backend;

  public jdk.vm.ci.meta.ConstantReflectionProvider getConstantReflection();
    descriptor: ()Ljdk/vm/ci/meta/ConstantReflectionProvider;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.core.target.Backend this
         0: .line 91
            aload 0 /* this */
            getfield org.graalvm.compiler.core.target.Backend.providers:Lorg/graalvm/compiler/phases/util/Providers;
            invokevirtual org.graalvm.compiler.phases.util.Providers.getConstantReflection:()Ljdk/vm/ci/meta/ConstantReflectionProvider;
            areturn
        end local 0 // org.graalvm.compiler.core.target.Backend this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/core/target/Backend;

  public org.graalvm.compiler.core.common.spi.ForeignCallsProvider getForeignCalls();
    descriptor: ()Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.core.target.Backend this
         0: .line 95
            aload 0 /* this */
            getfield org.graalvm.compiler.core.target.Backend.providers:Lorg/graalvm/compiler/phases/util/Providers;
            invokevirtual org.graalvm.compiler.phases.util.Providers.getForeignCalls:()Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;
            areturn
        end local 0 // org.graalvm.compiler.core.target.Backend this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/core/target/Backend;

  public abstract org.graalvm.compiler.phases.tiers.SuitesProvider getSuites();
    descriptor: ()Lorg/graalvm/compiler/phases/tiers/SuitesProvider;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public jdk.vm.ci.code.TargetDescription getTarget();
    descriptor: ()Ljdk/vm/ci/code/TargetDescription;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.core.target.Backend this
         0: .line 102
            aload 0 /* this */
            getfield org.graalvm.compiler.core.target.Backend.providers:Lorg/graalvm/compiler/phases/util/Providers;
            invokevirtual org.graalvm.compiler.phases.util.Providers.getCodeCache:()Ljdk/vm/ci/code/CodeCacheProvider;
            invokeinterface jdk.vm.ci.code.CodeCacheProvider.getTarget:()Ljdk/vm/ci/code/TargetDescription;
            areturn
        end local 0 // org.graalvm.compiler.core.target.Backend this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/core/target/Backend;

  public org.graalvm.compiler.core.common.LIRKind getValueKind(jdk.vm.ci.meta.JavaKind);
    descriptor: (Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/core/common/LIRKind;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.core.target.Backend this
        start local 1 // jdk.vm.ci.meta.JavaKind javaKind
         0: .line 107
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.target.Backend.getTarget:()Ljdk/vm/ci/code/TargetDescription;
            getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
            aload 1 /* javaKind */
            invokestatic org.graalvm.compiler.core.common.LIRKind.fromJavaKind:(Ljdk/vm/ci/code/Architecture;Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            areturn
        end local 1 // jdk.vm.ci.meta.JavaKind javaKind
        end local 0 // org.graalvm.compiler.core.target.Backend this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/graalvm/compiler/core/target/Backend;
            0    1     1  javaKind  Ljdk/vm/ci/meta/JavaKind;
    MethodParameters:
          Name  Flags
      javaKind  

  public abstract 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: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                Name  Flags
      registerConfig  

  public abstract org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig newRegisterAllocationConfig(jdk.vm.ci.code.RegisterConfig);
    descriptor: (Ljdk/vm/ci/code/RegisterConfig;)Lorg/graalvm/compiler/core/common/alloc/RegisterAllocationConfig;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                Name  Flags
      registerConfig  

  public abstract org.graalvm.compiler.lir.framemap.FrameMap newFrameMap(jdk.vm.ci.code.RegisterConfig);
    descriptor: (Ljdk/vm/ci/code/RegisterConfig;)Lorg/graalvm/compiler/lir/framemap/FrameMap;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                Name  Flags
      registerConfig  

  public abstract 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: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
           Name  Flags
      lirGenRes  

  public abstract org.graalvm.compiler.lir.gen.LIRGenerationResult newLIRGenerationResult(org.graalvm.compiler.core.common.CompilationIdentifier, org.graalvm.compiler.lir.LIR, org.graalvm.compiler.lir.framemap.FrameMapBuilder, org.graalvm.compiler.nodes.StructuredGraph, java.lang.Object);
    descriptor: (Lorg/graalvm/compiler/core/common/CompilationIdentifier;Lorg/graalvm/compiler/lir/LIR;Lorg/graalvm/compiler/lir/framemap/FrameMapBuilder;Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                 Name  Flags
      compilationId    
      lir              
      frameMapBuilder  
      graph            
      stub             

  public abstract 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: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      graph   
      lirGen  

  protected abstract org.graalvm.compiler.asm.Assembler createAssembler(org.graalvm.compiler.lir.framemap.FrameMap);
    descriptor: (Lorg/graalvm/compiler/lir/framemap/FrameMap;)Lorg/graalvm/compiler/asm/Assembler;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
          Name  Flags
      frameMap  

  public abstract 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: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                   Name  Flags
      lirGenResult       
      frameMap           
      compilationResult  
      factory            

  protected abstract jdk.vm.ci.code.CompiledCode createCompiledCode(jdk.vm.ci.meta.ResolvedJavaMethod, jdk.vm.ci.code.CompilationRequest, org.graalvm.compiler.code.CompilationResult);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/code/CompilationRequest;Lorg/graalvm/compiler/code/CompilationResult;)Ljdk/vm/ci/code/CompiledCode;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
                    Name  Flags
      method              
      compilationRequest  
      compilationResult   

  public jdk.vm.ci.code.InstalledCode createInstalledCode(jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.code.CompilationResult, jdk.vm.ci.meta.SpeculationLog, jdk.vm.ci.code.InstalledCode, boolean);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/code/CompilationResult;Ljdk/vm/ci/meta/SpeculationLog;Ljdk/vm/ci/code/InstalledCode;Z)Ljdk/vm/ci/code/InstalledCode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=6
        start local 0 // org.graalvm.compiler.core.target.Backend this
        start local 1 // jdk.vm.ci.meta.ResolvedJavaMethod method
        start local 2 // org.graalvm.compiler.code.CompilationResult compilationResult
        start local 3 // jdk.vm.ci.meta.SpeculationLog speculationLog
        start local 4 // jdk.vm.ci.code.InstalledCode predefinedInstalledCode
        start local 5 // boolean isDefault
         0: .line 150
            aload 0 /* this */
            aload 1 /* method */
            aconst_null
            aload 2 /* compilationResult */
            aload 3 /* speculationLog */
            aload 4 /* predefinedInstalledCode */
            iload 5 /* isDefault */
            invokevirtual org.graalvm.compiler.core.target.Backend.createInstalledCode:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/code/CompilationRequest;Lorg/graalvm/compiler/code/CompilationResult;Ljdk/vm/ci/meta/SpeculationLog;Ljdk/vm/ci/code/InstalledCode;Z)Ljdk/vm/ci/code/InstalledCode;
            areturn
        end local 5 // boolean isDefault
        end local 4 // jdk.vm.ci.code.InstalledCode predefinedInstalledCode
        end local 3 // jdk.vm.ci.meta.SpeculationLog speculationLog
        end local 2 // org.graalvm.compiler.code.CompilationResult compilationResult
        end local 1 // jdk.vm.ci.meta.ResolvedJavaMethod method
        end local 0 // org.graalvm.compiler.core.target.Backend this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    1     0                     this  Lorg/graalvm/compiler/core/target/Backend;
            0    1     1                   method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0    1     2        compilationResult  Lorg/graalvm/compiler/code/CompilationResult;
            0    1     3           speculationLog  Ljdk/vm/ci/meta/SpeculationLog;
            0    1     4  predefinedInstalledCode  Ljdk/vm/ci/code/InstalledCode;
            0    1     5                isDefault  Z
    MethodParameters:
                         Name  Flags
      method                   
      compilationResult        
      speculationLog           
      predefinedInstalledCode  
      isDefault                

  public jdk.vm.ci.code.InstalledCode createInstalledCode(jdk.vm.ci.meta.ResolvedJavaMethod, jdk.vm.ci.code.CompilationRequest, org.graalvm.compiler.code.CompilationResult, jdk.vm.ci.meta.SpeculationLog, jdk.vm.ci.code.InstalledCode, boolean);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/code/CompilationRequest;Lorg/graalvm/compiler/code/CompilationResult;Ljdk/vm/ci/meta/SpeculationLog;Ljdk/vm/ci/code/InstalledCode;Z)Ljdk/vm/ci/code/InstalledCode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=11, args_size=7
        start local 0 // org.graalvm.compiler.core.target.Backend 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 // jdk.vm.ci.meta.SpeculationLog speculationLog
        start local 5 // jdk.vm.ci.code.InstalledCode predefinedInstalledCode
        start local 6 // boolean isDefault
         0: .line 174
            aconst_null
            astore 7
            aconst_null
            astore 8
         1: ldc "CodeInstall"
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.target.Backend.getProviders:()Lorg/graalvm/compiler/phases/util/Providers;
            invokevirtual org.graalvm.compiler.phases.util.Providers.getCodeCache:()Ljdk/vm/ci/code/CodeCacheProvider;
            aload 3 /* compilationResult */
            invokestatic org.graalvm.compiler.debug.Debug.scope:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/Debug$Scope;
            astore 9 /* s2 */
        start local 9 // org.graalvm.compiler.debug.Debug$Scope s2
         2: .line 175
            aload 0 /* this */
            aload 1 /* method */
            aload 2 /* compilationRequest */
            aload 3 /* compilationResult */
            invokevirtual org.graalvm.compiler.core.target.Backend.createCompiledCode:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/code/CompilationRequest;Lorg/graalvm/compiler/code/CompilationResult;)Ljdk/vm/ci/code/CompiledCode;
            astore 10 /* compiledCode */
        start local 10 // jdk.vm.ci.code.CompiledCode compiledCode
         3: .line 176
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.target.Backend.getProviders:()Lorg/graalvm/compiler/phases/util/Providers;
            invokevirtual org.graalvm.compiler.phases.util.Providers.getCodeCache:()Ljdk/vm/ci/code/CodeCacheProvider;
            aload 1 /* method */
            aload 10 /* compiledCode */
            aload 5 /* predefinedInstalledCode */
            aload 4 /* speculationLog */
            iload 6 /* isDefault */
            invokeinterface jdk.vm.ci.code.CodeCacheProvider.installCode:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/code/CompiledCode;Ljdk/vm/ci/code/InstalledCode;Ljdk/vm/ci/meta/SpeculationLog;Z)Ljdk/vm/ci/code/InstalledCode;
         4: .line 177
            aload 9 /* s2 */
            ifnull 5
            aload 9 /* s2 */
            invokeinterface org.graalvm.compiler.debug.Debug$Scope.close:()V
         5: .line 176
      StackMap locals: org.graalvm.compiler.core.target.Backend jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.code.CompilationRequest org.graalvm.compiler.code.CompilationResult jdk.vm.ci.meta.SpeculationLog jdk.vm.ci.code.InstalledCode int java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope jdk.vm.ci.code.CompiledCode
      StackMap stack: jdk.vm.ci.code.InstalledCode
            areturn
        end local 10 // jdk.vm.ci.code.CompiledCode compiledCode
      StackMap locals: org.graalvm.compiler.core.target.Backend jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.code.CompilationRequest org.graalvm.compiler.code.CompilationResult jdk.vm.ci.meta.SpeculationLog jdk.vm.ci.code.InstalledCode int java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope
      StackMap stack: java.lang.Throwable
         6: astore 7
         7: .line 177
            aload 9 /* s2 */
            ifnull 8
            aload 9 /* s2 */
            invokeinterface org.graalvm.compiler.debug.Debug$Scope.close:()V
        end local 9 // org.graalvm.compiler.debug.Debug$Scope s2
      StackMap locals:
      StackMap stack:
         8: aload 7
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: astore 8
            aload 7
            ifnonnull 10
            aload 8
            astore 7
            goto 11
      StackMap locals:
      StackMap stack:
        10: aload 7
            aload 8
            if_acmpeq 11
            aload 7
            aload 8
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        11: aload 7
            athrow
      StackMap locals: org.graalvm.compiler.core.target.Backend jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.code.CompilationRequest org.graalvm.compiler.code.CompilationResult jdk.vm.ci.meta.SpeculationLog jdk.vm.ci.code.InstalledCode int
      StackMap stack: java.lang.Throwable
        12: astore 7 /* e */
        start local 7 // java.lang.Throwable e
        13: .line 178
            aload 7 /* e */
            invokestatic org.graalvm.compiler.debug.Debug.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 7 // java.lang.Throwable e
        end local 6 // boolean isDefault
        end local 5 // jdk.vm.ci.code.InstalledCode predefinedInstalledCode
        end local 4 // jdk.vm.ci.meta.SpeculationLog speculationLog
        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 // org.graalvm.compiler.core.target.Backend this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   14     0                     this  Lorg/graalvm/compiler/core/target/Backend;
            0   14     1                   method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0   14     2       compilationRequest  Ljdk/vm/ci/code/CompilationRequest;
            0   14     3        compilationResult  Lorg/graalvm/compiler/code/CompilationResult;
            0   14     4           speculationLog  Ljdk/vm/ci/meta/SpeculationLog;
            0   14     5  predefinedInstalledCode  Ljdk/vm/ci/code/InstalledCode;
            0   14     6                isDefault  Z
            2    8     9                       s2  Lorg/graalvm/compiler/debug/Debug$Scope;
            3    6    10             compiledCode  Ljdk/vm/ci/code/CompiledCode;
           13   14     7                        e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           2     4       6  any
           1     5       9  any
           6     9       9  any
           0     5      12  Class java.lang.Throwable
           6    12      12  Class java.lang.Throwable
    MethodParameters:
                         Name  Flags
      method                   
      compilationRequest       
      compilationResult        
      speculationLog           
      predefinedInstalledCode  
      isDefault                

  public jdk.vm.ci.code.InstalledCode addInstalledCode(jdk.vm.ci.meta.ResolvedJavaMethod, jdk.vm.ci.code.CompilationRequest, org.graalvm.compiler.code.CompilationResult);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/code/CompilationRequest;Lorg/graalvm/compiler/code/CompilationResult;)Ljdk/vm/ci/code/InstalledCode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.core.target.Backend 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
         0: .line 193
            aload 0 /* this */
            aload 1 /* method */
            aload 2 /* compilationRequest */
            aload 3 /* compilationResult */
            aconst_null
            aconst_null
            iconst_0
            invokevirtual org.graalvm.compiler.core.target.Backend.createInstalledCode:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/code/CompilationRequest;Lorg/graalvm/compiler/code/CompilationResult;Ljdk/vm/ci/meta/SpeculationLog;Ljdk/vm/ci/code/InstalledCode;Z)Ljdk/vm/ci/code/InstalledCode;
            areturn
        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 // org.graalvm.compiler.core.target.Backend this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    1     0                this  Lorg/graalvm/compiler/core/target/Backend;
            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;
    MethodParameters:
                    Name  Flags
      method              
      compilationRequest  
      compilationResult   

  public jdk.vm.ci.code.InstalledCode createDefaultInstalledCode(jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.code.CompilationResult);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/code/CompilationResult;)Ljdk/vm/ci/code/InstalledCode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.core.target.Backend this
        start local 1 // jdk.vm.ci.meta.ResolvedJavaMethod method
        start local 2 // org.graalvm.compiler.code.CompilationResult compilationResult
         0: .line 207
            aload 0 /* this */
            aload 1 /* method */
            aload 2 /* compilationResult */
            aconst_null
            aconst_null
            iconst_1
            invokevirtual org.graalvm.compiler.core.target.Backend.createInstalledCode:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/code/CompilationResult;Ljdk/vm/ci/meta/SpeculationLog;Ljdk/vm/ci/code/InstalledCode;Z)Ljdk/vm/ci/code/InstalledCode;
            areturn
        end local 2 // org.graalvm.compiler.code.CompilationResult compilationResult
        end local 1 // jdk.vm.ci.meta.ResolvedJavaMethod method
        end local 0 // org.graalvm.compiler.core.target.Backend this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    1     0               this  Lorg/graalvm/compiler/core/target/Backend;
            0    1     1             method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0    1     2  compilationResult  Lorg/graalvm/compiler/code/CompilationResult;
    MethodParameters:
                   Name  Flags
      method             
      compilationResult  

  public abstract 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: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                    Name  Flags
      crb                 
      lir                 
      installedCodeOwner  

  public abstract java.util.Set<jdk.vm.ci.code.Register> translateToCallerRegisters(java.util.Set<jdk.vm.ci.code.Register>);
    descriptor: (Ljava/util/Set;)Ljava/util/Set;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/util/Set<Ljdk/vm/ci/code/Register;>;)Ljava/util/Set<Ljdk/vm/ci/code/Register;>;
    MethodParameters:
                 Name  Flags
      calleeRegisters  

  public org.graalvm.compiler.core.common.CompilationIdentifier getCompilationIdentifier(jdk.vm.ci.meta.ResolvedJavaMethod);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lorg/graalvm/compiler/core/common/CompilationIdentifier;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.core.target.Backend this
        start local 1 // jdk.vm.ci.meta.ResolvedJavaMethod resolvedJavaMethod
         0: .line 232
            getstatic org.graalvm.compiler.core.common.CompilationIdentifier.INVALID_COMPILATION_ID:Lorg/graalvm/compiler/core/common/CompilationRequestIdentifier;
            areturn
        end local 1 // jdk.vm.ci.meta.ResolvedJavaMethod resolvedJavaMethod
        end local 0 // org.graalvm.compiler.core.target.Backend this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    1     0                this  Lorg/graalvm/compiler/core/target/Backend;
            0    1     1  resolvedJavaMethod  Ljdk/vm/ci/meta/ResolvedJavaMethod;
    MethodParameters:
                    Name  Flags
      resolvedJavaMethod  

  public jdk.vm.ci.meta.ValueKind getValueKind(jdk.vm.ci.meta.JavaKind);
    descriptor: (Ljdk/vm/ci/meta/JavaKind;)Ljdk/vm/ci/meta/ValueKind;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual org.graalvm.compiler.core.target.Backend.getValueKind:(Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Ljava/lang/Object;Lorg/graalvm/compiler/phases/tiers/TargetProvider;Ljdk/vm/ci/code/ValueKindFactory<Lorg/graalvm/compiler/core/common/LIRKind;>;
SourceFile: "Backend.java"
InnerClasses:
  public abstract Scope = org.graalvm.compiler.debug.Debug$Scope of org.graalvm.compiler.debug.Debug