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.ForeignCallSignature ARITHMETIC_FREM;
    descriptor: Lorg/graalvm/compiler/core/common/spi/ForeignCallSignature;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.graalvm.compiler.core.common.spi.ForeignCallSignature ARITHMETIC_DREM;
    descriptor: Lorg/graalvm/compiler/core/common/spi/ForeignCallSignature;
    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 61
            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 66
            new org.graalvm.compiler.core.common.spi.ForeignCallSignature
            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.ForeignCallSignature.<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/ForeignCallSignature;
         4: .line 67
            new org.graalvm.compiler.core.common.spi.ForeignCallSignature
            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.ForeignCallSignature.<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/ForeignCallSignature;
            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 69
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 70
            aload 0 /* this */
            aload 1 /* providers */
            putfield org.graalvm.compiler.core.target.Backend.providers:Lorg/graalvm/compiler/phases/util/Providers;
         2: .line 71
            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 72
            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 75
            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 76
            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 79
            aload 0 /* this */
            getfield org.graalvm.compiler.core.target.Backend.providers:Lorg/graalvm/compiler/phases/util/Providers;
            areturn
        end local 0 // org.graalvm.compiler.core.target.Backend this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/core/target/Backend;

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

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

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

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

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

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

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

  public abstract org.graalvm.compiler.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  

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

  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.code.InstalledCode, boolean);
    descriptor: (Lorg/graalvm/compiler/debug/DebugContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/code/CompilationResult;Ljdk/vm/ci/code/InstalledCode;Z)Ljdk/vm/ci/code/InstalledCode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=6, args_size=6
        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.code.InstalledCode predefinedInstalledCode
        start local 5 // boolean isDefault
         0: .line 133
            aload 0 /* this */
            aload 1 /* debug */
            aload 2 /* method */
            aconst_null
            aload 3 /* compilationResult */
            aload 4 /* predefinedInstalledCode */
            iload 5 /* 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/code/InstalledCode;Z[Ljava/lang/Object;)Ljdk/vm/ci/code/InstalledCode;
            areturn
        end local 5 // boolean isDefault
        end local 4 // jdk.vm.ci.code.InstalledCode predefinedInstalledCode
        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  predefinedInstalledCode  Ljdk/vm/ci/code/InstalledCode;
            0    1     5                isDefault  Z
    MethodParameters:
                         Name  Flags
      debug                    
      method                   
      compilationResult        
      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.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/code/InstalledCode;Z)Ljdk/vm/ci/code/InstalledCode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, 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 // jdk.vm.ci.code.CompilationRequest compilationRequest
        start local 4 // org.graalvm.compiler.code.CompilationResult compilationResult
        start local 5 // jdk.vm.ci.code.InstalledCode predefinedInstalledCode
        start local 6 // boolean isDefault
         0: .line 147
            aload 0 /* this */
            aload 1 /* debug */
            aload 2 /* method */
            aload 3 /* compilationRequest */
            aload 4 /* compilationResult */
            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/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 // 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  predefinedInstalledCode  Ljdk/vm/ci/code/InstalledCode;
            0    1     6                isDefault  Z
    MethodParameters:
                         Name  Flags
      debug                    
      method                   
      compilationRequest       
      compilationResult        
      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.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/code/InstalledCode;Z[Ljava/lang/Object;)Ljdk/vm/ci/code/InstalledCode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=16, 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.code.InstalledCode predefinedInstalledCode
        start local 6 // boolean isDefault
        start local 7 // java.lang.Object[] context
         0: .line 179
            aload 7 /* context */
            ifnull 1
            aload 7 /* 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 8 /* debugContext */
        start local 8 // java.lang.Object[] debugContext
         3: .line 181
            aload 0 /* this */
            dup
            astore 10
            monitorenter
         4: .line 182
            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 9 /* tasks */
        start local 9 // org.graalvm.compiler.core.target.Backend$CodeInstallationTask[] tasks
         5: .line 183
            iconst_0
            istore 11 /* i */
        start local 11 // int i
         6: goto 9
         7: .line 184
      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.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 9 /* tasks */
            iload 11 /* i */
            aload 0 /* this */
            getfield org.graalvm.compiler.core.target.Backend.codeInstallationTaskFactories:Ljava/util/ArrayList;
            iload 11 /* 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 183
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 11 /* 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 11 // int i
        10: .line 181
            aload 10
            monitorexit
        11: goto 14
        end local 9 // 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.code.InstalledCode int java.lang.Object[] java.lang.Object[] top org.graalvm.compiler.core.target.Backend
      StackMap stack: java.lang.Throwable
        12: aload 10
            monitorexit
        13: athrow
        start local 9 // org.graalvm.compiler.core.target.Backend$CodeInstallationTask[] tasks
        14: .line 187
      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.code.InstalledCode int java.lang.Object[] java.lang.Object[] org.graalvm.compiler.core.target.Backend$CodeInstallationTask[]
      StackMap stack:
            aconst_null
            astore 10
            aconst_null
            astore 11
        15: aload 1 /* debug */
            ldc "CodeInstall"
            aload 8 /* debugContext */
            invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;[Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
            astore 12 /* s2 */
        start local 12 // org.graalvm.compiler.debug.DebugContext$Scope s2
        16: .line 188
            aload 1 /* debug */
            invokevirtual org.graalvm.compiler.debug.DebugContext.activate:()Lorg/graalvm/compiler/debug/DebugContext$Activation;
            astore 13 /* a */
        start local 13 // org.graalvm.compiler.debug.DebugContext$Activation a
        17: .line 192
            aload 9 /* tasks */
            aload 4 /* compilationResult */
            invokestatic org.graalvm.compiler.core.target.Backend.preCodeInstallationTasks:([Lorg/graalvm/compiler/core/target/Backend$CodeInstallationTask;Lorg/graalvm/compiler/code/CompilationResult;)V
        18: .line 193
            aload 0 /* this */
            aload 2 /* method */
            aload 3 /* compilationRequest */
            aload 4 /* compilationResult */
            iload 6 /* isDefault */
            aload 1 /* debug */
            invokevirtual org.graalvm.compiler.debug.DebugContext.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
            invokevirtual org.graalvm.compiler.core.target.Backend.createCompiledCode:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/code/CompilationRequest;Lorg/graalvm/compiler/code/CompilationResult;ZLorg/graalvm/compiler/options/OptionValues;)Ljdk/vm/ci/code/CompiledCode;
            astore 15 /* compiledCode */
        start local 15 // jdk.vm.ci.code.CompiledCode compiledCode
        19: .line 194
            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 5 /* predefinedInstalledCode */
            aload 4 /* compilationResult */
            invokevirtual org.graalvm.compiler.code.CompilationResult.getSpeculationLog:()Ljdk/vm/ci/meta/SpeculationLog;
            iload 6 /* isDefault */
            invokeinterface jdk.vm.ci.code.CodeCacheProvider.installCode:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/code/CompiledCode;Ljdk/vm/ci/code/InstalledCode;Ljdk/vm/ci/meta/SpeculationLog;Z)Ljdk/vm/ci/code/InstalledCode;
            astore 14 /* installedCode */
        start local 14 // jdk.vm.ci.code.InstalledCode installedCode
        20: .line 195
            getstatic org.graalvm.compiler.core.target.Backend.$assertionsDisabled:Z
            ifne 24
            aload 5 /* predefinedInstalledCode */
            ifnull 24
            aload 14 /* installedCode */
            aload 5 /* predefinedInstalledCode */
            if_acmpeq 24
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 15 // jdk.vm.ci.code.CompiledCode compiledCode
        end local 14 // jdk.vm.ci.code.InstalledCode installedCode
        21: .line 196
      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.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 15 /* t */
        start local 15 // java.lang.Throwable t
        22: .line 197
            aload 9 /* tasks */
            aload 15 /* t */
            invokestatic org.graalvm.compiler.core.target.Backend.failCodeInstallationTasks:([Lorg/graalvm/compiler/core/target/Backend$CodeInstallationTask;Ljava/lang/Throwable;)V
        23: .line 198
            aload 15 /* t */
            athrow
        end local 15 // java.lang.Throwable t
        start local 14 // jdk.vm.ci.code.InstalledCode installedCode
        24: .line 201
      StackMap locals: jdk.vm.ci.code.InstalledCode
      StackMap stack:
            aload 9 /* tasks */
            aload 4 /* compilationResult */
            aload 14 /* installedCode */
            invokestatic org.graalvm.compiler.core.target.Backend.postCodeInstallationTasks:([Lorg/graalvm/compiler/core/target/Backend$CodeInstallationTask;Lorg/graalvm/compiler/code/CompilationResult;Ljdk/vm/ci/code/InstalledCode;)V
        25: .line 203
            aload 14 /* installedCode */
        26: .line 204
            aload 13 /* a */
            ifnull 27
            aload 13 /* a */
            invokevirtual org.graalvm.compiler.debug.DebugContext$Activation.close:()V
      StackMap locals:
      StackMap stack: jdk.vm.ci.code.InstalledCode
        27: aload 12 /* s2 */
            ifnull 28
            aload 12 /* s2 */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
        28: .line 203
      StackMap locals:
      StackMap stack: jdk.vm.ci.code.InstalledCode
            areturn
        end local 14 // 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.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 10
        30: .line 204
            aload 13 /* a */
            ifnull 31
            aload 13 /* a */
            invokevirtual org.graalvm.compiler.debug.DebugContext$Activation.close:()V
        end local 13 // org.graalvm.compiler.debug.DebugContext$Activation a
      StackMap locals:
      StackMap stack:
        31: aload 10
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        32: astore 11
            aload 10
            ifnonnull 33
            aload 11
            astore 10
            goto 34
      StackMap locals:
      StackMap stack:
        33: aload 10
            aload 11
            if_acmpeq 34
            aload 10
            aload 11
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        34: aload 12 /* s2 */
            ifnull 35
            aload 12 /* s2 */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
        end local 12 // org.graalvm.compiler.debug.DebugContext$Scope s2
      StackMap locals:
      StackMap stack:
        35: aload 10
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        36: astore 11
            aload 10
            ifnonnull 37
            aload 11
            astore 10
            goto 38
      StackMap locals:
      StackMap stack:
        37: aload 10
            aload 11
            if_acmpeq 38
            aload 10
            aload 11
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        38: aload 10
            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.code.InstalledCode int java.lang.Object[] java.lang.Object[] org.graalvm.compiler.core.target.Backend$CodeInstallationTask[]
      StackMap stack: java.lang.Throwable
        39: astore 10 /* e */
        start local 10 // java.lang.Throwable e
        40: .line 205
            aload 1 /* debug */
            aload 10 /* e */
            invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 10 // java.lang.Throwable e
        end local 9 // org.graalvm.compiler.core.target.Backend$CodeInstallationTask[] tasks
        end local 8 // java.lang.Object[] debugContext
        end local 7 // java.lang.Object[] context
        end local 6 // boolean isDefault
        end local 5 // jdk.vm.ci.code.InstalledCode predefinedInstalledCode
        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  predefinedInstalledCode  Ljdk/vm/ci/code/InstalledCode;
            0   41     6                isDefault  Z
            0   41     7                  context  [Ljava/lang/Object;
            3   41     8             debugContext  [Ljava/lang/Object;
            5   12     9                    tasks  [Lorg/graalvm/compiler/core/target/Backend$CodeInstallationTask;
           14   41     9                    tasks  [Lorg/graalvm/compiler/core/target/Backend$CodeInstallationTask;
            6   10    11                        i  I
           16   35    12                       s2  Lorg/graalvm/compiler/debug/DebugContext$Scope;
           17   31    13                        a  Lorg/graalvm/compiler/debug/DebugContext$Activation;
           20   21    14            installedCode  Ljdk/vm/ci/code/InstalledCode;
           24   29    14            installedCode  Ljdk/vm/ci/code/InstalledCode;
           19   21    15             compiledCode  Ljdk/vm/ci/code/CompiledCode;
           22   24    15                        t  Ljava/lang/Throwable;
           40   41    10                        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        
      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 210
            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 211
            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 210
            iinc 3 1
      StackMap locals:
      StackMap stack:
         4: iload 3
            iload 4
            if_icmplt 1
         5: .line 213
            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);
    descriptor: ([Lorg/graalvm/compiler/core/target/Backend$CodeInstallationTask;Lorg/graalvm/compiler/code/CompilationResult;)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 // org.graalvm.compiler.code.CompilationResult compilationResult
         0: .line 216
            aload 0 /* tasks */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 4
      StackMap locals: org.graalvm.compiler.core.target.Backend$CodeInstallationTask[] org.graalvm.compiler.code.CompilationResult 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 217
            aload 2 /* task */
            aload 1 /* compilationResult */
            invokevirtual org.graalvm.compiler.core.target.Backend$CodeInstallationTask.preProcess:(Lorg/graalvm/compiler/code/CompilationResult;)V
        end local 2 // org.graalvm.compiler.core.target.Backend$CodeInstallationTask task
         3: .line 216
            iinc 3 1
      StackMap locals:
      StackMap stack:
         4: iload 3
            iload 4
            if_icmplt 1
         5: .line 219
            return
        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;
            2    3     2               task  Lorg/graalvm/compiler/core/target/Backend$CodeInstallationTask;
    MethodParameters:
                   Name  Flags
      tasks              
      compilationResult  

  private static void postCodeInstallationTasks(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 installedCode
         0: .line 223
            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 224
            aload 3 /* task */
            aload 1 /* compilationResult */
            aload 2 /* installedCode */
            invokevirtual org.graalvm.compiler.core.target.Backend$CodeInstallationTask.postProcess:(Lorg/graalvm/compiler/code/CompilationResult;Ljdk/vm/ci/code/InstalledCode;)V
        end local 3 // org.graalvm.compiler.core.target.Backend$CodeInstallationTask task
         3: .line 223
            iinc 4 1
      StackMap locals:
      StackMap stack:
         4: iload 4
            iload 5
            if_icmplt 1
         5: .line 226
            goto 9
      StackMap locals: org.graalvm.compiler.core.target.Backend$CodeInstallationTask[] org.graalvm.compiler.code.CompilationResult jdk.vm.ci.code.InstalledCode
      StackMap stack: java.lang.Throwable
         6: astore 3 /* t */
        start local 3 // java.lang.Throwable t
         7: .line 227
            aload 2 /* installedCode */
            invokevirtual jdk.vm.ci.code.InstalledCode.invalidate:()V
         8: .line 228
            aload 3 /* t */
            athrow
        end local 3 // java.lang.Throwable t
         9: .line 230
      StackMap locals:
      StackMap stack:
            return
        end local 2 // jdk.vm.ci.code.InstalledCode installedCode
        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   10     0              tasks  [Lorg/graalvm/compiler/core/target/Backend$CodeInstallationTask;
            0   10     1  compilationResult  Lorg/graalvm/compiler/code/CompilationResult;
            0   10     2      installedCode  Ljdk/vm/ci/code/InstalledCode;
            2    3     3               task  Lorg/graalvm/compiler/core/target/Backend$CodeInstallationTask;
            7    9     3                  t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     5       6  Class java.lang.Throwable
    MethodParameters:
                   Name  Flags
      tasks              
      compilationResult  
      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=7, 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 246
            aload 0 /* this */
            aload 1 /* debug */
            aload 2 /* method */
            aload 3 /* compilationRequest */
            aload 4 /* compilationResult */
            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/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=6, 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 260
            aload 0 /* this */
            aload 1 /* debug */
            aload 2 /* method */
            aload 3 /* compilationResult */
            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/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 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 270
            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 void emitBackEnd(org.graalvm.compiler.nodes.StructuredGraph, java.lang.Object, jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.code.CompilationResult, org.graalvm.compiler.lir.asm.CompilationResultBuilderFactory, jdk.vm.ci.code.RegisterConfig, org.graalvm.compiler.lir.phases.LIRSuites);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/code/CompilationResult;Lorg/graalvm/compiler/lir/asm/CompilationResultBuilderFactory;Ljdk/vm/ci/code/RegisterConfig;Lorg/graalvm/compiler/lir/phases/LIRSuites;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=8, args_size=8
        start local 0 // org.graalvm.compiler.core.target.Backend this
        start local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        start local 2 // java.lang.Object stub
        start local 3 // jdk.vm.ci.meta.ResolvedJavaMethod installedCodeOwner
        start local 4 // org.graalvm.compiler.code.CompilationResult compilationResult
        start local 5 // org.graalvm.compiler.lir.asm.CompilationResultBuilderFactory factory
        start local 6 // jdk.vm.ci.code.RegisterConfig config
        start local 7 // org.graalvm.compiler.lir.phases.LIRSuites lirSuites
         0: .line 279
            aload 1 /* graph */
            aload 2 /* stub */
            aload 3 /* installedCodeOwner */
            aload 0 /* this */
            aload 4 /* compilationResult */
            aload 5 /* factory */
            aload 6 /* config */
            aload 7 /* lirSuites */
            invokestatic org.graalvm.compiler.core.gen.LIRCompilerBackend.emitBackEnd:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/core/target/Backend;Lorg/graalvm/compiler/code/CompilationResult;Lorg/graalvm/compiler/lir/asm/CompilationResultBuilderFactory;Ljdk/vm/ci/code/RegisterConfig;Lorg/graalvm/compiler/lir/phases/LIRSuites;)V
         1: .line 280
            return
        end local 7 // org.graalvm.compiler.lir.phases.LIRSuites lirSuites
        end local 6 // jdk.vm.ci.code.RegisterConfig config
        end local 5 // org.graalvm.compiler.lir.asm.CompilationResultBuilderFactory factory
        end local 4 // org.graalvm.compiler.code.CompilationResult compilationResult
        end local 3 // jdk.vm.ci.meta.ResolvedJavaMethod installedCodeOwner
        end local 2 // java.lang.Object stub
        end local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        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               graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0    2     2                stub  Ljava/lang/Object;
            0    2     3  installedCodeOwner  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0    2     4   compilationResult  Lorg/graalvm/compiler/code/CompilationResult;
            0    2     5             factory  Lorg/graalvm/compiler/lir/asm/CompilationResultBuilderFactory;
            0    2     6              config  Ljdk/vm/ci/code/RegisterConfig;
            0    2     7           lirSuites  Lorg/graalvm/compiler/lir/phases/LIRSuites;
    MethodParameters:
                    Name  Flags
      graph               
      stub                
      installedCodeOwner  
      compilationResult   
      factory             
      config              
      lirSuites           

  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