public abstract class org.graalvm.compiler.hotspot.HotSpotBackendFactory
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.graalvm.compiler.hotspot.HotSpotBackendFactory
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.HotSpotBackendFactory this
         0: .line 44
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.graalvm.compiler.hotspot.HotSpotBackendFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/HotSpotBackendFactory;

  protected org.graalvm.compiler.hotspot.meta.HotSpotGraalConstantFieldProvider createConstantFieldProvider(org.graalvm.compiler.hotspot.GraalHotSpotVMConfig, jdk.vm.ci.hotspot.HotSpotMetaAccessProvider);
    descriptor: (Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;)Lorg/graalvm/compiler/hotspot/meta/HotSpotGraalConstantFieldProvider;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.hotspot.HotSpotBackendFactory this
        start local 1 // org.graalvm.compiler.hotspot.GraalHotSpotVMConfig config
        start local 2 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider metaAccess
         0: .line 47
            new org.graalvm.compiler.hotspot.meta.HotSpotGraalConstantFieldProvider
            dup
            aload 1 /* config */
            aload 2 /* metaAccess */
            invokespecial org.graalvm.compiler.hotspot.meta.HotSpotGraalConstantFieldProvider.<init>:(Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;Ljdk/vm/ci/meta/MetaAccessProvider;)V
            areturn
        end local 2 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider metaAccess
        end local 1 // org.graalvm.compiler.hotspot.GraalHotSpotVMConfig config
        end local 0 // org.graalvm.compiler.hotspot.HotSpotBackendFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/graalvm/compiler/hotspot/HotSpotBackendFactory;
            0    1     1      config  Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            0    1     2  metaAccess  Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
    MethodParameters:
            Name  Flags
      config      
      metaAccess  

  protected org.graalvm.compiler.hotspot.word.HotSpotWordTypes createWordTypes(jdk.vm.ci.hotspot.HotSpotMetaAccessProvider, jdk.vm.ci.code.TargetDescription);
    descriptor: (Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;Ljdk/vm/ci/code/TargetDescription;)Lorg/graalvm/compiler/hotspot/word/HotSpotWordTypes;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.hotspot.HotSpotBackendFactory this
        start local 1 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider metaAccess
        start local 2 // jdk.vm.ci.code.TargetDescription target
         0: .line 51
            new org.graalvm.compiler.hotspot.word.HotSpotWordTypes
            dup
            aload 1 /* metaAccess */
            aload 2 /* target */
            getfield jdk.vm.ci.code.TargetDescription.wordJavaKind:Ljdk/vm/ci/meta/JavaKind;
            invokespecial org.graalvm.compiler.hotspot.word.HotSpotWordTypes.<init>:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/meta/JavaKind;)V
            areturn
        end local 2 // jdk.vm.ci.code.TargetDescription target
        end local 1 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider metaAccess
        end local 0 // org.graalvm.compiler.hotspot.HotSpotBackendFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/graalvm/compiler/hotspot/HotSpotBackendFactory;
            0    1     1  metaAccess  Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
            0    1     2      target  Ljdk/vm/ci/code/TargetDescription;
    MethodParameters:
            Name  Flags
      metaAccess  
      target      

  protected org.graalvm.compiler.hotspot.meta.HotSpotStampProvider createStampProvider();
    descriptor: ()Lorg/graalvm/compiler/hotspot/meta/HotSpotStampProvider;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.HotSpotBackendFactory this
         0: .line 55
            new org.graalvm.compiler.hotspot.meta.HotSpotStampProvider
            dup
            invokespecial org.graalvm.compiler.hotspot.meta.HotSpotStampProvider.<init>:()V
            areturn
        end local 0 // org.graalvm.compiler.hotspot.HotSpotBackendFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/HotSpotBackendFactory;

  protected org.graalvm.compiler.hotspot.meta.HotSpotGCProvider createGCProvider(org.graalvm.compiler.hotspot.GraalHotSpotVMConfig, jdk.vm.ci.meta.MetaAccessProvider);
    descriptor: (Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;Ljdk/vm/ci/meta/MetaAccessProvider;)Lorg/graalvm/compiler/hotspot/meta/HotSpotGCProvider;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.hotspot.HotSpotBackendFactory this
        start local 1 // org.graalvm.compiler.hotspot.GraalHotSpotVMConfig config
        start local 2 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
         0: .line 59
            new org.graalvm.compiler.hotspot.meta.HotSpotGCProvider
            dup
            aload 1 /* config */
            aload 2 /* metaAccess */
            invokespecial org.graalvm.compiler.hotspot.meta.HotSpotGCProvider.<init>:(Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;Ljdk/vm/ci/meta/MetaAccessProvider;)V
            areturn
        end local 2 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
        end local 1 // org.graalvm.compiler.hotspot.GraalHotSpotVMConfig config
        end local 0 // org.graalvm.compiler.hotspot.HotSpotBackendFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/graalvm/compiler/hotspot/HotSpotBackendFactory;
            0    1     1      config  Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            0    1     2  metaAccess  Ljdk/vm/ci/meta/MetaAccessProvider;
    MethodParameters:
            Name  Flags
      config      
      metaAccess  

  protected org.graalvm.compiler.hotspot.HotSpotReplacementsImpl createReplacements(jdk.vm.ci.code.TargetDescription, org.graalvm.compiler.phases.util.Providers, org.graalvm.compiler.hotspot.meta.HotSpotSnippetReflectionProvider, org.graalvm.compiler.bytecode.BytecodeProvider);
    descriptor: (Ljdk/vm/ci/code/TargetDescription;Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/hotspot/meta/HotSpotSnippetReflectionProvider;Lorg/graalvm/compiler/bytecode/BytecodeProvider;)Lorg/graalvm/compiler/hotspot/HotSpotReplacementsImpl;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.hotspot.HotSpotBackendFactory this
        start local 1 // jdk.vm.ci.code.TargetDescription target
        start local 2 // org.graalvm.compiler.phases.util.Providers p
        start local 3 // org.graalvm.compiler.hotspot.meta.HotSpotSnippetReflectionProvider snippetReflection
        start local 4 // org.graalvm.compiler.bytecode.BytecodeProvider bytecodeProvider
         0: .line 63
            new org.graalvm.compiler.hotspot.HotSpotReplacementsImpl
            dup
            aload 2 /* p */
            aload 3 /* snippetReflection */
            aload 4 /* bytecodeProvider */
            aload 1 /* target */
            invokespecial org.graalvm.compiler.hotspot.HotSpotReplacementsImpl.<init>:(Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Lorg/graalvm/compiler/bytecode/BytecodeProvider;Ljdk/vm/ci/code/TargetDescription;)V
            areturn
        end local 4 // org.graalvm.compiler.bytecode.BytecodeProvider bytecodeProvider
        end local 3 // org.graalvm.compiler.hotspot.meta.HotSpotSnippetReflectionProvider snippetReflection
        end local 2 // org.graalvm.compiler.phases.util.Providers p
        end local 1 // jdk.vm.ci.code.TargetDescription target
        end local 0 // org.graalvm.compiler.hotspot.HotSpotBackendFactory this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    1     0               this  Lorg/graalvm/compiler/hotspot/HotSpotBackendFactory;
            0    1     1             target  Ljdk/vm/ci/code/TargetDescription;
            0    1     2                  p  Lorg/graalvm/compiler/phases/util/Providers;
            0    1     3  snippetReflection  Lorg/graalvm/compiler/hotspot/meta/HotSpotSnippetReflectionProvider;
            0    1     4   bytecodeProvider  Lorg/graalvm/compiler/bytecode/BytecodeProvider;
    MethodParameters:
                   Name  Flags
      target             
      p                  
      snippetReflection  
      bytecodeProvider   

  protected org.graalvm.compiler.replacements.classfile.ClassfileBytecodeProvider createBytecodeProvider(jdk.vm.ci.hotspot.HotSpotMetaAccessProvider, org.graalvm.compiler.hotspot.meta.HotSpotSnippetReflectionProvider);
    descriptor: (Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;Lorg/graalvm/compiler/hotspot/meta/HotSpotSnippetReflectionProvider;)Lorg/graalvm/compiler/replacements/classfile/ClassfileBytecodeProvider;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.hotspot.HotSpotBackendFactory this
        start local 1 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider metaAccess
        start local 2 // org.graalvm.compiler.hotspot.meta.HotSpotSnippetReflectionProvider snippetReflection
         0: .line 67
            new org.graalvm.compiler.replacements.classfile.ClassfileBytecodeProvider
            dup
            aload 1 /* metaAccess */
            aload 2 /* snippetReflection */
            invokespecial org.graalvm.compiler.replacements.classfile.ClassfileBytecodeProvider.<init>:(Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;)V
            areturn
        end local 2 // org.graalvm.compiler.hotspot.meta.HotSpotSnippetReflectionProvider snippetReflection
        end local 1 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider metaAccess
        end local 0 // org.graalvm.compiler.hotspot.HotSpotBackendFactory this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    1     0               this  Lorg/graalvm/compiler/hotspot/HotSpotBackendFactory;
            0    1     1         metaAccess  Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
            0    1     2  snippetReflection  Lorg/graalvm/compiler/hotspot/meta/HotSpotSnippetReflectionProvider;
    MethodParameters:
                   Name  Flags
      metaAccess         
      snippetReflection  

  protected org.graalvm.compiler.hotspot.meta.HotSpotSnippetReflectionProvider createSnippetReflection(org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider, jdk.vm.ci.hotspot.HotSpotConstantReflectionProvider, org.graalvm.compiler.hotspot.word.HotSpotWordTypes);
    descriptor: (Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;Ljdk/vm/ci/hotspot/HotSpotConstantReflectionProvider;Lorg/graalvm/compiler/hotspot/word/HotSpotWordTypes;)Lorg/graalvm/compiler/hotspot/meta/HotSpotSnippetReflectionProvider;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.hotspot.HotSpotBackendFactory this
        start local 1 // org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider runtime
        start local 2 // jdk.vm.ci.hotspot.HotSpotConstantReflectionProvider constantReflection
        start local 3 // org.graalvm.compiler.hotspot.word.HotSpotWordTypes wordTypes
         0: .line 71
            new org.graalvm.compiler.hotspot.meta.HotSpotSnippetReflectionProvider
            dup
            aload 1 /* runtime */
            aload 2 /* constantReflection */
            aload 3 /* wordTypes */
            invokespecial org.graalvm.compiler.hotspot.meta.HotSpotSnippetReflectionProvider.<init>:(Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;Ljdk/vm/ci/hotspot/HotSpotConstantReflectionProvider;Lorg/graalvm/compiler/word/WordTypes;)V
            areturn
        end local 3 // org.graalvm.compiler.hotspot.word.HotSpotWordTypes wordTypes
        end local 2 // jdk.vm.ci.hotspot.HotSpotConstantReflectionProvider constantReflection
        end local 1 // org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider runtime
        end local 0 // org.graalvm.compiler.hotspot.HotSpotBackendFactory this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    1     0                this  Lorg/graalvm/compiler/hotspot/HotSpotBackendFactory;
            0    1     1             runtime  Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
            0    1     2  constantReflection  Ljdk/vm/ci/hotspot/HotSpotConstantReflectionProvider;
            0    1     3           wordTypes  Lorg/graalvm/compiler/hotspot/word/HotSpotWordTypes;
    MethodParameters:
                    Name  Flags
      runtime             
      constantReflection  
      wordTypes           

  public abstract java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.lang.Class<? extends jdk.vm.ci.code.Architecture> getArchitecture();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/lang/Class<+Ljdk/vm/ci/code/Architecture;>;

  public abstract org.graalvm.compiler.hotspot.HotSpotBackend createBackend(org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider, org.graalvm.compiler.phases.tiers.CompilerConfiguration, jdk.vm.ci.hotspot.HotSpotJVMCIRuntime, org.graalvm.compiler.hotspot.HotSpotBackend);
    descriptor: (Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;Lorg/graalvm/compiler/phases/tiers/CompilerConfiguration;Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;Lorg/graalvm/compiler/hotspot/HotSpotBackend;)Lorg/graalvm/compiler/hotspot/HotSpotBackend;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                       Name  Flags
      runtime                
      compilerConfiguration  
      jvmciRuntime           
      host                   
}
SourceFile: "HotSpotBackendFactory.java"