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

  private final java.util.ArrayList<org.graalvm.compiler.core.target.Backend$CodeInstallationTaskFactory> codeInstallationTaskFactories;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/ArrayList<Lorg/graalvm/compiler/core/target/Backend$CodeInstallationTaskFactory;>;

  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 72
            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 73
            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=3, 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 75
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 76
            aload 0 /* this */
            aload 1 /* providers */
            putfield org.graalvm.compiler.core.target.Backend.providers:Lorg/graalvm/compiler/phases/util/Providers;
         2: .line 77
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.graalvm.compiler.core.target.Backend.codeInstallationTaskFactories:Ljava/util/ArrayList;
         3: .line 78
            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    4     0       this  Lorg/graalvm/compiler/core/target/Backend;
            0    4     1  providers  Lorg/graalvm/compiler/phases/util/Providers;
    MethodParameters:
           Name  Flags
      providers  

  public synchronized void addCodeInstallationTask(org.graalvm.compiler.core.target.Backend$CodeInstallationTaskFactory);
    descriptor: (Lorg/graalvm/compiler/core/target/Backend$CodeInstallationTaskFactory;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.core.target.Backend this
        start local 1 // org.graalvm.compiler.core.target.Backend$CodeInstallationTaskFactory factory
         0: .line 81
            aload 0 /* this */
            getfield org.graalvm.compiler.core.target.Backend.codeInstallationTaskFactories:Ljava/util/ArrayList;
            aload 1 /* factory */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         1: .line 82
            return
        end local 1 // org.graalvm.compiler.core.target.Backend$CodeInstallationTaskFactory factory
        end local 0 // org.graalvm.compiler.core.target.Backend this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/graalvm/compiler/core/target/Backend;
            0    2     1  factory  Lorg/graalvm/compiler/core/target/Backend$CodeInstallationTaskFactory;
    MethodParameters:
         Name  Flags
      factory  

  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 85
            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 89
            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 93
            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 97
            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 101
            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 108
            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 113
            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, java.lang.String[]);
    descriptor: (Ljdk/vm/ci/code/RegisterConfig;[Ljava/lang/String;)Lorg/graalvm/compiler/core/common/alloc/RegisterAllocationConfig;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                        Name  Flags
      registerConfig          
      allocationRestrictedTo  

  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(org.graalvm.compiler.debug.DebugContext, jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.code.CompilationResult, jdk.vm.ci.meta.SpeculationLog, jdk.vm.ci.code.InstalledCode, boolean);
    descriptor: (Lorg/graalvm/compiler/debug/DebugContext;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=9, locals=7, args_size=7
        start local 0 // org.graalvm.compiler.core.target.Backend this
        start local 1 // org.graalvm.compiler.debug.DebugContext debug
        start local 2 // jdk.vm.ci.meta.ResolvedJavaMethod method
        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 162
            aload 0 /* this */
            aload 1 /* debug */
            aload 2 /* method */
            aconst_null
            aload 3 /* compilationResult */
            aload 4 /* speculationLog */
            aload 5 /* predefinedInstalledCode */
            iload 6 /* isDefault */
            aconst_null
            invokevirtual org.graalvm.compiler.core.target.Backend.createInstalledCode:(Lorg/graalvm/compiler/debug/DebugContext;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[Ljava/lang/Object;)Ljdk/vm/ci/code/InstalledCode;
            areturn
        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.meta.ResolvedJavaMethod method
        end local 1 // org.graalvm.compiler.debug.DebugContext debug
        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                    debug  Lorg/graalvm/compiler/debug/DebugContext;
            0    1     2                   method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0    1     3        compilationResult  Lorg/graalvm/compiler/code/CompilationResult;
            0    1     4           speculationLog  Ljdk/vm/ci/meta/SpeculationLog;
            0    1     5  predefinedInstalledCode  Ljdk/vm/ci/code/InstalledCode;
            0    1     6                isDefault  Z
    MethodParameters:
                         Name  Flags
      debug                    
      method                   
      compilationResult        
      speculationLog           
      predefinedInstalledCode  
      isDefault                

  public jdk.vm.ci.code.InstalledCode createInstalledCode(org.graalvm.compiler.debug.DebugContext, 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: (Lorg/graalvm/compiler/debug/DebugContext;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=9, locals=8, args_size=8
        start local 0 // org.graalvm.compiler.core.target.Backend this
        start local 1 // org.graalvm.compiler.debug.DebugContext debug
        start local 2 // jdk.vm.ci.meta.ResolvedJavaMethod method
        start local 3 // jdk.vm.ci.code.CompilationRequest compilationRequest
        start local 4 // org.graalvm.compiler.code.CompilationResult compilationResult
        start local 5 // jdk.vm.ci.meta.SpeculationLog speculationLog
        start local 6 // jdk.vm.ci.code.InstalledCode predefinedInstalledCode
        start local 7 // boolean isDefault
         0: .line 172
            aload 0 /* this */
            aload 1 /* debug */
            aload 2 /* method */
            aload 3 /* compilationRequest */
            aload 4 /* compilationResult */
            aload 5 /* speculationLog */
            aload 6 /* predefinedInstalledCode */
            iload 7 /* isDefault */
            aconst_null
            invokevirtual org.graalvm.compiler.core.target.Backend.createInstalledCode:(Lorg/graalvm/compiler/debug/DebugContext;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[Ljava/lang/Object;)Ljdk/vm/ci/code/InstalledCode;
            areturn
        end local 7 // boolean isDefault
        end local 6 // jdk.vm.ci.code.InstalledCode predefinedInstalledCode
        end local 5 // jdk.vm.ci.meta.SpeculationLog speculationLog
        end local 4 // org.graalvm.compiler.code.CompilationResult compilationResult
        end local 3 // jdk.vm.ci.code.CompilationRequest compilationRequest
        end local 2 // jdk.vm.ci.meta.ResolvedJavaMethod method
        end local 1 // org.graalvm.compiler.debug.DebugContext debug
        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                    debug  Lorg/graalvm/compiler/debug/DebugContext;
            0    1     2                   method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0    1     3       compilationRequest  Ljdk/vm/ci/code/CompilationRequest;
            0    1     4        compilationResult  Lorg/graalvm/compiler/code/CompilationResult;
            0    1     5           speculationLog  Ljdk/vm/ci/meta/SpeculationLog;
            0    1     6  predefinedInstalledCode  Ljdk/vm/ci/code/InstalledCode;
            0    1     7                isDefault  Z
    MethodParameters:
                         Name  Flags
      debug                    
      method                   
      compilationRequest       
      compilationResult        
      speculationLog           
      predefinedInstalledCode  
      isDefault                

  public jdk.vm.ci.code.InstalledCode createInstalledCode(org.graalvm.compiler.debug.DebugContext, 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, java.lang.Object[]);
    descriptor: (Lorg/graalvm/compiler/debug/DebugContext;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[Ljava/lang/Object;)Ljdk/vm/ci/code/InstalledCode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=21, args_size=9
        start local 0 // org.graalvm.compiler.core.target.Backend this
        start local 1 // org.graalvm.compiler.debug.DebugContext debug
        start local 2 // jdk.vm.ci.meta.ResolvedJavaMethod method
        start local 3 // jdk.vm.ci.code.CompilationRequest compilationRequest
        start local 4 // org.graalvm.compiler.code.CompilationResult compilationResult
        start local 5 // jdk.vm.ci.meta.SpeculationLog speculationLog
        start local 6 // jdk.vm.ci.code.InstalledCode predefinedInstalledCode
        start local 7 // boolean isDefault
        start local 8 // java.lang.Object[] context
         0: .line 197
            aload 8 /* context */
            ifnull 1
            aload 8 /* context */
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            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;
            aastore
            dup
            iconst_1
            aload 2 /* method */
            aastore
            dup
            iconst_2
            aload 4 /* compilationResult */
            aastore
      StackMap locals:
      StackMap stack: java.lang.Object[]
         2: astore 9 /* debugContext */
        start local 9 // java.lang.Object[] debugContext
         3: .line 199
            aload 0 /* this */
            dup
            astore 11
            monitorenter
         4: .line 200
            aload 0 /* this */
            getfield org.graalvm.compiler.core.target.Backend.codeInstallationTaskFactories:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            anewarray org.graalvm.compiler.core.target.Backend$CodeInstallationTask
            astore 10 /* tasks */
        start local 10 // org.graalvm.compiler.core.target.Backend$CodeInstallationTask[] tasks
         5: .line 201
            iconst_0
            istore 12 /* i */
        start local 12 // int i
         6: goto 9
         7: .line 202
      StackMap locals: org.graalvm.compiler.core.target.Backend org.graalvm.compiler.debug.DebugContext 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.Object[] java.lang.Object[] org.graalvm.compiler.core.target.Backend$CodeInstallationTask[] org.graalvm.compiler.core.target.Backend int
      StackMap stack:
            aload 10 /* tasks */
            iload 12 /* i */
            aload 0 /* this */
            getfield org.graalvm.compiler.core.target.Backend.codeInstallationTaskFactories:Ljava/util/ArrayList;
            iload 12 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.compiler.core.target.Backend$CodeInstallationTaskFactory
            invokevirtual org.graalvm.compiler.core.target.Backend$CodeInstallationTaskFactory.create:()Lorg/graalvm/compiler/core/target/Backend$CodeInstallationTask;
            aastore
         8: .line 201
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 12 /* i */
            aload 0 /* this */
            getfield org.graalvm.compiler.core.target.Backend.codeInstallationTaskFactories:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            if_icmplt 7
        end local 12 // int i
        10: .line 199
            aload 11
            monitorexit
        11: goto 14
        end local 10 // org.graalvm.compiler.core.target.Backend$CodeInstallationTask[] tasks
      StackMap locals: org.graalvm.compiler.core.target.Backend org.graalvm.compiler.debug.DebugContext 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.Object[] java.lang.Object[] top org.graalvm.compiler.core.target.Backend
      StackMap stack: java.lang.Throwable
        12: aload 11
            monitorexit
        13: athrow
        start local 10 // org.graalvm.compiler.core.target.Backend$CodeInstallationTask[] tasks
        14: .line 205
      StackMap locals: org.graalvm.compiler.core.target.Backend org.graalvm.compiler.debug.DebugContext 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.Object[] java.lang.Object[] org.graalvm.compiler.core.target.Backend$CodeInstallationTask[]
      StackMap stack:
            aconst_null
            astore 11
            aconst_null
            astore 12
        15: aload 1 /* debug */
            ldc "CodeInstall"
            aload 9 /* debugContext */
            invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;[Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
            astore 13 /* s2 */
        start local 13 // org.graalvm.compiler.debug.DebugContext$Scope s2
        16: .line 206
            aload 1 /* debug */
            invokevirtual org.graalvm.compiler.debug.DebugContext.activate:()Lorg/graalvm/compiler/debug/DebugContext$Activation;
            astore 14 /* a */
        start local 14 // org.graalvm.compiler.debug.DebugContext$Activation a
        17: .line 207
            aload 10 /* tasks */
            dup
            astore 18
            arraylength
            istore 17
            iconst_0
            istore 16
            goto 21
      StackMap locals: org.graalvm.compiler.core.target.Backend org.graalvm.compiler.debug.DebugContext 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.Object[] java.lang.Object[] org.graalvm.compiler.core.target.Backend$CodeInstallationTask[] java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.debug.DebugContext$Activation top int int org.graalvm.compiler.core.target.Backend$CodeInstallationTask[]
      StackMap stack:
        18: aload 18
            iload 16
            aaload
            astore 15 /* task */
        start local 15 // org.graalvm.compiler.core.target.Backend$CodeInstallationTask task
        19: .line 208
            aload 15 /* task */
            aload 4 /* compilationResult */
            invokevirtual org.graalvm.compiler.core.target.Backend$CodeInstallationTask.preProcess:(Lorg/graalvm/compiler/code/CompilationResult;)V
        end local 15 // org.graalvm.compiler.core.target.Backend$CodeInstallationTask task
        20: .line 207
            iinc 16 1
      StackMap locals:
      StackMap stack:
        21: iload 16
            iload 17
            if_icmplt 18
        22: .line 211
            aload 0 /* this */
            aload 2 /* method */
            aload 3 /* compilationRequest */
            aload 4 /* 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 15 /* compiledCode */
        start local 15 // jdk.vm.ci.code.CompiledCode compiledCode
        23: .line 212
            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 2 /* method */
            aload 15 /* compiledCode */
            aload 6 /* predefinedInstalledCode */
            aload 5 /* speculationLog */
            iload 7 /* 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;
            astore 16 /* installedCode */
        start local 16 // jdk.vm.ci.code.InstalledCode installedCode
        24: .line 216
            aload 10 /* tasks */
            dup
            astore 20
            arraylength
            istore 19
            iconst_0
            istore 18
            goto 28
      StackMap locals: org.graalvm.compiler.core.target.Backend org.graalvm.compiler.debug.DebugContext 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.Object[] java.lang.Object[] org.graalvm.compiler.core.target.Backend$CodeInstallationTask[] java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.debug.DebugContext$Activation jdk.vm.ci.code.CompiledCode jdk.vm.ci.code.InstalledCode top int int org.graalvm.compiler.core.target.Backend$CodeInstallationTask[]
      StackMap stack:
        25: aload 20
            iload 18
            aaload
            astore 17 /* task */
        start local 17 // org.graalvm.compiler.core.target.Backend$CodeInstallationTask task
        26: .line 217
            aload 17 /* task */
            aload 16 /* installedCode */
            invokevirtual org.graalvm.compiler.core.target.Backend$CodeInstallationTask.postProcess:(Ljdk/vm/ci/code/InstalledCode;)V
        end local 17 // org.graalvm.compiler.core.target.Backend$CodeInstallationTask task
        27: .line 216
            iinc 18 1
      StackMap locals:
      StackMap stack:
        28: iload 18
            iload 19
            if_icmplt 25
        29: .line 219
            aload 10 /* tasks */
            dup
            astore 20
            arraylength
            istore 19
            iconst_0
            istore 18
            goto 33
      StackMap locals:
      StackMap stack:
        30: aload 20
            iload 18
            aaload
            astore 17 /* task */
        start local 17 // org.graalvm.compiler.core.target.Backend$CodeInstallationTask task
        31: .line 220
            aload 17 /* task */
            aload 16 /* installedCode */
            invokevirtual org.graalvm.compiler.core.target.Backend$CodeInstallationTask.releaseInstallation:(Ljdk/vm/ci/code/InstalledCode;)V
        end local 17 // org.graalvm.compiler.core.target.Backend$CodeInstallationTask task
        32: .line 219
            iinc 18 1
      StackMap locals:
      StackMap stack:
        33: iload 18
            iload 19
            if_icmplt 30
        34: .line 222
            goto 38
      StackMap locals: org.graalvm.compiler.core.target.Backend org.graalvm.compiler.debug.DebugContext 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.Object[] java.lang.Object[] org.graalvm.compiler.core.target.Backend$CodeInstallationTask[] java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.debug.DebugContext$Activation jdk.vm.ci.code.CompiledCode jdk.vm.ci.code.InstalledCode
      StackMap stack: java.lang.Throwable
        35: astore 17 /* t */
        start local 17 // java.lang.Throwable t
        36: .line 223
            aload 16 /* installedCode */
            invokevirtual jdk.vm.ci.code.InstalledCode.invalidate:()V
        37: .line 224
            aload 17 /* t */
            athrow
        end local 17 // java.lang.Throwable t
        38: .line 226
      StackMap locals:
      StackMap stack:
            aload 16 /* installedCode */
        39: .line 227
            aload 14 /* a */
            ifnull 40
            aload 14 /* a */
            invokevirtual org.graalvm.compiler.debug.DebugContext$Activation.close:()V
      StackMap locals:
      StackMap stack: jdk.vm.ci.code.InstalledCode
        40: aload 13 /* s2 */
            ifnull 41
            aload 13 /* s2 */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
        41: .line 226
      StackMap locals:
      StackMap stack: jdk.vm.ci.code.InstalledCode
            areturn
        end local 16 // jdk.vm.ci.code.InstalledCode installedCode
        end local 15 // jdk.vm.ci.code.CompiledCode compiledCode
      StackMap locals: org.graalvm.compiler.core.target.Backend org.graalvm.compiler.debug.DebugContext 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.Object[] java.lang.Object[] org.graalvm.compiler.core.target.Backend$CodeInstallationTask[] java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.debug.DebugContext$Activation
      StackMap stack: java.lang.Throwable
        42: astore 11
        43: .line 227
            aload 14 /* a */
            ifnull 44
            aload 14 /* a */
            invokevirtual org.graalvm.compiler.debug.DebugContext$Activation.close:()V
        end local 14 // org.graalvm.compiler.debug.DebugContext$Activation a
      StackMap locals:
      StackMap stack:
        44: aload 11
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        45: astore 12
            aload 11
            ifnonnull 46
            aload 12
            astore 11
            goto 47
      StackMap locals:
      StackMap stack:
        46: aload 11
            aload 12
            if_acmpeq 47
            aload 11
            aload 12
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        47: aload 13 /* s2 */
            ifnull 48
            aload 13 /* s2 */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
        end local 13 // org.graalvm.compiler.debug.DebugContext$Scope s2
      StackMap locals:
      StackMap stack:
        48: aload 11
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        49: astore 12
            aload 11
            ifnonnull 50
            aload 12
            astore 11
            goto 51
      StackMap locals:
      StackMap stack:
        50: aload 11
            aload 12
            if_acmpeq 51
            aload 11
            aload 12
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        51: aload 11
            athrow
      StackMap locals: org.graalvm.compiler.core.target.Backend org.graalvm.compiler.debug.DebugContext 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.Object[] java.lang.Object[] org.graalvm.compiler.core.target.Backend$CodeInstallationTask[]
      StackMap stack: java.lang.Throwable
        52: astore 11 /* e */
        start local 11 // java.lang.Throwable e
        53: .line 228
            aload 1 /* debug */
            aload 11 /* e */
            invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 11 // java.lang.Throwable e
        end local 10 // org.graalvm.compiler.core.target.Backend$CodeInstallationTask[] tasks
        end local 9 // java.lang.Object[] debugContext
        end local 8 // java.lang.Object[] context
        end local 7 // boolean isDefault
        end local 6 // jdk.vm.ci.code.InstalledCode predefinedInstalledCode
        end local 5 // jdk.vm.ci.meta.SpeculationLog speculationLog
        end local 4 // org.graalvm.compiler.code.CompilationResult compilationResult
        end local 3 // jdk.vm.ci.code.CompilationRequest compilationRequest
        end local 2 // jdk.vm.ci.meta.ResolvedJavaMethod method
        end local 1 // org.graalvm.compiler.debug.DebugContext debug
        end local 0 // org.graalvm.compiler.core.target.Backend this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   54     0                     this  Lorg/graalvm/compiler/core/target/Backend;
            0   54     1                    debug  Lorg/graalvm/compiler/debug/DebugContext;
            0   54     2                   method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0   54     3       compilationRequest  Ljdk/vm/ci/code/CompilationRequest;
            0   54     4        compilationResult  Lorg/graalvm/compiler/code/CompilationResult;
            0   54     5           speculationLog  Ljdk/vm/ci/meta/SpeculationLog;
            0   54     6  predefinedInstalledCode  Ljdk/vm/ci/code/InstalledCode;
            0   54     7                isDefault  Z
            0   54     8                  context  [Ljava/lang/Object;
            3   54     9             debugContext  [Ljava/lang/Object;
            5   12    10                    tasks  [Lorg/graalvm/compiler/core/target/Backend$CodeInstallationTask;
           14   54    10                    tasks  [Lorg/graalvm/compiler/core/target/Backend$CodeInstallationTask;
            6   10    12                        i  I
           16   48    13                       s2  Lorg/graalvm/compiler/debug/DebugContext$Scope;
           17   44    14                        a  Lorg/graalvm/compiler/debug/DebugContext$Activation;
           19   20    15                     task  Lorg/graalvm/compiler/core/target/Backend$CodeInstallationTask;
           23   42    15             compiledCode  Ljdk/vm/ci/code/CompiledCode;
           24   42    16            installedCode  Ljdk/vm/ci/code/InstalledCode;
           26   27    17                     task  Lorg/graalvm/compiler/core/target/Backend$CodeInstallationTask;
           31   32    17                     task  Lorg/graalvm/compiler/core/target/Backend$CodeInstallationTask;
           36   38    17                        t  Ljava/lang/Throwable;
           53   54    11                        e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           4    11      12  any
          12    13      12  any
          24    34      35  Class java.lang.Throwable
          17    39      42  any
          16    40      45  any
          42    45      45  any
          15    41      49  any
          42    49      49  any
          14    41      52  Class java.lang.Throwable
          42    52      52  Class java.lang.Throwable
    MethodParameters:
                         Name  Flags
      debug                    
      method                   
      compilationRequest       
      compilationResult        
      speculationLog           
      predefinedInstalledCode  
      isDefault                
      context                  

  public jdk.vm.ci.code.InstalledCode addInstalledCode(org.graalvm.compiler.debug.DebugContext, jdk.vm.ci.meta.ResolvedJavaMethod, jdk.vm.ci.code.CompilationRequest, org.graalvm.compiler.code.CompilationResult);
    descriptor: (Lorg/graalvm/compiler/debug/DebugContext;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=8, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.core.target.Backend this
        start local 1 // org.graalvm.compiler.debug.DebugContext debug
        start local 2 // jdk.vm.ci.meta.ResolvedJavaMethod method
        start local 3 // jdk.vm.ci.code.CompilationRequest compilationRequest
        start local 4 // org.graalvm.compiler.code.CompilationResult compilationResult
         0: .line 243
            aload 0 /* this */
            aload 1 /* debug */
            aload 2 /* method */
            aload 3 /* compilationRequest */
            aload 4 /* compilationResult */
            aconst_null
            aconst_null
            iconst_0
            invokevirtual org.graalvm.compiler.core.target.Backend.createInstalledCode:(Lorg/graalvm/compiler/debug/DebugContext;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 4 // org.graalvm.compiler.code.CompilationResult compilationResult
        end local 3 // jdk.vm.ci.code.CompilationRequest compilationRequest
        end local 2 // jdk.vm.ci.meta.ResolvedJavaMethod method
        end local 1 // org.graalvm.compiler.debug.DebugContext debug
        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               debug  Lorg/graalvm/compiler/debug/DebugContext;
            0    1     2              method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0    1     3  compilationRequest  Ljdk/vm/ci/code/CompilationRequest;
            0    1     4   compilationResult  Lorg/graalvm/compiler/code/CompilationResult;
    MethodParameters:
                    Name  Flags
      debug               
      method              
      compilationRequest  
      compilationResult   

  public jdk.vm.ci.code.InstalledCode createDefaultInstalledCode(org.graalvm.compiler.debug.DebugContext, jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.code.CompilationResult);
    descriptor: (Lorg/graalvm/compiler/debug/DebugContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;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 // org.graalvm.compiler.debug.DebugContext debug
        start local 2 // jdk.vm.ci.meta.ResolvedJavaMethod method
        start local 3 // org.graalvm.compiler.code.CompilationResult compilationResult
         0: .line 257
            aload 0 /* this */
            aload 1 /* debug */
            aload 2 /* method */
            aload 3 /* compilationResult */
            aconst_null
            aconst_null
            iconst_1
            invokevirtual org.graalvm.compiler.core.target.Backend.createInstalledCode:(Lorg/graalvm/compiler/debug/DebugContext;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 3 // org.graalvm.compiler.code.CompilationResult compilationResult
        end local 2 // jdk.vm.ci.meta.ResolvedJavaMethod method
        end local 1 // org.graalvm.compiler.debug.DebugContext debug
        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              debug  Lorg/graalvm/compiler/debug/DebugContext;
            0    1     2             method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0    1     3  compilationResult  Lorg/graalvm/compiler/code/CompilationResult;
    MethodParameters:
                   Name  Flags
      debug              
      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 org.graalvm.util.EconomicSet<jdk.vm.ci.code.Register> translateToCallerRegisters(org.graalvm.util.EconomicSet<jdk.vm.ci.code.Register>);
    descriptor: (Lorg/graalvm/util/EconomicSet;)Lorg/graalvm/util/EconomicSet;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lorg/graalvm/util/EconomicSet<Ljdk/vm/ci/code/Register;>;)Lorg/graalvm/util/EconomicSet<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 282
            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"
NestMembers:
  org.graalvm.compiler.core.target.Backend$CodeInstallationTask  org.graalvm.compiler.core.target.Backend$CodeInstallationTaskFactory
InnerClasses:
  public abstract CodeInstallationTask = org.graalvm.compiler.core.target.Backend$CodeInstallationTask of org.graalvm.compiler.core.target.Backend
  public abstract CodeInstallationTaskFactory = org.graalvm.compiler.core.target.Backend$CodeInstallationTaskFactory of org.graalvm.compiler.core.target.Backend
  public Activation = org.graalvm.compiler.debug.DebugContext$Activation of org.graalvm.compiler.debug.DebugContext
  public abstract Scope = org.graalvm.compiler.debug.DebugContext$Scope of org.graalvm.compiler.debug.DebugContext