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 final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=8, locals=0, args_size=0
         0: .line 69
            ldc Lorg/graalvm/compiler/core/target/Backend;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic org.graalvm.compiler.core.target.Backend.$assertionsDisabled:Z
         3: .line 74
            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;
         4: .line 75
            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 77
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 78
            aload 0 /* this */
            aload 1 /* providers */
            putfield org.graalvm.compiler.core.target.Backend.providers:Lorg/graalvm/compiler/phases/util/Providers;
         2: .line 79
            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 80
            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 83
            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 84
            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 87
            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 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.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 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.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 99
            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 103
            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 110
            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 115
            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 164
            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 174
            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=17, 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 199
            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 201
            aload 0 /* this */
            dup
            astore 11
            monitorenter
         4: .line 202
            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 203
            iconst_0
            istore 12 /* i */
        start local 12 // int i
         6: goto 9
         7: .line 204
      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 203
            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 201
            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 207
      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 208
            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 212
            aload 10 /* tasks */
            aload 4 /* compilationResult */
            aload 6 /* predefinedInstalledCode */
            invokestatic org.graalvm.compiler.core.target.Backend.preCodeInstallationTasks:([Lorg/graalvm/compiler/core/target/Backend$CodeInstallationTask;Lorg/graalvm/compiler/code/CompilationResult;Ljdk/vm/ci/code/InstalledCode;)V
        18: .line 213
            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 16 /* compiledCode */
        start local 16 // jdk.vm.ci.code.CompiledCode compiledCode
        19: .line 214
            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 16 /* 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 15 /* installedCode */
        start local 15 // jdk.vm.ci.code.InstalledCode installedCode
        20: .line 215
            getstatic org.graalvm.compiler.core.target.Backend.$assertionsDisabled:Z
            ifne 24
            aload 6 /* predefinedInstalledCode */
            ifnull 24
            aload 15 /* installedCode */
            aload 6 /* predefinedInstalledCode */
            if_acmpeq 24
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 16 // jdk.vm.ci.code.CompiledCode compiledCode
        end local 15 // jdk.vm.ci.code.InstalledCode installedCode
        21: .line 216
      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
            astore 16 /* t */
        start local 16 // java.lang.Throwable t
        22: .line 217
            aload 10 /* tasks */
            aload 16 /* t */
            invokestatic org.graalvm.compiler.core.target.Backend.failCodeInstallationTasks:([Lorg/graalvm/compiler/core/target/Backend$CodeInstallationTask;Ljava/lang/Throwable;)V
        23: .line 218
            aload 16 /* t */
            athrow
        end local 16 // java.lang.Throwable t
        start local 15 // jdk.vm.ci.code.InstalledCode installedCode
        24: .line 221
      StackMap locals: jdk.vm.ci.code.InstalledCode
      StackMap stack:
            aload 10 /* tasks */
            aload 15 /* installedCode */
            invokestatic org.graalvm.compiler.core.target.Backend.postCodeInstallationTasks:([Lorg/graalvm/compiler/core/target/Backend$CodeInstallationTask;Ljdk/vm/ci/code/InstalledCode;)V
        25: .line 223
            aload 15 /* installedCode */
        26: .line 224
            aload 14 /* a */
            ifnull 27
            aload 14 /* a */
            invokevirtual org.graalvm.compiler.debug.DebugContext$Activation.close:()V
      StackMap locals:
      StackMap stack: jdk.vm.ci.code.InstalledCode
        27: aload 13 /* s2 */
            ifnull 28
            aload 13 /* s2 */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
        28: .line 223
      StackMap locals:
      StackMap stack: jdk.vm.ci.code.InstalledCode
            areturn
        end local 15 // jdk.vm.ci.code.InstalledCode installedCode
      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
        29: astore 11
        30: .line 224
            aload 14 /* a */
            ifnull 31
            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:
        31: aload 11
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        32: astore 12
            aload 11
            ifnonnull 33
            aload 12
            astore 11
            goto 34
      StackMap locals:
      StackMap stack:
        33: aload 11
            aload 12
            if_acmpeq 34
            aload 11
            aload 12
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        34: aload 13 /* s2 */
            ifnull 35
            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:
        35: aload 11
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        36: astore 12
            aload 11
            ifnonnull 37
            aload 12
            astore 11
            goto 38
      StackMap locals:
      StackMap stack:
        37: aload 11
            aload 12
            if_acmpeq 38
            aload 11
            aload 12
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        38: 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
        39: astore 11 /* e */
        start local 11 // java.lang.Throwable e
        40: .line 225
            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   41     0                     this  Lorg/graalvm/compiler/core/target/Backend;
            0   41     1                    debug  Lorg/graalvm/compiler/debug/DebugContext;
            0   41     2                   method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0   41     3       compilationRequest  Ljdk/vm/ci/code/CompilationRequest;
            0   41     4        compilationResult  Lorg/graalvm/compiler/code/CompilationResult;
            0   41     5           speculationLog  Ljdk/vm/ci/meta/SpeculationLog;
            0   41     6  predefinedInstalledCode  Ljdk/vm/ci/code/InstalledCode;
            0   41     7                isDefault  Z
            0   41     8                  context  [Ljava/lang/Object;
            3   41     9             debugContext  [Ljava/lang/Object;
            5   12    10                    tasks  [Lorg/graalvm/compiler/core/target/Backend$CodeInstallationTask;
           14   41    10                    tasks  [Lorg/graalvm/compiler/core/target/Backend$CodeInstallationTask;
            6   10    12                        i  I
           16   35    13                       s2  Lorg/graalvm/compiler/debug/DebugContext$Scope;
           17   31    14                        a  Lorg/graalvm/compiler/debug/DebugContext$Activation;
           20   21    15            installedCode  Ljdk/vm/ci/code/InstalledCode;
           24   29    15            installedCode  Ljdk/vm/ci/code/InstalledCode;
           19   21    16             compiledCode  Ljdk/vm/ci/code/CompiledCode;
           22   24    16                        t  Ljava/lang/Throwable;
           40   41    11                        e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           4    11      12  any
          12    13      12  any
          17    21      21  Class java.lang.Throwable
          17    26      29  any
          16    27      32  any
          29    32      32  any
          15    28      36  any
          29    36      36  any
          14    28      39  Class java.lang.Throwable
          29    39      39  Class java.lang.Throwable
    MethodParameters:
                         Name  Flags
      debug                    
      method                   
      compilationRequest       
      compilationResult        
      speculationLog           
      predefinedInstalledCode  
      isDefault                
      context                  

  private static void failCodeInstallationTasks(org.graalvm.compiler.core.target.Backend$CodeInstallationTask[], java.lang.Throwable);
    descriptor: ([Lorg/graalvm/compiler/core/target/Backend$CodeInstallationTask;Ljava/lang/Throwable;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // org.graalvm.compiler.core.target.Backend$CodeInstallationTask[] tasks
        start local 1 // java.lang.Throwable t
         0: .line 230
            aload 0 /* tasks */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 4
      StackMap locals: org.graalvm.compiler.core.target.Backend$CodeInstallationTask[] java.lang.Throwable top int int org.graalvm.compiler.core.target.Backend$CodeInstallationTask[]
      StackMap stack:
         1: aload 5
            iload 3
            aaload
            astore 2 /* task */
        start local 2 // org.graalvm.compiler.core.target.Backend$CodeInstallationTask task
         2: .line 231
            aload 2 /* task */
            aload 1 /* t */
            invokevirtual org.graalvm.compiler.core.target.Backend$CodeInstallationTask.installFailed:(Ljava/lang/Throwable;)V
        end local 2 // org.graalvm.compiler.core.target.Backend$CodeInstallationTask task
         3: .line 230
            iinc 3 1
      StackMap locals:
      StackMap stack:
         4: iload 3
            iload 4
            if_icmplt 1
         5: .line 233
            return
        end local 1 // java.lang.Throwable t
        end local 0 // org.graalvm.compiler.core.target.Backend$CodeInstallationTask[] tasks
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0  tasks  [Lorg/graalvm/compiler/core/target/Backend$CodeInstallationTask;
            0    6     1      t  Ljava/lang/Throwable;
            2    3     2   task  Lorg/graalvm/compiler/core/target/Backend$CodeInstallationTask;
    MethodParameters:
       Name  Flags
      tasks  
      t      

  private static void preCodeInstallationTasks(org.graalvm.compiler.core.target.Backend$CodeInstallationTask[], org.graalvm.compiler.code.CompilationResult, jdk.vm.ci.code.InstalledCode);
    descriptor: ([Lorg/graalvm/compiler/core/target/Backend$CodeInstallationTask;Lorg/graalvm/compiler/code/CompilationResult;Ljdk/vm/ci/code/InstalledCode;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // org.graalvm.compiler.core.target.Backend$CodeInstallationTask[] tasks
        start local 1 // org.graalvm.compiler.code.CompilationResult compilationResult
        start local 2 // jdk.vm.ci.code.InstalledCode predefinedInstalledCode
         0: .line 236
            aload 0 /* tasks */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 4
      StackMap locals: org.graalvm.compiler.core.target.Backend$CodeInstallationTask[] org.graalvm.compiler.code.CompilationResult jdk.vm.ci.code.InstalledCode top int int org.graalvm.compiler.core.target.Backend$CodeInstallationTask[]
      StackMap stack:
         1: aload 6
            iload 4
            aaload
            astore 3 /* task */
        start local 3 // org.graalvm.compiler.core.target.Backend$CodeInstallationTask task
         2: .line 237
            aload 3 /* task */
            aload 1 /* compilationResult */
            aload 2 /* predefinedInstalledCode */
            invokevirtual org.graalvm.compiler.core.target.Backend$CodeInstallationTask.preProcess:(Lorg/graalvm/compiler/code/CompilationResult;Ljdk/vm/ci/code/InstalledCode;)V
        end local 3 // org.graalvm.compiler.core.target.Backend$CodeInstallationTask task
         3: .line 236
            iinc 4 1
      StackMap locals:
      StackMap stack:
         4: iload 4
            iload 5
            if_icmplt 1
         5: .line 239
            return
        end local 2 // jdk.vm.ci.code.InstalledCode predefinedInstalledCode
        end local 1 // org.graalvm.compiler.code.CompilationResult compilationResult
        end local 0 // org.graalvm.compiler.core.target.Backend$CodeInstallationTask[] tasks
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    6     0                    tasks  [Lorg/graalvm/compiler/core/target/Backend$CodeInstallationTask;
            0    6     1        compilationResult  Lorg/graalvm/compiler/code/CompilationResult;
            0    6     2  predefinedInstalledCode  Ljdk/vm/ci/code/InstalledCode;
            2    3     3                     task  Lorg/graalvm/compiler/core/target/Backend$CodeInstallationTask;
    MethodParameters:
                         Name  Flags
      tasks                    
      compilationResult        
      predefinedInstalledCode  

  private static void postCodeInstallationTasks(org.graalvm.compiler.core.target.Backend$CodeInstallationTask[], jdk.vm.ci.code.InstalledCode);
    descriptor: ([Lorg/graalvm/compiler/core/target/Backend$CodeInstallationTask;Ljdk/vm/ci/code/InstalledCode;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // org.graalvm.compiler.core.target.Backend$CodeInstallationTask[] tasks
        start local 1 // jdk.vm.ci.code.InstalledCode installedCode
         0: .line 243
            aload 0 /* tasks */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 4
      StackMap locals: org.graalvm.compiler.core.target.Backend$CodeInstallationTask[] jdk.vm.ci.code.InstalledCode top int int org.graalvm.compiler.core.target.Backend$CodeInstallationTask[]
      StackMap stack:
         1: aload 5
            iload 3
            aaload
            astore 2 /* task */
        start local 2 // org.graalvm.compiler.core.target.Backend$CodeInstallationTask task
         2: .line 244
            aload 2 /* task */
            aload 1 /* installedCode */
            invokevirtual org.graalvm.compiler.core.target.Backend$CodeInstallationTask.postProcess:(Ljdk/vm/ci/code/InstalledCode;)V
        end local 2 // org.graalvm.compiler.core.target.Backend$CodeInstallationTask task
         3: .line 243
            iinc 3 1
      StackMap locals:
      StackMap stack:
         4: iload 3
            iload 4
            if_icmplt 1
         5: .line 246
            goto 9
      StackMap locals: org.graalvm.compiler.core.target.Backend$CodeInstallationTask[] jdk.vm.ci.code.InstalledCode
      StackMap stack: java.lang.Throwable
         6: astore 2 /* t */
        start local 2 // java.lang.Throwable t
         7: .line 247
            aload 1 /* installedCode */
            invokevirtual jdk.vm.ci.code.InstalledCode.invalidate:()V
         8: .line 248
            aload 2 /* t */
            athrow
        end local 2 // java.lang.Throwable t
         9: .line 250
      StackMap locals:
      StackMap stack:
            return
        end local 1 // jdk.vm.ci.code.InstalledCode installedCode
        end local 0 // org.graalvm.compiler.core.target.Backend$CodeInstallationTask[] tasks
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   10     0          tasks  [Lorg/graalvm/compiler/core/target/Backend$CodeInstallationTask;
            0   10     1  installedCode  Ljdk/vm/ci/code/InstalledCode;
            2    3     2           task  Lorg/graalvm/compiler/core/target/Backend$CodeInstallationTask;
            7    9     2              t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     5       6  Class java.lang.Throwable
    MethodParameters:
               Name  Flags
      tasks          
      installedCode  

  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 263
            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 277
            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 jdk.internal.vm.compiler.collections.EconomicSet<jdk.vm.ci.code.Register> translateToCallerRegisters(jdk.internal.vm.compiler.collections.EconomicSet<jdk.vm.ci.code.Register>);
    descriptor: (Ljdk/internal/vm/compiler/collections/EconomicSet;)Ljdk/internal/vm/compiler/collections/EconomicSet;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljdk/internal/vm/compiler/collections/EconomicSet<Ljdk/vm/ci/code/Register;>;)Ljdk/internal/vm/compiler/collections/EconomicSet<Ljdk/vm/ci/code/Register;>;
    MethodParameters:
                 Name  Flags
      calleeRegisters  

  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 302
            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