public abstract class org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider extends org.graalvm.compiler.replacements.DefaultJavaLoweringProvider implements org.graalvm.compiler.hotspot.meta.HotSpotLoweringProvider
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider
  super_class: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider
{
  protected final org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider runtime;
    descriptor: Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final org.graalvm.compiler.hotspot.meta.HotSpotRegistersProvider registers;
    descriptor: Lorg/graalvm/compiler/hotspot/meta/HotSpotRegistersProvider;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final jdk.vm.ci.hotspot.HotSpotConstantReflectionProvider constantReflection;
    descriptor: Ljdk/vm/ci/hotspot/HotSpotConstantReflectionProvider;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected org.graalvm.compiler.hotspot.replacements.InstanceOfSnippets$Templates instanceofSnippets;
    descriptor: Lorg/graalvm/compiler/hotspot/replacements/InstanceOfSnippets$Templates;
    flags: (0x0004) ACC_PROTECTED

  protected org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates newObjectSnippets;
    descriptor: Lorg/graalvm/compiler/hotspot/replacements/NewObjectSnippets$Templates;
    flags: (0x0004) ACC_PROTECTED

  protected org.graalvm.compiler.hotspot.replacements.MonitorSnippets$Templates monitorSnippets;
    descriptor: Lorg/graalvm/compiler/hotspot/replacements/MonitorSnippets$Templates;
    flags: (0x0004) ACC_PROTECTED

  protected org.graalvm.compiler.hotspot.replacements.HotSpotSerialWriteBarrierSnippets$Templates serialWriteBarrierSnippets;
    descriptor: Lorg/graalvm/compiler/hotspot/replacements/HotSpotSerialWriteBarrierSnippets$Templates;
    flags: (0x0004) ACC_PROTECTED

  protected org.graalvm.compiler.hotspot.replacements.HotSpotG1WriteBarrierSnippets$Templates g1WriteBarrierSnippets;
    descriptor: Lorg/graalvm/compiler/hotspot/replacements/HotSpotG1WriteBarrierSnippets$Templates;
    flags: (0x0004) ACC_PROTECTED

  protected org.graalvm.compiler.hotspot.replacements.LoadExceptionObjectSnippets$Templates exceptionObjectSnippets;
    descriptor: Lorg/graalvm/compiler/hotspot/replacements/LoadExceptionObjectSnippets$Templates;
    flags: (0x0004) ACC_PROTECTED

  protected org.graalvm.compiler.hotspot.replacements.UnsafeLoadSnippets$Templates unsafeLoadSnippets;
    descriptor: Lorg/graalvm/compiler/hotspot/replacements/UnsafeLoadSnippets$Templates;
    flags: (0x0004) ACC_PROTECTED

  protected org.graalvm.compiler.hotspot.replacements.AssertionSnippets$Templates assertionSnippets;
    descriptor: Lorg/graalvm/compiler/hotspot/replacements/AssertionSnippets$Templates;
    flags: (0x0004) ACC_PROTECTED

  protected org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates arraycopySnippets;
    descriptor: Lorg/graalvm/compiler/replacements/arraycopy/ArrayCopySnippets$Templates;
    flags: (0x0004) ACC_PROTECTED

  protected org.graalvm.compiler.hotspot.replacements.StringToBytesSnippets$Templates stringToBytesSnippets;
    descriptor: Lorg/graalvm/compiler/hotspot/replacements/StringToBytesSnippets$Templates;
    flags: (0x0004) ACC_PROTECTED

  protected org.graalvm.compiler.hotspot.replacements.HashCodeSnippets$Templates hashCodeSnippets;
    descriptor: Lorg/graalvm/compiler/hotspot/replacements/HashCodeSnippets$Templates;
    flags: (0x0004) ACC_PROTECTED

  protected org.graalvm.compiler.hotspot.replacements.aot.ResolveConstantSnippets$Templates resolveConstantSnippets;
    descriptor: Lorg/graalvm/compiler/hotspot/replacements/aot/ResolveConstantSnippets$Templates;
    flags: (0x0004) ACC_PROTECTED

  protected org.graalvm.compiler.hotspot.replacements.profiling.ProfileSnippets$Templates profileSnippets;
    descriptor: Lorg/graalvm/compiler/hotspot/replacements/profiling/ProfileSnippets$Templates;
    flags: (0x0004) ACC_PROTECTED

  protected org.graalvm.compiler.hotspot.replacements.ObjectSnippets$Templates objectSnippets;
    descriptor: Lorg/graalvm/compiler/hotspot/replacements/ObjectSnippets$Templates;
    flags: (0x0004) ACC_PROTECTED

  protected org.graalvm.compiler.hotspot.replacements.UnsafeSnippets$Templates unsafeSnippets;
    descriptor: Lorg/graalvm/compiler/hotspot/replacements/UnsafeSnippets$Templates;
    flags: (0x0004) ACC_PROTECTED

  protected org.graalvm.compiler.hotspot.replacements.ObjectCloneSnippets$Templates objectCloneSnippets;
    descriptor: Lorg/graalvm/compiler/hotspot/replacements/ObjectCloneSnippets$Templates;
    flags: (0x0004) ACC_PROTECTED

  protected org.graalvm.compiler.hotspot.stubs.ForeignCallSnippets$Templates foreignCallSnippets;
    descriptor: Lorg/graalvm/compiler/hotspot/stubs/ForeignCallSnippets$Templates;
    flags: (0x0004) ACC_PROTECTED

  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=1, locals=0, args_size=0
         0: .line 189
            ldc Lorg/graalvm/compiler/hotspot/meta/DefaultHotSpotLoweringProvider;
            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.hotspot.meta.DefaultHotSpotLoweringProvider.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider, jdk.vm.ci.meta.MetaAccessProvider, org.graalvm.compiler.core.common.spi.ForeignCallsProvider, org.graalvm.compiler.hotspot.meta.HotSpotRegistersProvider, jdk.vm.ci.hotspot.HotSpotConstantReflectionProvider, jdk.vm.ci.code.TargetDescription);
    descriptor: (Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;Lorg/graalvm/compiler/hotspot/meta/HotSpotRegistersProvider;Ljdk/vm/ci/hotspot/HotSpotConstantReflectionProvider;Ljdk/vm/ci/code/TargetDescription;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=7
        start local 0 // org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider this
        start local 1 // org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider runtime
        start local 2 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
        start local 3 // org.graalvm.compiler.core.common.spi.ForeignCallsProvider foreignCalls
        start local 4 // org.graalvm.compiler.hotspot.meta.HotSpotRegistersProvider registers
        start local 5 // jdk.vm.ci.hotspot.HotSpotConstantReflectionProvider constantReflection
        start local 6 // jdk.vm.ci.code.TargetDescription target
         0: .line 215
            aload 0 /* this */
            aload 2 /* metaAccess */
            aload 3 /* foreignCalls */
            aload 6 /* target */
            aload 1 /* runtime */
            invokeinterface org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider.getVMConfig:()Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.useCompressedOops:Z
            invokespecial org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.<init>:(Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;Ljdk/vm/ci/code/TargetDescription;Z)V
         1: .line 216
            aload 0 /* this */
            aload 1 /* runtime */
            putfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.runtime:Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
         2: .line 217
            aload 0 /* this */
            aload 4 /* registers */
            putfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.registers:Lorg/graalvm/compiler/hotspot/meta/HotSpotRegistersProvider;
         3: .line 218
            aload 0 /* this */
            aload 5 /* constantReflection */
            putfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.constantReflection:Ljdk/vm/ci/hotspot/HotSpotConstantReflectionProvider;
         4: .line 220
            return
        end local 6 // jdk.vm.ci.code.TargetDescription target
        end local 5 // jdk.vm.ci.hotspot.HotSpotConstantReflectionProvider constantReflection
        end local 4 // org.graalvm.compiler.hotspot.meta.HotSpotRegistersProvider registers
        end local 3 // org.graalvm.compiler.core.common.spi.ForeignCallsProvider foreignCalls
        end local 2 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
        end local 1 // org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider runtime
        end local 0 // org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    5     0                this  Lorg/graalvm/compiler/hotspot/meta/DefaultHotSpotLoweringProvider;
            0    5     1             runtime  Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
            0    5     2          metaAccess  Ljdk/vm/ci/meta/MetaAccessProvider;
            0    5     3        foreignCalls  Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;
            0    5     4           registers  Lorg/graalvm/compiler/hotspot/meta/HotSpotRegistersProvider;
            0    5     5  constantReflection  Ljdk/vm/ci/hotspot/HotSpotConstantReflectionProvider;
            0    5     6              target  Ljdk/vm/ci/code/TargetDescription;
    MethodParameters:
                    Name  Flags
      runtime             
      metaAccess          
      foreignCalls        
      registers           
      constantReflection  
      target              

  public void initialize(org.graalvm.compiler.options.OptionValues, java.lang.Iterable<org.graalvm.compiler.debug.DebugHandlersFactory>, org.graalvm.compiler.hotspot.meta.HotSpotProviders, org.graalvm.compiler.hotspot.GraalHotSpotVMConfig);
    descriptor: (Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/Iterable;Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider this
        start local 1 // org.graalvm.compiler.options.OptionValues options
        start local 2 // java.lang.Iterable factories
        start local 3 // org.graalvm.compiler.hotspot.meta.HotSpotProviders providers
        start local 4 // org.graalvm.compiler.hotspot.GraalHotSpotVMConfig config
         0: .line 224
            aload 0 /* this */
            aload 1 /* options */
            aload 2 /* factories */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.runtime:Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
            aload 3 /* providers */
            aload 3 /* providers */
            invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.getSnippetReflection:()Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
            invokespecial org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.initialize:(Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/Iterable;Lorg/graalvm/compiler/replacements/SnippetCounter$Group$Factory;Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;)V
         1: .line 226
            getstatic org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.target:Ljdk/vm/ci/code/TargetDescription;
            aload 3 /* providers */
            invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.getCodeCache:()Ljdk/vm/ci/hotspot/HotSpotCodeCacheProvider;
            invokevirtual jdk.vm.ci.hotspot.HotSpotCodeCacheProvider.getTarget:()Ljdk/vm/ci/code/TargetDescription;
            if_acmpeq 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 227
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new org.graalvm.compiler.hotspot.replacements.InstanceOfSnippets$Templates
            dup
            aload 1 /* options */
            aload 2 /* factories */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.runtime:Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
            aload 3 /* providers */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.target:Ljdk/vm/ci/code/TargetDescription;
            invokespecial org.graalvm.compiler.hotspot.replacements.InstanceOfSnippets$Templates.<init>:(Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/Iterable;Lorg/graalvm/compiler/replacements/SnippetCounter$Group$Factory;Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;Ljdk/vm/ci/code/TargetDescription;)V
            putfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.instanceofSnippets:Lorg/graalvm/compiler/hotspot/replacements/InstanceOfSnippets$Templates;
         3: .line 228
            aload 0 /* this */
            new org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates
            dup
            aload 1 /* options */
            aload 2 /* factories */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.runtime:Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
            aload 3 /* providers */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.target:Ljdk/vm/ci/code/TargetDescription;
            aload 4 /* config */
            invokespecial org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates.<init>:(Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/Iterable;Lorg/graalvm/compiler/replacements/SnippetCounter$Group$Factory;Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;Ljdk/vm/ci/code/TargetDescription;Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)V
            putfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.newObjectSnippets:Lorg/graalvm/compiler/hotspot/replacements/NewObjectSnippets$Templates;
         4: .line 229
            aload 0 /* this */
            new org.graalvm.compiler.hotspot.replacements.MonitorSnippets$Templates
            dup
            aload 1 /* options */
            aload 2 /* factories */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.runtime:Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
            aload 3 /* providers */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.target:Ljdk/vm/ci/code/TargetDescription;
            aload 4 /* config */
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.useFastLocking:Z
            invokespecial org.graalvm.compiler.hotspot.replacements.MonitorSnippets$Templates.<init>:(Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/Iterable;Lorg/graalvm/compiler/replacements/SnippetCounter$Group$Factory;Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;Ljdk/vm/ci/code/TargetDescription;Z)V
            putfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.monitorSnippets:Lorg/graalvm/compiler/hotspot/replacements/MonitorSnippets$Templates;
         5: .line 230
            aload 0 /* this */
            new org.graalvm.compiler.hotspot.replacements.HotSpotG1WriteBarrierSnippets$Templates
            dup
            aload 1 /* options */
            aload 2 /* factories */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.runtime:Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
            aload 3 /* providers */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.target:Ljdk/vm/ci/code/TargetDescription;
            aload 4 /* config */
            invokespecial org.graalvm.compiler.hotspot.replacements.HotSpotG1WriteBarrierSnippets$Templates.<init>:(Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/Iterable;Lorg/graalvm/compiler/replacements/SnippetCounter$Group$Factory;Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;Ljdk/vm/ci/code/TargetDescription;Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)V
            putfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.g1WriteBarrierSnippets:Lorg/graalvm/compiler/hotspot/replacements/HotSpotG1WriteBarrierSnippets$Templates;
         6: .line 231
            aload 0 /* this */
            new org.graalvm.compiler.hotspot.replacements.HotSpotSerialWriteBarrierSnippets$Templates
            dup
            aload 1 /* options */
            aload 2 /* factories */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.runtime:Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
            aload 3 /* providers */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.target:Ljdk/vm/ci/code/TargetDescription;
            aload 4 /* config */
            invokespecial org.graalvm.compiler.hotspot.replacements.HotSpotSerialWriteBarrierSnippets$Templates.<init>:(Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/Iterable;Lorg/graalvm/compiler/replacements/SnippetCounter$Group$Factory;Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;Ljdk/vm/ci/code/TargetDescription;Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)V
            putfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.serialWriteBarrierSnippets:Lorg/graalvm/compiler/hotspot/replacements/HotSpotSerialWriteBarrierSnippets$Templates;
         7: .line 232
            aload 0 /* this */
            new org.graalvm.compiler.hotspot.replacements.LoadExceptionObjectSnippets$Templates
            dup
            aload 1 /* options */
            aload 2 /* factories */
            aload 3 /* providers */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.target:Ljdk/vm/ci/code/TargetDescription;
            invokespecial org.graalvm.compiler.hotspot.replacements.LoadExceptionObjectSnippets$Templates.<init>:(Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/Iterable;Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;Ljdk/vm/ci/code/TargetDescription;)V
            putfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.exceptionObjectSnippets:Lorg/graalvm/compiler/hotspot/replacements/LoadExceptionObjectSnippets$Templates;
         8: .line 233
            aload 0 /* this */
            new org.graalvm.compiler.hotspot.replacements.UnsafeLoadSnippets$Templates
            dup
            aload 1 /* options */
            aload 2 /* factories */
            aload 3 /* providers */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.target:Ljdk/vm/ci/code/TargetDescription;
            invokespecial org.graalvm.compiler.hotspot.replacements.UnsafeLoadSnippets$Templates.<init>:(Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/Iterable;Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;Ljdk/vm/ci/code/TargetDescription;)V
            putfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.unsafeLoadSnippets:Lorg/graalvm/compiler/hotspot/replacements/UnsafeLoadSnippets$Templates;
         9: .line 234
            aload 0 /* this */
            new org.graalvm.compiler.hotspot.replacements.AssertionSnippets$Templates
            dup
            aload 1 /* options */
            aload 2 /* factories */
            aload 3 /* providers */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.target:Ljdk/vm/ci/code/TargetDescription;
            invokespecial org.graalvm.compiler.hotspot.replacements.AssertionSnippets$Templates.<init>:(Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/Iterable;Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;Ljdk/vm/ci/code/TargetDescription;)V
            putfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.assertionSnippets:Lorg/graalvm/compiler/hotspot/replacements/AssertionSnippets$Templates;
        10: .line 235
            aload 0 /* this */
            new org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates
            dup
            new org.graalvm.compiler.hotspot.replacements.arraycopy.HotSpotArraycopySnippets
            dup
            invokespecial org.graalvm.compiler.hotspot.replacements.arraycopy.HotSpotArraycopySnippets.<init>:()V
            aload 1 /* options */
            aload 2 /* factories */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.runtime:Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
            aload 3 /* providers */
            aload 3 /* providers */
            invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.getSnippetReflection:()Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.target:Ljdk/vm/ci/code/TargetDescription;
            invokespecial org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates.<init>:(Lorg/graalvm/compiler/replacements/arraycopy/ArrayCopySnippets;Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/Iterable;Lorg/graalvm/compiler/replacements/SnippetCounter$Group$Factory;Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Ljdk/vm/ci/code/TargetDescription;)V
            putfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.arraycopySnippets:Lorg/graalvm/compiler/replacements/arraycopy/ArrayCopySnippets$Templates;
        11: .line 236
            aload 0 /* this */
            new org.graalvm.compiler.hotspot.replacements.StringToBytesSnippets$Templates
            dup
            aload 1 /* options */
            aload 2 /* factories */
            aload 3 /* providers */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.target:Ljdk/vm/ci/code/TargetDescription;
            invokespecial org.graalvm.compiler.hotspot.replacements.StringToBytesSnippets$Templates.<init>:(Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/Iterable;Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;Ljdk/vm/ci/code/TargetDescription;)V
            putfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.stringToBytesSnippets:Lorg/graalvm/compiler/hotspot/replacements/StringToBytesSnippets$Templates;
        12: .line 237
            aload 0 /* this */
            new org.graalvm.compiler.hotspot.replacements.HashCodeSnippets$Templates
            dup
            aload 1 /* options */
            aload 2 /* factories */
            aload 3 /* providers */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.target:Ljdk/vm/ci/code/TargetDescription;
            invokespecial org.graalvm.compiler.hotspot.replacements.HashCodeSnippets$Templates.<init>:(Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/Iterable;Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;Ljdk/vm/ci/code/TargetDescription;)V
            putfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.hashCodeSnippets:Lorg/graalvm/compiler/hotspot/replacements/HashCodeSnippets$Templates;
        13: .line 238
            aload 0 /* this */
            new org.graalvm.compiler.hotspot.replacements.aot.ResolveConstantSnippets$Templates
            dup
            aload 1 /* options */
            aload 2 /* factories */
            aload 3 /* providers */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.target:Ljdk/vm/ci/code/TargetDescription;
            invokespecial org.graalvm.compiler.hotspot.replacements.aot.ResolveConstantSnippets$Templates.<init>:(Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/Iterable;Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;Ljdk/vm/ci/code/TargetDescription;)V
            putfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.resolveConstantSnippets:Lorg/graalvm/compiler/hotspot/replacements/aot/ResolveConstantSnippets$Templates;
        14: .line 239
            aload 0 /* this */
            new org.graalvm.compiler.hotspot.replacements.ObjectCloneSnippets$Templates
            dup
            aload 1 /* options */
            aload 2 /* factories */
            aload 3 /* providers */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.target:Ljdk/vm/ci/code/TargetDescription;
            invokespecial org.graalvm.compiler.hotspot.replacements.ObjectCloneSnippets$Templates.<init>:(Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/Iterable;Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;Ljdk/vm/ci/code/TargetDescription;)V
            putfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.objectCloneSnippets:Lorg/graalvm/compiler/hotspot/replacements/ObjectCloneSnippets$Templates;
        15: .line 240
            aload 0 /* this */
            new org.graalvm.compiler.hotspot.stubs.ForeignCallSnippets$Templates
            dup
            aload 1 /* options */
            aload 2 /* factories */
            aload 3 /* providers */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.target:Ljdk/vm/ci/code/TargetDescription;
            invokespecial org.graalvm.compiler.hotspot.stubs.ForeignCallSnippets$Templates.<init>:(Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/Iterable;Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;Ljdk/vm/ci/code/TargetDescription;)V
            putfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.foreignCallSnippets:Lorg/graalvm/compiler/hotspot/stubs/ForeignCallSnippets$Templates;
        16: .line 241
            aload 0 /* this */
            new org.graalvm.compiler.hotspot.replacements.ObjectSnippets$Templates
            dup
            aload 1 /* options */
            aload 2 /* factories */
            aload 3 /* providers */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.target:Ljdk/vm/ci/code/TargetDescription;
            invokespecial org.graalvm.compiler.hotspot.replacements.ObjectSnippets$Templates.<init>:(Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/Iterable;Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;Ljdk/vm/ci/code/TargetDescription;)V
            putfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.objectSnippets:Lorg/graalvm/compiler/hotspot/replacements/ObjectSnippets$Templates;
        17: .line 242
            aload 0 /* this */
            new org.graalvm.compiler.hotspot.replacements.UnsafeSnippets$Templates
            dup
            aload 1 /* options */
            aload 2 /* factories */
            aload 3 /* providers */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.target:Ljdk/vm/ci/code/TargetDescription;
            invokespecial org.graalvm.compiler.hotspot.replacements.UnsafeSnippets$Templates.<init>:(Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/Iterable;Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;Ljdk/vm/ci/code/TargetDescription;)V
            putfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.unsafeSnippets:Lorg/graalvm/compiler/hotspot/replacements/UnsafeSnippets$Templates;
        18: .line 243
            getstatic org.graalvm.compiler.serviceprovider.JavaVersionUtil.JAVA_SPEC:I
            bipush 8
            if_icmpgt 21
        19: .line 245
            aload 0 /* this */
            aconst_null
            putfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.profileSnippets:Lorg/graalvm/compiler/hotspot/replacements/profiling/ProfileSnippets$Templates;
        20: .line 246
            goto 22
        21: .line 247
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new org.graalvm.compiler.hotspot.replacements.profiling.ProfileSnippets$Templates
            dup
            aload 1 /* options */
            aload 2 /* factories */
            aload 3 /* providers */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.target:Ljdk/vm/ci/code/TargetDescription;
            invokespecial org.graalvm.compiler.hotspot.replacements.profiling.ProfileSnippets$Templates.<init>:(Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/Iterable;Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;Ljdk/vm/ci/code/TargetDescription;)V
            putfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.profileSnippets:Lorg/graalvm/compiler/hotspot/replacements/profiling/ProfileSnippets$Templates;
        22: .line 249
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.graalvm.compiler.hotspot.GraalHotSpotVMConfig config
        end local 3 // org.graalvm.compiler.hotspot.meta.HotSpotProviders providers
        end local 2 // java.lang.Iterable factories
        end local 1 // org.graalvm.compiler.options.OptionValues options
        end local 0 // org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   23     0       this  Lorg/graalvm/compiler/hotspot/meta/DefaultHotSpotLoweringProvider;
            0   23     1    options  Lorg/graalvm/compiler/options/OptionValues;
            0   23     2  factories  Ljava/lang/Iterable<Lorg/graalvm/compiler/debug/DebugHandlersFactory;>;
            0   23     3  providers  Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
            0   23     4     config  Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
    Signature: (Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/Iterable<Lorg/graalvm/compiler/debug/DebugHandlersFactory;>;Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)V
    MethodParameters:
           Name  Flags
      options    
      factories  
      providers  
      config     

  public org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates getArraycopySnippets();
    descriptor: ()Lorg/graalvm/compiler/replacements/arraycopy/ArrayCopySnippets$Templates;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider this
         0: .line 252
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.arraycopySnippets:Lorg/graalvm/compiler/replacements/arraycopy/ArrayCopySnippets$Templates;
            areturn
        end local 0 // org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/meta/DefaultHotSpotLoweringProvider;

  public org.graalvm.compiler.hotspot.replacements.MonitorSnippets$Templates getMonitorSnippets();
    descriptor: ()Lorg/graalvm/compiler/hotspot/replacements/MonitorSnippets$Templates;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider this
         0: .line 256
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.monitorSnippets:Lorg/graalvm/compiler/hotspot/replacements/MonitorSnippets$Templates;
            areturn
        end local 0 // org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/meta/DefaultHotSpotLoweringProvider;

  public void lower(org.graalvm.compiler.graph.Node, org.graalvm.compiler.nodes.spi.LoweringTool);
    descriptor: (Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=12, args_size=3
        start local 0 // org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider this
        start local 1 // org.graalvm.compiler.graph.Node n
        start local 2 // org.graalvm.compiler.nodes.spi.LoweringTool tool
         0: .line 262
            aload 1 /* n */
            invokevirtual org.graalvm.compiler.graph.Node.graph:()Lorg/graalvm/compiler/graph/Graph;
            checkcast org.graalvm.compiler.nodes.StructuredGraph
            astore 3 /* graph */
        start local 3 // org.graalvm.compiler.nodes.StructuredGraph graph
         1: .line 263
            aconst_null
            astore 4
            aconst_null
            astore 5
         2: aload 1 /* n */
            invokevirtual org.graalvm.compiler.graph.Node.withNodeSourcePosition:()Lorg/graalvm/compiler/debug/DebugCloseable;
            astore 6 /* context */
        start local 6 // org.graalvm.compiler.debug.DebugCloseable context
         3: .line 264
            aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.Invoke
            ifeq 6
         4: .line 265
            aload 0 /* this */
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.Invoke
            aload 2 /* tool */
            aload 3 /* graph */
            invokevirtual org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.lowerInvoke:(Lorg/graalvm/compiler/nodes/Invoke;Lorg/graalvm/compiler/nodes/spi/LoweringTool;Lorg/graalvm/compiler/nodes/StructuredGraph;)V
         5: .line 266
            goto 181
      StackMap locals: org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider org.graalvm.compiler.graph.Node org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable
      StackMap stack:
         6: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.extended.LoadMethodNode
            ifeq 9
         7: .line 267
            aload 0 /* this */
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.extended.LoadMethodNode
            invokevirtual org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.lowerLoadMethodNode:(Lorg/graalvm/compiler/nodes/extended/LoadMethodNode;)V
         8: .line 268
            goto 181
      StackMap locals:
      StackMap stack:
         9: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.extended.GetClassNode
            ifeq 12
        10: .line 269
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.extended.GetClassNode
            aload 2 /* tool */
            aload 3 /* graph */
            invokestatic org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.lowerGetClassNode:(Lorg/graalvm/compiler/nodes/extended/GetClassNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;Lorg/graalvm/compiler/nodes/StructuredGraph;)V
        11: .line 270
            goto 181
      StackMap locals:
      StackMap stack:
        12: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.extended.StoreHubNode
            ifeq 15
        13: .line 271
            aload 0 /* this */
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.extended.StoreHubNode
            aload 3 /* graph */
            invokevirtual org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.lowerStoreHubNode:(Lorg/graalvm/compiler/nodes/extended/StoreHubNode;Lorg/graalvm/compiler/nodes/StructuredGraph;)V
        14: .line 272
            goto 181
      StackMap locals:
      StackMap stack:
        15: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.extended.OSRStartNode
            ifeq 18
        16: .line 273
            aload 0 /* this */
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.extended.OSRStartNode
            invokevirtual org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.lowerOSRStartNode:(Lorg/graalvm/compiler/nodes/extended/OSRStartNode;)V
        17: .line 274
            goto 181
      StackMap locals:
      StackMap stack:
        18: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.extended.BytecodeExceptionNode
            ifeq 21
        19: .line 275
            aload 0 /* this */
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.extended.BytecodeExceptionNode
            invokevirtual org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.lowerBytecodeExceptionNode:(Lorg/graalvm/compiler/nodes/extended/BytecodeExceptionNode;)V
        20: .line 276
            goto 181
      StackMap locals:
      StackMap stack:
        21: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.java.InstanceOfNode
            ifeq 32
        22: .line 277
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.java.InstanceOfNode
            astore 7 /* instanceOfNode */
        start local 7 // org.graalvm.compiler.nodes.java.InstanceOfNode instanceOfNode
        23: .line 278
            aload 3 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getGuardsStage:()Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph$GuardsStage.areDeoptsFixed:()Z
            ifeq 26
        24: .line 279
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.instanceofSnippets:Lorg/graalvm/compiler/hotspot/replacements/InstanceOfSnippets$Templates;
            aload 7 /* instanceOfNode */
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.hotspot.replacements.InstanceOfSnippets$Templates.lower:(Lorg/graalvm/compiler/nodes/calc/FloatingNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
        25: .line 280
            goto 181
        26: .line 281
      StackMap locals: org.graalvm.compiler.nodes.java.InstanceOfNode
      StackMap stack:
            aload 7 /* instanceOfNode */
            invokevirtual org.graalvm.compiler.nodes.java.InstanceOfNode.allowsNull:()Z
            ifeq 181
        27: .line 282
            aload 7 /* instanceOfNode */
            invokevirtual org.graalvm.compiler.nodes.java.InstanceOfNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 8 /* object */
        start local 8 // org.graalvm.compiler.nodes.ValueNode object
        28: .line 283
            aload 3 /* graph */
            aload 7 /* instanceOfNode */
            invokevirtual org.graalvm.compiler.nodes.java.InstanceOfNode.type:()Lorg/graalvm/compiler/core/common/type/TypeReference;
            aload 8 /* object */
            aload 7 /* instanceOfNode */
            invokevirtual org.graalvm.compiler.nodes.java.InstanceOfNode.profile:()Ljdk/vm/ci/meta/JavaTypeProfile;
            aload 7 /* instanceOfNode */
            invokevirtual org.graalvm.compiler.nodes.java.InstanceOfNode.getAnchor:()Lorg/graalvm/compiler/nodes/extended/AnchoringNode;
            invokestatic org.graalvm.compiler.nodes.java.InstanceOfNode.create:(Lorg/graalvm/compiler/core/common/type/TypeReference;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaTypeProfile;Lorg/graalvm/compiler/nodes/extended/AnchoringNode;)Lorg/graalvm/compiler/nodes/LogicNode;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addOrUniqueWithInputs:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.LogicNode
            astore 9 /* newTypeCheck */
        start local 9 // org.graalvm.compiler.nodes.LogicNode newTypeCheck
        29: .line 284
            aload 3 /* graph */
            aload 8 /* object */
            invokestatic org.graalvm.compiler.nodes.calc.IsNullNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/LogicNode;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.LogicNode
            aload 9 /* newTypeCheck */
            ldc 0.25
            invokestatic org.graalvm.compiler.nodes.LogicNode.or:(Lorg/graalvm/compiler/nodes/LogicNode;Lorg/graalvm/compiler/nodes/LogicNode;D)Lorg/graalvm/compiler/nodes/LogicNode;
            astore 10 /* newNode */
        start local 10 // org.graalvm.compiler.nodes.LogicNode newNode
        30: .line 285
            aload 7 /* instanceOfNode */
            aload 10 /* newNode */
            invokevirtual org.graalvm.compiler.nodes.java.InstanceOfNode.replaceAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
        end local 10 // org.graalvm.compiler.nodes.LogicNode newNode
        end local 9 // org.graalvm.compiler.nodes.LogicNode newTypeCheck
        end local 8 // org.graalvm.compiler.nodes.ValueNode object
        end local 7 // org.graalvm.compiler.nodes.java.InstanceOfNode instanceOfNode
        31: .line 288
            goto 181
      StackMap locals:
      StackMap stack:
        32: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.java.InstanceOfDynamicNode
            ifeq 49
        33: .line 289
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.java.InstanceOfDynamicNode
            astore 7 /* instanceOfDynamicNode */
        start local 7 // org.graalvm.compiler.nodes.java.InstanceOfDynamicNode instanceOfDynamicNode
        34: .line 290
            aload 3 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getGuardsStage:()Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph$GuardsStage.areDeoptsFixed:()Z
            ifeq 37
        35: .line 291
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.instanceofSnippets:Lorg/graalvm/compiler/hotspot/replacements/InstanceOfSnippets$Templates;
            aload 7 /* instanceOfDynamicNode */
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.hotspot.replacements.InstanceOfSnippets$Templates.lower:(Lorg/graalvm/compiler/nodes/calc/FloatingNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
        36: .line 292
            goto 181
        37: .line 293
      StackMap locals: org.graalvm.compiler.nodes.java.InstanceOfDynamicNode
      StackMap stack:
            aload 7 /* instanceOfDynamicNode */
            invokevirtual org.graalvm.compiler.nodes.java.InstanceOfDynamicNode.getMirrorOrHub:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 8 /* mirror */
        start local 8 // org.graalvm.compiler.nodes.ValueNode mirror
        38: .line 294
            aload 8 /* mirror */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            invokevirtual org.graalvm.compiler.core.common.type.Stamp.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 41
        39: .line 295
            aload 3 /* graph */
            new org.graalvm.compiler.hotspot.replacements.ClassGetHubNode
            dup
            aload 8 /* mirror */
            invokespecial org.graalvm.compiler.hotspot.replacements.ClassGetHubNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.hotspot.replacements.ClassGetHubNode
            astore 9 /* classGetHub */
        start local 9 // org.graalvm.compiler.hotspot.replacements.ClassGetHubNode classGetHub
        40: .line 296
            aload 7 /* instanceOfDynamicNode */
            aload 9 /* classGetHub */
            invokevirtual org.graalvm.compiler.nodes.java.InstanceOfDynamicNode.setMirror:(Lorg/graalvm/compiler/nodes/ValueNode;)V
        end local 9 // org.graalvm.compiler.hotspot.replacements.ClassGetHubNode classGetHub
        41: .line 299
      StackMap locals: org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 7 /* instanceOfDynamicNode */
            invokevirtual org.graalvm.compiler.nodes.java.InstanceOfDynamicNode.allowsNull:()Z
            ifeq 181
        42: .line 300
            aload 7 /* instanceOfDynamicNode */
            invokevirtual org.graalvm.compiler.nodes.java.InstanceOfDynamicNode.getObject:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 9 /* object */
        start local 9 // org.graalvm.compiler.nodes.ValueNode object
        43: .line 301
            aload 3 /* graph */
        44: .line 302
            aload 3 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getAssumptions:()Ljdk/vm/ci/meta/Assumptions;
            aload 2 /* tool */
            invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.getConstantReflection:()Ljdk/vm/ci/meta/ConstantReflectionProvider;
            aload 7 /* instanceOfDynamicNode */
            invokevirtual org.graalvm.compiler.nodes.java.InstanceOfDynamicNode.getMirrorOrHub:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 9 /* object */
            iconst_0
            invokestatic org.graalvm.compiler.nodes.java.InstanceOfDynamicNode.create:(Ljdk/vm/ci/meta/Assumptions;Ljdk/vm/ci/meta/ConstantReflectionProvider;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Z)Lorg/graalvm/compiler/nodes/LogicNode;
        45: .line 301
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addOrUniqueWithInputs:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.LogicNode
            astore 10 /* newTypeCheck */
        start local 10 // org.graalvm.compiler.nodes.LogicNode newTypeCheck
        46: .line 303
            aload 3 /* graph */
            aload 9 /* object */
            invokestatic org.graalvm.compiler.nodes.calc.IsNullNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/LogicNode;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.LogicNode
            aload 10 /* newTypeCheck */
            ldc 0.25
            invokestatic org.graalvm.compiler.nodes.LogicNode.or:(Lorg/graalvm/compiler/nodes/LogicNode;Lorg/graalvm/compiler/nodes/LogicNode;D)Lorg/graalvm/compiler/nodes/LogicNode;
            astore 11 /* newNode */
        start local 11 // org.graalvm.compiler.nodes.LogicNode newNode
        47: .line 304
            aload 7 /* instanceOfDynamicNode */
            aload 11 /* newNode */
            invokevirtual org.graalvm.compiler.nodes.java.InstanceOfDynamicNode.replaceAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
        end local 11 // org.graalvm.compiler.nodes.LogicNode newNode
        end local 10 // org.graalvm.compiler.nodes.LogicNode newTypeCheck
        end local 9 // org.graalvm.compiler.nodes.ValueNode object
        end local 8 // org.graalvm.compiler.nodes.ValueNode mirror
        end local 7 // org.graalvm.compiler.nodes.java.InstanceOfDynamicNode instanceOfDynamicNode
        48: .line 307
            goto 181
      StackMap locals:
      StackMap stack:
        49: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.java.ClassIsAssignableFromNode
            ifeq 53
        50: .line 308
            aload 3 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getGuardsStage:()Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph$GuardsStage.areDeoptsFixed:()Z
            ifeq 181
        51: .line 309
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.instanceofSnippets:Lorg/graalvm/compiler/hotspot/replacements/InstanceOfSnippets$Templates;
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.java.ClassIsAssignableFromNode
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.hotspot.replacements.InstanceOfSnippets$Templates.lower:(Lorg/graalvm/compiler/nodes/calc/FloatingNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
        52: .line 311
            goto 181
      StackMap locals:
      StackMap stack:
        53: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.java.NewInstanceNode
            ifeq 57
        54: .line 312
            aload 3 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getGuardsStage:()Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph$GuardsStage.areFrameStatesAtDeopts:()Z
            ifeq 181
        55: .line 313
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.newObjectSnippets:Lorg/graalvm/compiler/hotspot/replacements/NewObjectSnippets$Templates;
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.java.NewInstanceNode
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.registers:Lorg/graalvm/compiler/hotspot/meta/HotSpotRegistersProvider;
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates.lower:(Lorg/graalvm/compiler/nodes/java/NewInstanceNode;Lorg/graalvm/compiler/hotspot/meta/HotSpotRegistersProvider;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
        56: .line 315
            goto 181
      StackMap locals:
      StackMap stack:
        57: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.java.DynamicNewInstanceNode
            ifeq 66
        58: .line 316
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.java.DynamicNewInstanceNode
            astore 7 /* newInstanceNode */
        start local 7 // org.graalvm.compiler.nodes.java.DynamicNewInstanceNode newInstanceNode
        59: .line 317
            aload 7 /* newInstanceNode */
            invokevirtual org.graalvm.compiler.nodes.java.DynamicNewInstanceNode.getClassClass:()Lorg/graalvm/compiler/nodes/ValueNode;
            ifnonnull 63
        60: .line 318
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.constantReflection:Ljdk/vm/ci/hotspot/HotSpotConstantReflectionProvider;
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.metaAccess:Ljdk/vm/ci/meta/MetaAccessProvider;
            ldc Ljava/lang/Class;
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantReflectionProvider.asJavaClass:(Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/JavaConstant;
            astore 8 /* classClassMirror */
        start local 8 // jdk.vm.ci.meta.JavaConstant classClassMirror
        61: .line 319
            aload 8 /* classClassMirror */
            aload 2 /* tool */
            invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            aload 3 /* graph */
            invokestatic org.graalvm.compiler.nodes.ConstantNode.forConstant:(Ljdk/vm/ci/meta/JavaConstant;Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
            astore 9 /* classClass */
        start local 9 // org.graalvm.compiler.nodes.ConstantNode classClass
        62: .line 320
            aload 7 /* newInstanceNode */
            aload 9 /* classClass */
            invokevirtual org.graalvm.compiler.nodes.java.DynamicNewInstanceNode.setClassClass:(Lorg/graalvm/compiler/nodes/ValueNode;)V
        end local 9 // org.graalvm.compiler.nodes.ConstantNode classClass
        end local 8 // jdk.vm.ci.meta.JavaConstant classClassMirror
        63: .line 322
      StackMap locals: org.graalvm.compiler.nodes.java.DynamicNewInstanceNode
      StackMap stack:
            aload 3 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getGuardsStage:()Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph$GuardsStage.areFrameStatesAtDeopts:()Z
            ifeq 181
        64: .line 323
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.newObjectSnippets:Lorg/graalvm/compiler/hotspot/replacements/NewObjectSnippets$Templates;
            aload 7 /* newInstanceNode */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.registers:Lorg/graalvm/compiler/hotspot/meta/HotSpotRegistersProvider;
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates.lower:(Lorg/graalvm/compiler/nodes/java/DynamicNewInstanceNode;Lorg/graalvm/compiler/hotspot/meta/HotSpotRegistersProvider;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
        end local 7 // org.graalvm.compiler.nodes.java.DynamicNewInstanceNode newInstanceNode
        65: .line 325
            goto 181
      StackMap locals:
      StackMap stack:
        66: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.java.NewArrayNode
            ifeq 70
        67: .line 326
            aload 3 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getGuardsStage:()Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph$GuardsStage.areFrameStatesAtDeopts:()Z
            ifeq 181
        68: .line 327
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.newObjectSnippets:Lorg/graalvm/compiler/hotspot/replacements/NewObjectSnippets$Templates;
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.java.NewArrayNode
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.registers:Lorg/graalvm/compiler/hotspot/meta/HotSpotRegistersProvider;
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates.lower:(Lorg/graalvm/compiler/nodes/java/NewArrayNode;Lorg/graalvm/compiler/hotspot/meta/HotSpotRegistersProvider;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
        69: .line 329
            goto 181
      StackMap locals:
      StackMap stack:
        70: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.java.DynamicNewArrayNode
            ifeq 79
        71: .line 330
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.java.DynamicNewArrayNode
            astore 7 /* dynamicNewArrayNode */
        start local 7 // org.graalvm.compiler.nodes.java.DynamicNewArrayNode dynamicNewArrayNode
        72: .line 331
            aload 7 /* dynamicNewArrayNode */
            invokevirtual org.graalvm.compiler.nodes.java.DynamicNewArrayNode.getVoidClass:()Lorg/graalvm/compiler/nodes/ValueNode;
            ifnonnull 76
        73: .line 332
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.constantReflection:Ljdk/vm/ci/hotspot/HotSpotConstantReflectionProvider;
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.metaAccess:Ljdk/vm/ci/meta/MetaAccessProvider;
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantReflectionProvider.asJavaClass:(Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/JavaConstant;
            astore 8 /* voidClassMirror */
        start local 8 // jdk.vm.ci.meta.JavaConstant voidClassMirror
        74: .line 333
            aload 8 /* voidClassMirror */
            aload 2 /* tool */
            invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            aload 3 /* graph */
            invokestatic org.graalvm.compiler.nodes.ConstantNode.forConstant:(Ljdk/vm/ci/meta/JavaConstant;Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
            astore 9 /* voidClass */
        start local 9 // org.graalvm.compiler.nodes.ConstantNode voidClass
        75: .line 334
            aload 7 /* dynamicNewArrayNode */
            aload 9 /* voidClass */
            invokevirtual org.graalvm.compiler.nodes.java.DynamicNewArrayNode.setVoidClass:(Lorg/graalvm/compiler/nodes/ValueNode;)V
        end local 9 // org.graalvm.compiler.nodes.ConstantNode voidClass
        end local 8 // jdk.vm.ci.meta.JavaConstant voidClassMirror
        76: .line 336
      StackMap locals: org.graalvm.compiler.nodes.java.DynamicNewArrayNode
      StackMap stack:
            aload 3 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getGuardsStage:()Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph$GuardsStage.areFrameStatesAtDeopts:()Z
            ifeq 181
        77: .line 337
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.newObjectSnippets:Lorg/graalvm/compiler/hotspot/replacements/NewObjectSnippets$Templates;
            aload 7 /* dynamicNewArrayNode */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.registers:Lorg/graalvm/compiler/hotspot/meta/HotSpotRegistersProvider;
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates.lower:(Lorg/graalvm/compiler/nodes/java/DynamicNewArrayNode;Lorg/graalvm/compiler/hotspot/meta/HotSpotRegistersProvider;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
        end local 7 // org.graalvm.compiler.nodes.java.DynamicNewArrayNode dynamicNewArrayNode
        78: .line 339
            goto 181
      StackMap locals:
      StackMap stack:
        79: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.debug.VerifyHeapNode
            ifeq 83
        80: .line 340
            aload 3 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getGuardsStage:()Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph$GuardsStage.areFrameStatesAtDeopts:()Z
            ifeq 181
        81: .line 341
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.newObjectSnippets:Lorg/graalvm/compiler/hotspot/replacements/NewObjectSnippets$Templates;
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.debug.VerifyHeapNode
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.registers:Lorg/graalvm/compiler/hotspot/meta/HotSpotRegistersProvider;
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates.lower:(Lorg/graalvm/compiler/nodes/debug/VerifyHeapNode;Lorg/graalvm/compiler/hotspot/meta/HotSpotRegistersProvider;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
        82: .line 343
            goto 181
      StackMap locals:
      StackMap stack:
        83: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.java.RawMonitorEnterNode
            ifeq 87
        84: .line 344
            aload 3 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getGuardsStage:()Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph$GuardsStage.areFrameStatesAtDeopts:()Z
            ifeq 181
        85: .line 345
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.monitorSnippets:Lorg/graalvm/compiler/hotspot/replacements/MonitorSnippets$Templates;
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.java.RawMonitorEnterNode
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.registers:Lorg/graalvm/compiler/hotspot/meta/HotSpotRegistersProvider;
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.hotspot.replacements.MonitorSnippets$Templates.lower:(Lorg/graalvm/compiler/nodes/java/RawMonitorEnterNode;Lorg/graalvm/compiler/hotspot/meta/HotSpotRegistersProvider;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
        86: .line 347
            goto 181
      StackMap locals:
      StackMap stack:
        87: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.java.MonitorExitNode
            ifeq 91
        88: .line 348
            aload 3 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getGuardsStage:()Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph$GuardsStage.areFrameStatesAtDeopts:()Z
            ifeq 181
        89: .line 349
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.monitorSnippets:Lorg/graalvm/compiler/hotspot/replacements/MonitorSnippets$Templates;
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.java.MonitorExitNode
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.registers:Lorg/graalvm/compiler/hotspot/meta/HotSpotRegistersProvider;
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.hotspot.replacements.MonitorSnippets$Templates.lower:(Lorg/graalvm/compiler/nodes/java/MonitorExitNode;Lorg/graalvm/compiler/hotspot/meta/HotSpotRegistersProvider;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
        90: .line 351
            goto 181
      StackMap locals:
      StackMap stack:
        91: aload 1 /* n */
            instanceof org.graalvm.compiler.replacements.arraycopy.ArrayCopyNode
            ifeq 94
        92: .line 352
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.arraycopySnippets:Lorg/graalvm/compiler/replacements/arraycopy/ArrayCopySnippets$Templates;
            aload 1 /* n */
            checkcast org.graalvm.compiler.replacements.arraycopy.ArrayCopyNode
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates.lower:(Lorg/graalvm/compiler/replacements/arraycopy/ArrayCopyNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
        93: .line 353
            goto 181
      StackMap locals:
      StackMap stack:
        94: aload 1 /* n */
            instanceof org.graalvm.compiler.replacements.arraycopy.ArrayCopyWithDelayedLoweringNode
            ifeq 97
        95: .line 354
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.arraycopySnippets:Lorg/graalvm/compiler/replacements/arraycopy/ArrayCopySnippets$Templates;
            aload 1 /* n */
            checkcast org.graalvm.compiler.replacements.arraycopy.ArrayCopyWithDelayedLoweringNode
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates.lower:(Lorg/graalvm/compiler/replacements/arraycopy/ArrayCopyWithDelayedLoweringNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
        96: .line 355
            goto 181
      StackMap locals:
      StackMap stack:
        97: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.gc.G1PreWriteBarrier
            ifeq 100
        98: .line 356
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.g1WriteBarrierSnippets:Lorg/graalvm/compiler/hotspot/replacements/HotSpotG1WriteBarrierSnippets$Templates;
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.gc.G1PreWriteBarrier
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.hotspot.replacements.HotSpotG1WriteBarrierSnippets$Templates.lower:(Lorg/graalvm/compiler/nodes/gc/G1PreWriteBarrier;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
        99: .line 357
            goto 181
      StackMap locals:
      StackMap stack:
       100: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.gc.G1PostWriteBarrier
            ifeq 103
       101: .line 358
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.g1WriteBarrierSnippets:Lorg/graalvm/compiler/hotspot/replacements/HotSpotG1WriteBarrierSnippets$Templates;
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.gc.G1PostWriteBarrier
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.hotspot.replacements.HotSpotG1WriteBarrierSnippets$Templates.lower:(Lorg/graalvm/compiler/nodes/gc/G1PostWriteBarrier;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
       102: .line 359
            goto 181
      StackMap locals:
      StackMap stack:
       103: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.gc.G1ReferentFieldReadBarrier
            ifeq 106
       104: .line 360
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.g1WriteBarrierSnippets:Lorg/graalvm/compiler/hotspot/replacements/HotSpotG1WriteBarrierSnippets$Templates;
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.gc.G1ReferentFieldReadBarrier
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.hotspot.replacements.HotSpotG1WriteBarrierSnippets$Templates.lower:(Lorg/graalvm/compiler/nodes/gc/G1ReferentFieldReadBarrier;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
       105: .line 361
            goto 181
      StackMap locals:
      StackMap stack:
       106: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.gc.SerialWriteBarrier
            ifeq 109
       107: .line 362
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.serialWriteBarrierSnippets:Lorg/graalvm/compiler/hotspot/replacements/HotSpotSerialWriteBarrierSnippets$Templates;
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.gc.SerialWriteBarrier
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.hotspot.replacements.HotSpotSerialWriteBarrierSnippets$Templates.lower:(Lorg/graalvm/compiler/nodes/gc/SerialWriteBarrier;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
       108: .line 363
            goto 181
      StackMap locals:
      StackMap stack:
       109: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.gc.SerialArrayRangeWriteBarrier
            ifeq 112
       110: .line 364
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.serialWriteBarrierSnippets:Lorg/graalvm/compiler/hotspot/replacements/HotSpotSerialWriteBarrierSnippets$Templates;
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.gc.SerialArrayRangeWriteBarrier
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.hotspot.replacements.HotSpotSerialWriteBarrierSnippets$Templates.lower:(Lorg/graalvm/compiler/nodes/gc/SerialArrayRangeWriteBarrier;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
       111: .line 365
            goto 181
      StackMap locals:
      StackMap stack:
       112: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.gc.G1ArrayRangePreWriteBarrier
            ifeq 115
       113: .line 366
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.g1WriteBarrierSnippets:Lorg/graalvm/compiler/hotspot/replacements/HotSpotG1WriteBarrierSnippets$Templates;
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.gc.G1ArrayRangePreWriteBarrier
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.hotspot.replacements.HotSpotG1WriteBarrierSnippets$Templates.lower:(Lorg/graalvm/compiler/nodes/gc/G1ArrayRangePreWriteBarrier;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
       114: .line 367
            goto 181
      StackMap locals:
      StackMap stack:
       115: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.gc.G1ArrayRangePostWriteBarrier
            ifeq 118
       116: .line 368
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.g1WriteBarrierSnippets:Lorg/graalvm/compiler/hotspot/replacements/HotSpotG1WriteBarrierSnippets$Templates;
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.gc.G1ArrayRangePostWriteBarrier
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.hotspot.replacements.HotSpotG1WriteBarrierSnippets$Templates.lower:(Lorg/graalvm/compiler/nodes/gc/G1ArrayRangePostWriteBarrier;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
       117: .line 369
            goto 181
      StackMap locals:
      StackMap stack:
       118: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.java.NewMultiArrayNode
            ifeq 122
       119: .line 370
            aload 3 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getGuardsStage:()Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph$GuardsStage.areFrameStatesAtDeopts:()Z
            ifeq 181
       120: .line 371
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.newObjectSnippets:Lorg/graalvm/compiler/hotspot/replacements/NewObjectSnippets$Templates;
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.java.NewMultiArrayNode
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates.lower:(Lorg/graalvm/compiler/nodes/java/NewMultiArrayNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
       121: .line 373
            goto 181
      StackMap locals:
      StackMap stack:
       122: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.java.LoadExceptionObjectNode
            ifeq 125
       123: .line 374
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.exceptionObjectSnippets:Lorg/graalvm/compiler/hotspot/replacements/LoadExceptionObjectSnippets$Templates;
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.java.LoadExceptionObjectNode
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.registers:Lorg/graalvm/compiler/hotspot/meta/HotSpotRegistersProvider;
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.hotspot.replacements.LoadExceptionObjectSnippets$Templates.lower:(Lorg/graalvm/compiler/nodes/java/LoadExceptionObjectNode;Lorg/graalvm/compiler/hotspot/meta/HotSpotRegistersProvider;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
       124: .line 375
            goto 181
      StackMap locals:
      StackMap stack:
       125: aload 1 /* n */
            instanceof org.graalvm.compiler.replacements.nodes.AssertionNode
            ifeq 128
       126: .line 376
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.assertionSnippets:Lorg/graalvm/compiler/hotspot/replacements/AssertionSnippets$Templates;
            aload 1 /* n */
            checkcast org.graalvm.compiler.replacements.nodes.AssertionNode
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.hotspot.replacements.AssertionSnippets$Templates.lower:(Lorg/graalvm/compiler/replacements/nodes/AssertionNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
       127: .line 377
            goto 181
      StackMap locals:
      StackMap stack:
       128: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.debug.StringToBytesNode
            ifeq 132
       129: .line 378
            aload 3 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getGuardsStage:()Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph$GuardsStage.areDeoptsFixed:()Z
            ifeq 181
       130: .line 379
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.stringToBytesSnippets:Lorg/graalvm/compiler/hotspot/replacements/StringToBytesSnippets$Templates;
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.debug.StringToBytesNode
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.hotspot.replacements.StringToBytesSnippets$Templates.lower:(Lorg/graalvm/compiler/nodes/debug/StringToBytesNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
       131: .line 381
            goto 181
      StackMap locals:
      StackMap stack:
       132: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.calc.IntegerDivRemNode
            ifne 181
       133: .line 384
            aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.AbstractDeoptimizeNode
            ifne 181
            aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.UnwindNode
            ifne 181
            aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.calc.RemNode
            ifne 181
            aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.SafepointNode
            ifne 181
       134: .line 386
            aload 1 /* n */
            instanceof org.graalvm.compiler.hotspot.replacements.ClassGetHubNode
            ifeq 137
       135: .line 387
            aload 0 /* this */
            aload 1 /* n */
            checkcast org.graalvm.compiler.hotspot.replacements.ClassGetHubNode
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.lowerClassGetHubNode:(Lorg/graalvm/compiler/hotspot/replacements/ClassGetHubNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
       136: .line 388
            goto 181
      StackMap locals:
      StackMap stack:
       137: aload 1 /* n */
            instanceof org.graalvm.compiler.hotspot.replacements.HubGetClassNode
            ifeq 140
       138: .line 389
            aload 0 /* this */
            aload 1 /* n */
            checkcast org.graalvm.compiler.hotspot.replacements.HubGetClassNode
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.lowerHubGetClassNode:(Lorg/graalvm/compiler/hotspot/replacements/HubGetClassNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
       139: .line 390
            goto 181
      StackMap locals:
      StackMap stack:
       140: aload 1 /* n */
            instanceof org.graalvm.compiler.hotspot.replacements.KlassLayoutHelperNode
            ifeq 143
       141: .line 391
            aload 0 /* this */
            aload 1 /* n */
            checkcast org.graalvm.compiler.hotspot.replacements.KlassLayoutHelperNode
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.lowerKlassLayoutHelperNode:(Lorg/graalvm/compiler/hotspot/replacements/KlassLayoutHelperNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
       142: .line 392
            goto 181
      StackMap locals:
      StackMap stack:
       143: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.ComputeObjectAddressNode
            ifeq 147
       144: .line 393
            aload 3 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getGuardsStage:()Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph$GuardsStage.areFrameStatesAtDeopts:()Z
            ifeq 181
       145: .line 394
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.ComputeObjectAddressNode
            invokestatic org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.lowerComputeObjectAddressNode:(Lorg/graalvm/compiler/nodes/ComputeObjectAddressNode;)V
       146: .line 396
            goto 181
      StackMap locals:
      StackMap stack:
       147: aload 1 /* n */
            instanceof org.graalvm.compiler.hotspot.replacements.IdentityHashCodeNode
            ifeq 150
       148: .line 397
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.hashCodeSnippets:Lorg/graalvm/compiler/hotspot/replacements/HashCodeSnippets$Templates;
            aload 1 /* n */
            checkcast org.graalvm.compiler.hotspot.replacements.IdentityHashCodeNode
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.hotspot.replacements.HashCodeSnippets$Templates.lower:(Lorg/graalvm/compiler/hotspot/replacements/IdentityHashCodeNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
       149: .line 398
            goto 181
      StackMap locals:
      StackMap stack:
       150: aload 1 /* n */
            instanceof org.graalvm.compiler.hotspot.nodes.aot.ResolveDynamicConstantNode
            ifeq 154
       151: .line 399
            aload 3 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getGuardsStage:()Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph$GuardsStage.areFrameStatesAtDeopts:()Z
            ifeq 181
       152: .line 400
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.resolveConstantSnippets:Lorg/graalvm/compiler/hotspot/replacements/aot/ResolveConstantSnippets$Templates;
            aload 1 /* n */
            checkcast org.graalvm.compiler.hotspot.nodes.aot.ResolveDynamicConstantNode
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.hotspot.replacements.aot.ResolveConstantSnippets$Templates.lower:(Lorg/graalvm/compiler/hotspot/nodes/aot/ResolveDynamicConstantNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
       153: .line 402
            goto 181
      StackMap locals:
      StackMap stack:
       154: aload 1 /* n */
            instanceof org.graalvm.compiler.hotspot.nodes.aot.ResolveConstantNode
            ifeq 158
       155: .line 403
            aload 3 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getGuardsStage:()Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph$GuardsStage.areFrameStatesAtDeopts:()Z
            ifeq 181
       156: .line 404
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.resolveConstantSnippets:Lorg/graalvm/compiler/hotspot/replacements/aot/ResolveConstantSnippets$Templates;
            aload 1 /* n */
            checkcast org.graalvm.compiler.hotspot.nodes.aot.ResolveConstantNode
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.hotspot.replacements.aot.ResolveConstantSnippets$Templates.lower:(Lorg/graalvm/compiler/hotspot/nodes/aot/ResolveConstantNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
       157: .line 406
            goto 181
      StackMap locals:
      StackMap stack:
       158: aload 1 /* n */
            instanceof org.graalvm.compiler.hotspot.nodes.aot.ResolveMethodAndLoadCountersNode
            ifeq 162
       159: .line 407
            aload 3 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getGuardsStage:()Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph$GuardsStage.areFrameStatesAtDeopts:()Z
            ifeq 181
       160: .line 408
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.resolveConstantSnippets:Lorg/graalvm/compiler/hotspot/replacements/aot/ResolveConstantSnippets$Templates;
            aload 1 /* n */
            checkcast org.graalvm.compiler.hotspot.nodes.aot.ResolveMethodAndLoadCountersNode
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.hotspot.replacements.aot.ResolveConstantSnippets$Templates.lower:(Lorg/graalvm/compiler/hotspot/nodes/aot/ResolveMethodAndLoadCountersNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
       161: .line 410
            goto 181
      StackMap locals:
      StackMap stack:
       162: aload 1 /* n */
            instanceof org.graalvm.compiler.hotspot.nodes.aot.InitializeKlassNode
            ifeq 166
       163: .line 411
            aload 3 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getGuardsStage:()Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph$GuardsStage.areFrameStatesAtDeopts:()Z
            ifeq 181
       164: .line 412
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.resolveConstantSnippets:Lorg/graalvm/compiler/hotspot/replacements/aot/ResolveConstantSnippets$Templates;
            aload 1 /* n */
            checkcast org.graalvm.compiler.hotspot.nodes.aot.InitializeKlassNode
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.hotspot.replacements.aot.ResolveConstantSnippets$Templates.lower:(Lorg/graalvm/compiler/hotspot/nodes/aot/InitializeKlassNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
       165: .line 414
            goto 181
      StackMap locals:
      StackMap stack:
       166: aload 1 /* n */
            instanceof org.graalvm.compiler.hotspot.nodes.profiling.ProfileNode
            ifeq 169
       167: .line 415
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.profileSnippets:Lorg/graalvm/compiler/hotspot/replacements/profiling/ProfileSnippets$Templates;
            aload 1 /* n */
            checkcast org.graalvm.compiler.hotspot.nodes.profiling.ProfileNode
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.hotspot.replacements.profiling.ProfileSnippets$Templates.lower:(Lorg/graalvm/compiler/hotspot/nodes/profiling/ProfileNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
       168: .line 416
            goto 181
      StackMap locals:
      StackMap stack:
       169: aload 1 /* n */
            instanceof org.graalvm.compiler.hotspot.nodes.KlassBeingInitializedCheckNode
            ifeq 172
       170: .line 417
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.newObjectSnippets:Lorg/graalvm/compiler/hotspot/replacements/NewObjectSnippets$Templates;
            aload 1 /* n */
            checkcast org.graalvm.compiler.hotspot.nodes.KlassBeingInitializedCheckNode
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.registers:Lorg/graalvm/compiler/hotspot/meta/HotSpotRegistersProvider;
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates.lower:(Lorg/graalvm/compiler/hotspot/nodes/KlassBeingInitializedCheckNode;Lorg/graalvm/compiler/hotspot/meta/HotSpotRegistersProvider;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
       171: .line 418
            goto 181
      StackMap locals:
      StackMap stack:
       172: aload 1 /* n */
            instanceof org.graalvm.compiler.hotspot.replacements.FastNotifyNode
            ifeq 176
       173: .line 419
            aload 3 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getGuardsStage:()Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
            getstatic org.graalvm.compiler.nodes.StructuredGraph$GuardsStage.AFTER_FSA:Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
            if_acmpne 181
       174: .line 420
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.objectSnippets:Lorg/graalvm/compiler/hotspot/replacements/ObjectSnippets$Templates;
            aload 1 /* n */
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.hotspot.replacements.ObjectSnippets$Templates.lower:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
       175: .line 422
            goto 181
      StackMap locals:
      StackMap stack:
       176: aload 1 /* n */
            instanceof org.graalvm.compiler.hotspot.replacements.UnsafeCopyMemoryNode
            ifeq 180
       177: .line 423
            aload 3 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getGuardsStage:()Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
            getstatic org.graalvm.compiler.nodes.StructuredGraph$GuardsStage.AFTER_FSA:Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
            if_acmpne 181
       178: .line 424
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.unsafeSnippets:Lorg/graalvm/compiler/hotspot/replacements/UnsafeSnippets$Templates;
            aload 1 /* n */
            checkcast org.graalvm.compiler.hotspot.replacements.UnsafeCopyMemoryNode
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.hotspot.replacements.UnsafeSnippets$Templates.lower:(Lorg/graalvm/compiler/hotspot/replacements/UnsafeCopyMemoryNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
       179: .line 426
            goto 181
       180: .line 427
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* n */
            aload 2 /* tool */
            invokespecial org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.lower:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
       181: .line 429
      StackMap locals:
      StackMap stack:
            aload 6 /* context */
            ifnull 187
            aload 6 /* context */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
            goto 187
      StackMap locals:
      StackMap stack: java.lang.Throwable
       182: astore 4
            aload 6 /* context */
            ifnull 183
            aload 6 /* context */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
        end local 6 // org.graalvm.compiler.debug.DebugCloseable context
      StackMap locals:
      StackMap stack:
       183: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
       184: astore 5
            aload 4
            ifnonnull 185
            aload 5
            astore 4
            goto 186
      StackMap locals:
      StackMap stack:
       185: aload 4
            aload 5
            if_acmpeq 186
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
       186: aload 4
            athrow
       187: .line 431
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 2 // org.graalvm.compiler.nodes.spi.LoweringTool tool
        end local 1 // org.graalvm.compiler.graph.Node n
        end local 0 // org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0  188     0                   this  Lorg/graalvm/compiler/hotspot/meta/DefaultHotSpotLoweringProvider;
            0  188     1                      n  Lorg/graalvm/compiler/graph/Node;
            0  188     2                   tool  Lorg/graalvm/compiler/nodes/spi/LoweringTool;
            1  188     3                  graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            3  183     6                context  Lorg/graalvm/compiler/debug/DebugCloseable;
           23   31     7         instanceOfNode  Lorg/graalvm/compiler/nodes/java/InstanceOfNode;
           28   31     8                 object  Lorg/graalvm/compiler/nodes/ValueNode;
           29   31     9           newTypeCheck  Lorg/graalvm/compiler/nodes/LogicNode;
           30   31    10                newNode  Lorg/graalvm/compiler/nodes/LogicNode;
           34   48     7  instanceOfDynamicNode  Lorg/graalvm/compiler/nodes/java/InstanceOfDynamicNode;
           38   48     8                 mirror  Lorg/graalvm/compiler/nodes/ValueNode;
           40   41     9            classGetHub  Lorg/graalvm/compiler/hotspot/replacements/ClassGetHubNode;
           43   48     9                 object  Lorg/graalvm/compiler/nodes/ValueNode;
           46   48    10           newTypeCheck  Lorg/graalvm/compiler/nodes/LogicNode;
           47   48    11                newNode  Lorg/graalvm/compiler/nodes/LogicNode;
           59   65     7        newInstanceNode  Lorg/graalvm/compiler/nodes/java/DynamicNewInstanceNode;
           61   63     8       classClassMirror  Ljdk/vm/ci/meta/JavaConstant;
           62   63     9             classClass  Lorg/graalvm/compiler/nodes/ConstantNode;
           72   78     7    dynamicNewArrayNode  Lorg/graalvm/compiler/nodes/java/DynamicNewArrayNode;
           74   76     8        voidClassMirror  Ljdk/vm/ci/meta/JavaConstant;
           75   76     9              voidClass  Lorg/graalvm/compiler/nodes/ConstantNode;
      Exception table:
        from    to  target  type
           3   181     182  any
           2   184     184  any
    MethodParameters:
      Name  Flags
      n     
      tool  

  private static void lowerComputeObjectAddressNode(org.graalvm.compiler.nodes.ComputeObjectAddressNode);
    descriptor: (Lorg/graalvm/compiler/nodes/ComputeObjectAddressNode;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=1
        start local 0 // org.graalvm.compiler.nodes.ComputeObjectAddressNode n
         0: .line 438
            aload 0 /* n */
            invokevirtual org.graalvm.compiler.nodes.ComputeObjectAddressNode.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.snapshot:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 2
            goto 11
      StackMap locals: org.graalvm.compiler.nodes.ComputeObjectAddressNode top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.Node
            astore 1 /* use */
        start local 1 // org.graalvm.compiler.graph.Node use
         2: .line 439
            aload 1 /* use */
            instanceof org.graalvm.compiler.nodes.FixedNode
            ifeq 10
         3: .line 440
            aload 1 /* use */
            checkcast org.graalvm.compiler.nodes.FixedNode
            astore 3 /* fixed */
        start local 3 // org.graalvm.compiler.nodes.FixedNode fixed
         4: .line 441
            aload 0 /* n */
            invokevirtual org.graalvm.compiler.nodes.ComputeObjectAddressNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 4 /* graph */
        start local 4 // org.graalvm.compiler.nodes.StructuredGraph graph
         5: .line 442
            aload 4 /* graph */
            new org.graalvm.compiler.nodes.GetObjectAddressNode
            dup
            aload 0 /* n */
            invokevirtual org.graalvm.compiler.nodes.ComputeObjectAddressNode.getObject:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokespecial org.graalvm.compiler.nodes.GetObjectAddressNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.GetObjectAddressNode
            astore 5 /* address */
        start local 5 // org.graalvm.compiler.nodes.GetObjectAddressNode address
         6: .line 443
            aload 4 /* graph */
            aload 3 /* fixed */
            aload 5 /* address */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addBeforeFixed:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
         7: .line 444
            aload 4 /* graph */
            new org.graalvm.compiler.nodes.calc.AddNode
            dup
            aload 5 /* address */
            aload 0 /* n */
            invokevirtual org.graalvm.compiler.nodes.ComputeObjectAddressNode.getOffset:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokespecial org.graalvm.compiler.nodes.calc.AddNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addOrUnique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.calc.AddNode
            astore 6 /* add */
        start local 6 // org.graalvm.compiler.nodes.calc.AddNode add
         8: .line 445
            aload 1 /* use */
            aload 0 /* n */
            aload 6 /* add */
            invokevirtual org.graalvm.compiler.graph.Node.replaceFirstInput:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)V
        end local 6 // org.graalvm.compiler.nodes.calc.AddNode add
        end local 5 // org.graalvm.compiler.nodes.GetObjectAddressNode address
        end local 4 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 3 // org.graalvm.compiler.nodes.FixedNode fixed
         9: .line 446
            goto 11
        10: .line 447
      StackMap locals: org.graalvm.compiler.nodes.ComputeObjectAddressNode org.graalvm.compiler.graph.Node java.util.Iterator
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "Unexpected floating use of ComputeObjectAddressNode "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* n */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        end local 1 // org.graalvm.compiler.graph.Node use
        11: .line 438
      StackMap locals: org.graalvm.compiler.nodes.ComputeObjectAddressNode top java.util.Iterator
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
        12: .line 450
            aload 0 /* n */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.unlinkFixedNode:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
        13: .line 451
            aload 0 /* n */
            invokevirtual org.graalvm.compiler.nodes.ComputeObjectAddressNode.safeDelete:()V
        14: .line 452
            return
        end local 0 // org.graalvm.compiler.nodes.ComputeObjectAddressNode n
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   15     0        n  Lorg/graalvm/compiler/nodes/ComputeObjectAddressNode;
            2   11     1      use  Lorg/graalvm/compiler/graph/Node;
            4    9     3    fixed  Lorg/graalvm/compiler/nodes/FixedNode;
            5    9     4    graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            6    9     5  address  Lorg/graalvm/compiler/nodes/GetObjectAddressNode;
            8    9     6      add  Lorg/graalvm/compiler/nodes/calc/AddNode;
    MethodParameters:
      Name  Flags
      n     

  private void lowerKlassLayoutHelperNode(org.graalvm.compiler.hotspot.replacements.KlassLayoutHelperNode, org.graalvm.compiler.nodes.spi.LoweringTool);
    descriptor: (Lorg/graalvm/compiler/hotspot/replacements/KlassLayoutHelperNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=10, locals=5, args_size=3
        start local 0 // org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider this
        start local 1 // org.graalvm.compiler.hotspot.replacements.KlassLayoutHelperNode n
        start local 2 // org.graalvm.compiler.nodes.spi.LoweringTool tool
         0: .line 455
            aload 2 /* tool */
            invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.getLoweringStage:()Lorg/graalvm/compiler/nodes/spi/LoweringTool$LoweringStage;
            getstatic org.graalvm.compiler.nodes.spi.LoweringTool$StandardLoweringStage.HIGH_TIER:Lorg/graalvm/compiler/nodes/spi/LoweringTool$StandardLoweringStage;
            if_acmpne 2
         1: .line 456
            return
         2: .line 458
      StackMap locals:
      StackMap stack:
            aload 1 /* n */
            invokevirtual org.graalvm.compiler.hotspot.replacements.KlassLayoutHelperNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 3 /* graph */
        start local 3 // org.graalvm.compiler.nodes.StructuredGraph graph
         3: .line 459
            getstatic org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.$assertionsDisabled:Z
            ifne 4
            aload 1 /* n */
            invokevirtual org.graalvm.compiler.hotspot.replacements.KlassLayoutHelperNode.getHub:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifeq 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 460
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph
      StackMap stack:
            aload 0 /* this */
            aload 3 /* graph */
            aload 1 /* n */
            invokevirtual org.graalvm.compiler.hotspot.replacements.KlassLayoutHelperNode.getHub:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.runtime:Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
            invokeinterface org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider.getVMConfig:()Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.klassLayoutHelperOffset:I
            i2l
            invokevirtual org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.createOffsetAddress:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;J)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            astore 4 /* address */
        start local 4 // org.graalvm.compiler.nodes.memory.address.AddressNode address
         5: .line 461
            aload 1 /* n */
            aload 3 /* graph */
            new org.graalvm.compiler.nodes.memory.FloatingReadNode
            dup
            aload 4 /* address */
            getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.KLASS_LAYOUT_HELPER_LOCATION:Ljdk/internal/vm/compiler/word/LocationIdentity;
            aconst_null
            aload 1 /* n */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.hotspot.replacements.KlassLayoutHelperNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            aconst_null
            getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            invokespecial org.graalvm.compiler.nodes.memory.FloatingReadNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/nodes/memory/MemoryNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/extended/GuardingNode;Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            invokevirtual org.graalvm.compiler.hotspot.replacements.KlassLayoutHelperNode.replaceAtUsagesAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
         6: .line 462
            return
        end local 4 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        end local 3 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 2 // org.graalvm.compiler.nodes.spi.LoweringTool tool
        end local 1 // org.graalvm.compiler.hotspot.replacements.KlassLayoutHelperNode n
        end local 0 // org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/graalvm/compiler/hotspot/meta/DefaultHotSpotLoweringProvider;
            0    7     1        n  Lorg/graalvm/compiler/hotspot/replacements/KlassLayoutHelperNode;
            0    7     2     tool  Lorg/graalvm/compiler/nodes/spi/LoweringTool;
            3    7     3    graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            5    7     4  address  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
    MethodParameters:
      Name  Flags
      n     
      tool  

  private void lowerHubGetClassNode(org.graalvm.compiler.hotspot.replacements.HubGetClassNode, org.graalvm.compiler.nodes.spi.LoweringTool);
    descriptor: (Lorg/graalvm/compiler/hotspot/replacements/HubGetClassNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=9, args_size=3
        start local 0 // org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider this
        start local 1 // org.graalvm.compiler.hotspot.replacements.HubGetClassNode n
        start local 2 // org.graalvm.compiler.nodes.spi.LoweringTool tool
         0: .line 465
            aload 2 /* tool */
            invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.getLoweringStage:()Lorg/graalvm/compiler/nodes/spi/LoweringTool$LoweringStage;
            getstatic org.graalvm.compiler.nodes.spi.LoweringTool$StandardLoweringStage.HIGH_TIER:Lorg/graalvm/compiler/nodes/spi/LoweringTool$StandardLoweringStage;
            if_acmpne 2
         1: .line 466
            return
         2: .line 469
      StackMap locals:
      StackMap stack:
            aload 1 /* n */
            invokevirtual org.graalvm.compiler.hotspot.replacements.HubGetClassNode.getHub:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 3 /* hub */
        start local 3 // org.graalvm.compiler.nodes.ValueNode hub
         3: .line 470
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.runtime:Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
            invokeinterface org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider.getVMConfig:()Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            astore 4 /* vmConfig */
        start local 4 // org.graalvm.compiler.hotspot.GraalHotSpotVMConfig vmConfig
         4: .line 471
            aload 1 /* n */
            invokevirtual org.graalvm.compiler.hotspot.replacements.HubGetClassNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 5 /* graph */
        start local 5 // org.graalvm.compiler.nodes.StructuredGraph graph
         5: .line 472
            getstatic org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.$assertionsDisabled:Z
            ifne 6
            aload 3 /* hub */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifeq 6
            getstatic org.graalvm.compiler.core.common.GraalOptions.ImmutableCode:Lorg/graalvm/compiler/options/OptionKey;
            aload 5 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
            invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifne 6
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         6: .line 473
      StackMap locals: org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.hotspot.GraalHotSpotVMConfig org.graalvm.compiler.nodes.StructuredGraph
      StackMap stack:
            aload 0 /* this */
            aload 5 /* graph */
            aload 3 /* hub */
            aload 4 /* vmConfig */
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.classMirrorOffset:I
            i2l
            invokevirtual org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.createOffsetAddress:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;J)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            astore 6 /* mirrorAddress */
        start local 6 // org.graalvm.compiler.nodes.memory.address.AddressNode mirrorAddress
         7: .line 474
            aload 5 /* graph */
         8: .line 475
            new org.graalvm.compiler.nodes.memory.FloatingReadNode
            dup
            aload 6 /* mirrorAddress */
            getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.CLASS_MIRROR_LOCATION:Ljdk/internal/vm/compiler/word/LocationIdentity;
            aconst_null
            aload 4 /* vmConfig */
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.classMirrorIsHandle:Z
            ifeq 9
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.target:Ljdk/vm/ci/code/TargetDescription;
            getfield jdk.vm.ci.code.TargetDescription.wordJavaKind:Ljdk/vm/ci/meta/JavaKind;
            invokestatic org.graalvm.compiler.core.common.type.StampFactory.forKind:(Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/core/common/type/Stamp;
            goto 10
      StackMap locals: org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider org.graalvm.compiler.hotspot.replacements.HubGetClassNode org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.hotspot.GraalHotSpotVMConfig org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.memory.address.AddressNode
      StackMap stack: org.graalvm.compiler.nodes.StructuredGraph new 8 new 8 org.graalvm.compiler.nodes.memory.address.AddressNode jdk.internal.vm.compiler.word.LocationIdentity null
         9: aload 1 /* n */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.hotspot.replacements.HubGetClassNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
        10: .line 476
      StackMap locals: org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider org.graalvm.compiler.hotspot.replacements.HubGetClassNode org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.hotspot.GraalHotSpotVMConfig org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.memory.address.AddressNode
      StackMap stack: org.graalvm.compiler.nodes.StructuredGraph new 8 new 8 org.graalvm.compiler.nodes.memory.address.AddressNode jdk.internal.vm.compiler.word.LocationIdentity null org.graalvm.compiler.core.common.type.Stamp
            aconst_null
            getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
        11: .line 475
            invokespecial org.graalvm.compiler.nodes.memory.FloatingReadNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/nodes/memory/MemoryNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/extended/GuardingNode;Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;)V
        12: .line 474
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.memory.FloatingReadNode
            astore 7 /* read */
        start local 7 // org.graalvm.compiler.nodes.memory.FloatingReadNode read
        13: .line 477
            aload 4 /* vmConfig */
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.classMirrorIsHandle:Z
            ifeq 16
        14: .line 478
            aload 0 /* this */
            aload 5 /* graph */
            aload 7 /* read */
            lconst_0
            invokevirtual org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.createOffsetAddress:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;J)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            astore 8 /* address */
        start local 8 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        15: .line 479
            aload 5 /* graph */
            new org.graalvm.compiler.nodes.memory.FloatingReadNode
            dup
            aload 8 /* address */
            getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.CLASS_MIRROR_HANDLE_LOCATION:Ljdk/internal/vm/compiler/word/LocationIdentity;
            aconst_null
            aload 1 /* n */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.hotspot.replacements.HubGetClassNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            aconst_null
            getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            invokespecial org.graalvm.compiler.nodes.memory.FloatingReadNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/nodes/memory/MemoryNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/extended/GuardingNode;Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.memory.FloatingReadNode
            astore 7 /* read */
        end local 8 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        16: .line 481
      StackMap locals: org.graalvm.compiler.nodes.memory.FloatingReadNode
      StackMap stack:
            aload 1 /* n */
            aload 7 /* read */
            invokevirtual org.graalvm.compiler.hotspot.replacements.HubGetClassNode.replaceAtUsagesAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
        17: .line 482
            return
        end local 7 // org.graalvm.compiler.nodes.memory.FloatingReadNode read
        end local 6 // org.graalvm.compiler.nodes.memory.address.AddressNode mirrorAddress
        end local 5 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 4 // org.graalvm.compiler.hotspot.GraalHotSpotVMConfig vmConfig
        end local 3 // org.graalvm.compiler.nodes.ValueNode hub
        end local 2 // org.graalvm.compiler.nodes.spi.LoweringTool tool
        end local 1 // org.graalvm.compiler.hotspot.replacements.HubGetClassNode n
        end local 0 // org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   18     0           this  Lorg/graalvm/compiler/hotspot/meta/DefaultHotSpotLoweringProvider;
            0   18     1              n  Lorg/graalvm/compiler/hotspot/replacements/HubGetClassNode;
            0   18     2           tool  Lorg/graalvm/compiler/nodes/spi/LoweringTool;
            3   18     3            hub  Lorg/graalvm/compiler/nodes/ValueNode;
            4   18     4       vmConfig  Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            5   18     5          graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            7   18     6  mirrorAddress  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
           13   18     7           read  Lorg/graalvm/compiler/nodes/memory/FloatingReadNode;
           15   16     8        address  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
    MethodParameters:
      Name  Flags
      n     
      tool  

  private void lowerClassGetHubNode(org.graalvm.compiler.hotspot.replacements.ClassGetHubNode, org.graalvm.compiler.nodes.spi.LoweringTool);
    descriptor: (Lorg/graalvm/compiler/hotspot/replacements/ClassGetHubNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=6, args_size=3
        start local 0 // org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider this
        start local 1 // org.graalvm.compiler.hotspot.replacements.ClassGetHubNode n
        start local 2 // org.graalvm.compiler.nodes.spi.LoweringTool tool
         0: .line 485
            aload 2 /* tool */
            invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.getLoweringStage:()Lorg/graalvm/compiler/nodes/spi/LoweringTool$LoweringStage;
            getstatic org.graalvm.compiler.nodes.spi.LoweringTool$StandardLoweringStage.HIGH_TIER:Lorg/graalvm/compiler/nodes/spi/LoweringTool$StandardLoweringStage;
            if_acmpne 2
         1: .line 486
            return
         2: .line 489
      StackMap locals:
      StackMap stack:
            aload 1 /* n */
            invokevirtual org.graalvm.compiler.hotspot.replacements.ClassGetHubNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 3 /* graph */
        start local 3 // org.graalvm.compiler.nodes.StructuredGraph graph
         3: .line 490
            getstatic org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.$assertionsDisabled:Z
            ifne 4
            aload 1 /* n */
            invokevirtual org.graalvm.compiler.hotspot.replacements.ClassGetHubNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifeq 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 491
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph
      StackMap stack:
            aload 0 /* this */
            aload 3 /* graph */
            aload 1 /* n */
            invokevirtual org.graalvm.compiler.hotspot.replacements.ClassGetHubNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.runtime:Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
            invokeinterface org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider.getVMConfig:()Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.klassOffset:I
            i2l
            invokevirtual org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.createOffsetAddress:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;J)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            astore 4 /* address */
        start local 4 // org.graalvm.compiler.nodes.memory.address.AddressNode address
         5: .line 492
            aload 3 /* graph */
            new org.graalvm.compiler.nodes.memory.FloatingReadNode
            dup
            aload 4 /* address */
            getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.CLASS_KLASS_LOCATION:Ljdk/internal/vm/compiler/word/LocationIdentity;
            aconst_null
            aload 1 /* n */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.hotspot.replacements.ClassGetHubNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            aconst_null
            getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            invokespecial org.graalvm.compiler.nodes.memory.FloatingReadNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/nodes/memory/MemoryNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/extended/GuardingNode;Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.memory.FloatingReadNode
            astore 5 /* read */
        start local 5 // org.graalvm.compiler.nodes.memory.FloatingReadNode read
         6: .line 493
            aload 1 /* n */
            aload 5 /* read */
            invokevirtual org.graalvm.compiler.hotspot.replacements.ClassGetHubNode.replaceAtUsagesAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
         7: .line 494
            return
        end local 5 // org.graalvm.compiler.nodes.memory.FloatingReadNode read
        end local 4 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        end local 3 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 2 // org.graalvm.compiler.nodes.spi.LoweringTool tool
        end local 1 // org.graalvm.compiler.hotspot.replacements.ClassGetHubNode n
        end local 0 // org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lorg/graalvm/compiler/hotspot/meta/DefaultHotSpotLoweringProvider;
            0    8     1        n  Lorg/graalvm/compiler/hotspot/replacements/ClassGetHubNode;
            0    8     2     tool  Lorg/graalvm/compiler/nodes/spi/LoweringTool;
            3    8     3    graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            5    8     4  address  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            6    8     5     read  Lorg/graalvm/compiler/nodes/memory/FloatingReadNode;
    MethodParameters:
      Name  Flags
      n     
      tool  

  private void lowerInvoke(org.graalvm.compiler.nodes.Invoke, org.graalvm.compiler.nodes.spi.LoweringTool, org.graalvm.compiler.nodes.StructuredGraph);
    descriptor: (Lorg/graalvm/compiler/nodes/Invoke;Lorg/graalvm/compiler/nodes/spi/LoweringTool;Lorg/graalvm/compiler/nodes/StructuredGraph;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=11, locals=18, args_size=4
        start local 0 // org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider this
        start local 1 // org.graalvm.compiler.nodes.Invoke invoke
        start local 2 // org.graalvm.compiler.nodes.spi.LoweringTool tool
        start local 3 // org.graalvm.compiler.nodes.StructuredGraph graph
         0: .line 497
            aload 1 /* invoke */
            invokeinterface org.graalvm.compiler.nodes.Invoke.callTarget:()Lorg/graalvm/compiler/nodes/CallTargetNode;
            instanceof org.graalvm.compiler.nodes.java.MethodCallTargetNode
            ifeq 40
         1: .line 498
            aload 1 /* invoke */
            invokeinterface org.graalvm.compiler.nodes.Invoke.callTarget:()Lorg/graalvm/compiler/nodes/CallTargetNode;
            checkcast org.graalvm.compiler.nodes.java.MethodCallTargetNode
            astore 4 /* callTarget */
        start local 4 // org.graalvm.compiler.nodes.java.MethodCallTargetNode callTarget
         2: .line 499
            aload 4 /* callTarget */
            invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.arguments:()Lorg/graalvm/compiler/graph/NodeInputList;
            astore 5 /* parameters */
        start local 5 // org.graalvm.compiler.graph.NodeInputList parameters
         3: .line 500
            aload 5 /* parameters */
            invokevirtual org.graalvm.compiler.graph.NodeInputList.isEmpty:()Z
            ifeq 4
            aconst_null
            goto 5
      StackMap locals: org.graalvm.compiler.nodes.java.MethodCallTargetNode org.graalvm.compiler.graph.NodeInputList
      StackMap stack:
         4: aload 5 /* parameters */
            iconst_0
            invokevirtual org.graalvm.compiler.graph.NodeInputList.get:(I)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.ValueNode
      StackMap locals:
      StackMap stack: org.graalvm.compiler.nodes.ValueNode
         5: astore 6 /* receiver */
        start local 6 // org.graalvm.compiler.nodes.ValueNode receiver
         6: .line 502
            aload 4 /* callTarget */
            invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.isStatic:()Z
            ifne 12
         7: .line 503
            getstatic org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.$assertionsDisabled:Z
            ifne 8
            aload 6 /* receiver */
            ifnonnull 8
            new java.lang.AssertionError
            dup
            ldc "non-static call must have a receiver"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         8: .line 504
      StackMap locals: org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 6 /* receiver */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            instanceof org.graalvm.compiler.core.common.type.ObjectStamp
            ifeq 12
            aload 6 /* receiver */
            invokestatic org.graalvm.compiler.nodes.type.StampTool.isPointerNonNull:(Lorg/graalvm/compiler/nodes/ValueNode;)Z
            ifne 12
         9: .line 505
            aload 0 /* this */
            aload 6 /* receiver */
            aload 1 /* invoke */
            invokeinterface org.graalvm.compiler.nodes.Invoke.asNode:()Lorg/graalvm/compiler/nodes/FixedNode;
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.createNullCheckedValue:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 7 /* nonNullReceiver */
        start local 7 // org.graalvm.compiler.nodes.ValueNode nonNullReceiver
        10: .line 506
            aload 5 /* parameters */
            iconst_0
            aload 7 /* nonNullReceiver */
            invokevirtual org.graalvm.compiler.graph.NodeInputList.set:(ILorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            pop
        11: .line 507
            aload 7 /* nonNullReceiver */
            astore 6 /* receiver */
        end local 7 // org.graalvm.compiler.nodes.ValueNode nonNullReceiver
        12: .line 510
      StackMap locals:
      StackMap stack:
            aload 4 /* callTarget */
            invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.targetMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getSignature:()Ljdk/vm/ci/meta/Signature;
            aload 4 /* callTarget */
            invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.isStatic:()Z
            ifeq 13
            aconst_null
            goto 14
      StackMap locals:
      StackMap stack: jdk.vm.ci.meta.Signature
        13: aload 4 /* callTarget */
            invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.targetMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
      StackMap locals: org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider org.graalvm.compiler.nodes.Invoke org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.java.MethodCallTargetNode org.graalvm.compiler.graph.NodeInputList org.graalvm.compiler.nodes.ValueNode
      StackMap stack: jdk.vm.ci.meta.Signature jdk.vm.ci.meta.ResolvedJavaType
        14: invokeinterface jdk.vm.ci.meta.Signature.toParameterTypes:(Ljdk/vm/ci/meta/JavaType;)[Ljdk/vm/ci/meta/JavaType;
            astore 7 /* signature */
        start local 7 // jdk.vm.ci.meta.JavaType[] signature
        15: .line 512
            aconst_null
            astore 8 /* loweredCallTarget */
        start local 8 // org.graalvm.compiler.nodes.LoweredCallTargetNode loweredCallTarget
        16: .line 513
            aload 3 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
            astore 9 /* options */
        start local 9 // org.graalvm.compiler.options.OptionValues options
        17: .line 514
            getstatic org.graalvm.compiler.core.common.GraalOptions.InlineVTableStubs:Lorg/graalvm/compiler/options/OptionKey;
            aload 9 /* options */
            invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 33
            aload 4 /* callTarget */
            invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.invokeKind:()Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
            invokevirtual org.graalvm.compiler.nodes.CallTargetNode$InvokeKind.isIndirect:()Z
            ifeq 33
            getstatic org.graalvm.compiler.core.common.GraalOptions.AlwaysInlineVTableStubs:Lorg/graalvm/compiler/options/OptionKey;
            aload 9 /* options */
            invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifne 18
            aload 1 /* invoke */
            invokeinterface org.graalvm.compiler.nodes.Invoke.isPolymorphic:()Z
            ifeq 33
        18: .line 515
      StackMap locals: jdk.vm.ci.meta.JavaType[] org.graalvm.compiler.nodes.LoweredCallTargetNode org.graalvm.compiler.options.OptionValues
      StackMap stack:
            aload 4 /* callTarget */
            invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.targetMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
            checkcast jdk.vm.ci.hotspot.HotSpotResolvedJavaMethod
            astore 10 /* hsMethod */
        start local 10 // jdk.vm.ci.hotspot.HotSpotResolvedJavaMethod hsMethod
        19: .line 516
            aload 1 /* invoke */
            invokeinterface org.graalvm.compiler.nodes.Invoke.getReceiverType:()Ljdk/vm/ci/meta/ResolvedJavaType;
            astore 11 /* receiverType */
        start local 11 // jdk.vm.ci.meta.ResolvedJavaType receiverType
        20: .line 517
            aload 10 /* hsMethod */
            aload 11 /* receiverType */
            invokeinterface jdk.vm.ci.hotspot.HotSpotResolvedJavaMethod.isInVirtualMethodTable:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
            ifeq 33
        21: .line 518
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.runtime:Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
            invokeinterface org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider.getTarget:()Ljdk/vm/ci/code/TargetDescription;
            getfield jdk.vm.ci.code.TargetDescription.wordJavaKind:Ljdk/vm/ci/meta/JavaKind;
            astore 12 /* wordKind */
        start local 12 // jdk.vm.ci.meta.JavaKind wordKind
        22: .line 519
            aload 0 /* this */
            aload 3 /* graph */
            aload 6 /* receiver */
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.createReadHub:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 13 /* hub */
        start local 13 // org.graalvm.compiler.nodes.ValueNode hub
        23: .line 521
            aload 0 /* this */
            aload 3 /* graph */
            aload 13 /* hub */
            aload 10 /* hsMethod */
            aload 11 /* receiverType */
            invokevirtual org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.createReadVirtualMethod:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaType;)Lorg/graalvm/compiler/nodes/memory/ReadNode;
            astore 14 /* metaspaceMethod */
        start local 14 // org.graalvm.compiler.nodes.memory.ReadNode metaspaceMethod
        24: .line 525
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.runtime:Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
            invokeinterface org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider.getVMConfig:()Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.methodCompiledEntryOffset:I
            istore 15 /* methodCompiledEntryOffset */
        start local 15 // int methodCompiledEntryOffset
        25: .line 526
            aload 0 /* this */
            aload 3 /* graph */
            aload 14 /* metaspaceMethod */
            iload 15 /* methodCompiledEntryOffset */
            i2l
            invokevirtual org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.createOffsetAddress:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;J)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            astore 16 /* address */
        start local 16 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        26: .line 527
            aload 3 /* graph */
            new org.graalvm.compiler.nodes.memory.ReadNode
            dup
            aload 16 /* address */
            invokestatic jdk.internal.vm.compiler.word.LocationIdentity.any:()Ljdk/internal/vm/compiler/word/LocationIdentity;
            aload 12 /* wordKind */
            invokestatic org.graalvm.compiler.core.common.type.StampFactory.forKind:(Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/core/common/type/Stamp;
            getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            invokespecial org.graalvm.compiler.nodes.memory.ReadNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.memory.ReadNode
            astore 17 /* compiledEntry */
        start local 17 // org.graalvm.compiler.nodes.memory.ReadNode compiledEntry
        27: .line 529
            aload 3 /* graph */
            new org.graalvm.compiler.hotspot.nodes.HotSpotIndirectCallTargetNode
            dup
            aload 14 /* metaspaceMethod */
            aload 17 /* compiledEntry */
            aload 5 /* parameters */
            aload 5 /* parameters */
            invokevirtual org.graalvm.compiler.graph.NodeInputList.size:()I
            anewarray org.graalvm.compiler.nodes.ValueNode
            invokevirtual org.graalvm.compiler.graph.NodeInputList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.ValueNode[]
            aload 4 /* callTarget */
            invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.returnStamp:()Lorg/graalvm/compiler/core/common/type/StampPair;
        28: .line 530
            aload 7 /* signature */
            aload 4 /* callTarget */
            invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.targetMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
        29: .line 531
            getstatic jdk.vm.ci.hotspot.HotSpotCallingConventionType.JavaCall:Ljdk/vm/ci/hotspot/HotSpotCallingConventionType;
            aload 4 /* callTarget */
            invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.invokeKind:()Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
            invokespecial org.graalvm.compiler.hotspot.nodes.HotSpotIndirectCallTargetNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;[Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/StampPair;[Ljdk/vm/ci/meta/JavaType;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/code/CallingConvention$Type;Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;)V
        30: .line 529
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.LoweredCallTargetNode
            astore 8 /* loweredCallTarget */
        31: .line 533
            aload 3 /* graph */
            aload 1 /* invoke */
            invokeinterface org.graalvm.compiler.nodes.Invoke.asNode:()Lorg/graalvm/compiler/nodes/FixedNode;
            aload 14 /* metaspaceMethod */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addBeforeFixed:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
        32: .line 534
            aload 3 /* graph */
            aload 14 /* metaspaceMethod */
            aload 17 /* compiledEntry */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addAfterFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedNode;)V
        end local 17 // org.graalvm.compiler.nodes.memory.ReadNode compiledEntry
        end local 16 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        end local 15 // int methodCompiledEntryOffset
        end local 14 // org.graalvm.compiler.nodes.memory.ReadNode metaspaceMethod
        end local 13 // org.graalvm.compiler.nodes.ValueNode hub
        end local 12 // jdk.vm.ci.meta.JavaKind wordKind
        end local 11 // jdk.vm.ci.meta.ResolvedJavaType receiverType
        end local 10 // jdk.vm.ci.hotspot.HotSpotResolvedJavaMethod hsMethod
        33: .line 538
      StackMap locals:
      StackMap stack:
            aload 8 /* loweredCallTarget */
            ifnonnull 39
        34: .line 539
            aload 3 /* graph */
            new org.graalvm.compiler.hotspot.nodes.HotSpotDirectCallTargetNode
            dup
            aload 5 /* parameters */
            aload 5 /* parameters */
            invokevirtual org.graalvm.compiler.graph.NodeInputList.size:()I
            anewarray org.graalvm.compiler.nodes.ValueNode
            invokevirtual org.graalvm.compiler.graph.NodeInputList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.ValueNode[]
            aload 4 /* callTarget */
            invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.returnStamp:()Lorg/graalvm/compiler/core/common/type/StampPair;
        35: .line 540
            aload 7 /* signature */
            aload 4 /* callTarget */
            invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.targetMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
        36: .line 541
            getstatic jdk.vm.ci.hotspot.HotSpotCallingConventionType.JavaCall:Ljdk/vm/ci/hotspot/HotSpotCallingConventionType;
        37: .line 542
            aload 4 /* callTarget */
            invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.invokeKind:()Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
            invokespecial org.graalvm.compiler.hotspot.nodes.HotSpotDirectCallTargetNode.<init>:([Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/StampPair;[Ljdk/vm/ci/meta/JavaType;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/code/CallingConvention$Type;Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;)V
        38: .line 539
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.LoweredCallTargetNode
            astore 8 /* loweredCallTarget */
        39: .line 544
      StackMap locals:
      StackMap stack:
            aload 4 /* callTarget */
            aload 8 /* loweredCallTarget */
            invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.replaceAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
        end local 9 // org.graalvm.compiler.options.OptionValues options
        end local 8 // org.graalvm.compiler.nodes.LoweredCallTargetNode loweredCallTarget
        end local 7 // jdk.vm.ci.meta.JavaType[] signature
        end local 6 // org.graalvm.compiler.nodes.ValueNode receiver
        end local 5 // org.graalvm.compiler.graph.NodeInputList parameters
        end local 4 // org.graalvm.compiler.nodes.java.MethodCallTargetNode callTarget
        40: .line 546
      StackMap locals: org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider org.graalvm.compiler.nodes.Invoke org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.StructuredGraph
      StackMap stack:
            return
        end local 3 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 2 // org.graalvm.compiler.nodes.spi.LoweringTool tool
        end local 1 // org.graalvm.compiler.nodes.Invoke invoke
        end local 0 // org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   41     0                       this  Lorg/graalvm/compiler/hotspot/meta/DefaultHotSpotLoweringProvider;
            0   41     1                     invoke  Lorg/graalvm/compiler/nodes/Invoke;
            0   41     2                       tool  Lorg/graalvm/compiler/nodes/spi/LoweringTool;
            0   41     3                      graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            2   40     4                 callTarget  Lorg/graalvm/compiler/nodes/java/MethodCallTargetNode;
            3   40     5                 parameters  Lorg/graalvm/compiler/graph/NodeInputList<Lorg/graalvm/compiler/nodes/ValueNode;>;
            6   40     6                   receiver  Lorg/graalvm/compiler/nodes/ValueNode;
           10   12     7            nonNullReceiver  Lorg/graalvm/compiler/nodes/ValueNode;
           15   40     7                  signature  [Ljdk/vm/ci/meta/JavaType;
           16   40     8          loweredCallTarget  Lorg/graalvm/compiler/nodes/LoweredCallTargetNode;
           17   40     9                    options  Lorg/graalvm/compiler/options/OptionValues;
           19   33    10                   hsMethod  Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethod;
           20   33    11               receiverType  Ljdk/vm/ci/meta/ResolvedJavaType;
           22   33    12                   wordKind  Ljdk/vm/ci/meta/JavaKind;
           23   33    13                        hub  Lorg/graalvm/compiler/nodes/ValueNode;
           24   33    14            metaspaceMethod  Lorg/graalvm/compiler/nodes/memory/ReadNode;
           25   33    15  methodCompiledEntryOffset  I
           26   33    16                    address  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
           27   33    17              compiledEntry  Lorg/graalvm/compiler/nodes/memory/ReadNode;
    MethodParameters:
        Name  Flags
      invoke  
      tool    
      graph   

  private org.graalvm.compiler.core.common.CompressEncoding getOopEncoding();
    descriptor: ()Lorg/graalvm/compiler/core/common/CompressEncoding;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider this
         0: .line 549
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.runtime:Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
            invokeinterface org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider.getVMConfig:()Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            invokevirtual org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.getOopEncoding:()Lorg/graalvm/compiler/core/common/CompressEncoding;
            areturn
        end local 0 // org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/meta/DefaultHotSpotLoweringProvider;

  protected org.graalvm.compiler.core.common.type.Stamp loadCompressedStamp(org.graalvm.compiler.core.common.type.ObjectStamp);
    descriptor: (Lorg/graalvm/compiler/core/common/type/ObjectStamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider this
        start local 1 // org.graalvm.compiler.core.common.type.ObjectStamp stamp
         0: .line 554
            aload 1 /* stamp */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.getOopEncoding:()Lorg/graalvm/compiler/core/common/CompressEncoding;
            invokestatic org.graalvm.compiler.hotspot.nodes.type.HotSpotNarrowOopStamp.compressed:(Lorg/graalvm/compiler/core/common/type/AbstractObjectStamp;Lorg/graalvm/compiler/core/common/CompressEncoding;)Lorg/graalvm/compiler/core/common/type/Stamp;
            areturn
        end local 1 // org.graalvm.compiler.core.common.type.ObjectStamp stamp
        end local 0 // org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/graalvm/compiler/hotspot/meta/DefaultHotSpotLoweringProvider;
            0    1     1  stamp  Lorg/graalvm/compiler/core/common/type/ObjectStamp;
    MethodParameters:
       Name  Flags
      stamp  

  protected org.graalvm.compiler.nodes.ValueNode newCompressionNode(org.graalvm.compiler.nodes.CompressionNode$CompressionOp, org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/CompressionNode$CompressionOp;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider this
        start local 1 // org.graalvm.compiler.nodes.CompressionNode$CompressionOp op
        start local 2 // org.graalvm.compiler.nodes.ValueNode value
         0: .line 559
            new org.graalvm.compiler.hotspot.nodes.HotSpotCompressionNode
            dup
            aload 1 /* op */
            aload 2 /* value */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.getOopEncoding:()Lorg/graalvm/compiler/core/common/CompressEncoding;
            invokespecial org.graalvm.compiler.hotspot.nodes.HotSpotCompressionNode.<init>:(Lorg/graalvm/compiler/nodes/CompressionNode$CompressionOp;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/CompressEncoding;)V
            areturn
        end local 2 // org.graalvm.compiler.nodes.ValueNode value
        end local 1 // org.graalvm.compiler.nodes.CompressionNode$CompressionOp op
        end local 0 // org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/graalvm/compiler/hotspot/meta/DefaultHotSpotLoweringProvider;
            0    1     1     op  Lorg/graalvm/compiler/nodes/CompressionNode$CompressionOp;
            0    1     2  value  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
       Name  Flags
      op     
      value  

  public org.graalvm.compiler.nodes.ValueNode staticFieldBase(org.graalvm.compiler.nodes.StructuredGraph, jdk.vm.ci.meta.ResolvedJavaField);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/ResolvedJavaField;)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider this
        start local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        start local 2 // jdk.vm.ci.meta.ResolvedJavaField f
         0: .line 564
            aload 2 /* f */
            checkcast jdk.vm.ci.hotspot.HotSpotResolvedJavaField
            astore 3 /* field */
        start local 3 // jdk.vm.ci.hotspot.HotSpotResolvedJavaField field
         1: .line 565
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.constantReflection:Ljdk/vm/ci/hotspot/HotSpotConstantReflectionProvider;
            aload 3 /* field */
            invokeinterface jdk.vm.ci.hotspot.HotSpotResolvedJavaField.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantReflectionProvider.asJavaClass:(Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/JavaConstant;
            astore 4 /* base */
        start local 4 // jdk.vm.ci.meta.JavaConstant base
         2: .line 566
            aload 4 /* base */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.metaAccess:Ljdk/vm/ci/meta/MetaAccessProvider;
            aload 1 /* graph */
            invokestatic org.graalvm.compiler.nodes.ConstantNode.forConstant:(Ljdk/vm/ci/meta/JavaConstant;Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
            areturn
        end local 4 // jdk.vm.ci.meta.JavaConstant base
        end local 3 // jdk.vm.ci.hotspot.HotSpotResolvedJavaField field
        end local 2 // jdk.vm.ci.meta.ResolvedJavaField f
        end local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 0 // org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/graalvm/compiler/hotspot/meta/DefaultHotSpotLoweringProvider;
            0    3     1  graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0    3     2      f  Ljdk/vm/ci/meta/ResolvedJavaField;
            1    3     3  field  Ljdk/vm/ci/hotspot/HotSpotResolvedJavaField;
            2    3     4   base  Ljdk/vm/ci/meta/JavaConstant;
    MethodParameters:
       Name  Flags
      graph  
      f      

  protected org.graalvm.compiler.nodes.ValueNode createReadArrayComponentHub(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.FixedNode);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=8, locals=5, args_size=4
        start local 0 // org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider this
        start local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        start local 2 // org.graalvm.compiler.nodes.ValueNode arrayHub
        start local 3 // org.graalvm.compiler.nodes.FixedNode anchor
         0: .line 575
            aload 0 /* this */
            aload 1 /* graph */
            aload 2 /* arrayHub */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.runtime:Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
            invokeinterface org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider.getVMConfig:()Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.arrayClassElementOffset:I
            i2l
            invokevirtual org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.createOffsetAddress:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;J)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            astore 4 /* address */
        start local 4 // org.graalvm.compiler.nodes.memory.address.AddressNode address
         1: .line 576
            aload 1 /* graph */
            new org.graalvm.compiler.nodes.memory.FloatingReadNode
            dup
            aload 4 /* address */
            getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.OBJ_ARRAY_KLASS_ELEMENT_KLASS_LOCATION:Ljdk/internal/vm/compiler/word/LocationIdentity;
            aconst_null
            invokestatic org.graalvm.compiler.hotspot.nodes.type.KlassPointerStamp.klassNonNull:()Lorg/graalvm/compiler/hotspot/nodes/type/KlassPointerStamp;
            aload 3 /* anchor */
            invokestatic org.graalvm.compiler.nodes.AbstractBeginNode.prevBegin:(Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            invokespecial org.graalvm.compiler.nodes.memory.FloatingReadNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/nodes/memory/MemoryNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/extended/GuardingNode;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.ValueNode
            areturn
        end local 4 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        end local 3 // org.graalvm.compiler.nodes.FixedNode anchor
        end local 2 // org.graalvm.compiler.nodes.ValueNode arrayHub
        end local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 0 // org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/graalvm/compiler/hotspot/meta/DefaultHotSpotLoweringProvider;
            0    2     1     graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0    2     2  arrayHub  Lorg/graalvm/compiler/nodes/ValueNode;
            0    2     3    anchor  Lorg/graalvm/compiler/nodes/FixedNode;
            1    2     4   address  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
    MethodParameters:
          Name  Flags
      graph     
      arrayHub  
      anchor    

  private void lowerLoadMethodNode(org.graalvm.compiler.nodes.extended.LoadMethodNode);
    descriptor: (Lorg/graalvm/compiler/nodes/extended/LoadMethodNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider this
        start local 1 // org.graalvm.compiler.nodes.extended.LoadMethodNode loadMethodNode
         0: .line 580
            aload 1 /* loadMethodNode */
            invokevirtual org.graalvm.compiler.nodes.extended.LoadMethodNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 2 /* graph */
        start local 2 // org.graalvm.compiler.nodes.StructuredGraph graph
         1: .line 581
            aload 1 /* loadMethodNode */
            invokevirtual org.graalvm.compiler.nodes.extended.LoadMethodNode.getMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
            checkcast jdk.vm.ci.hotspot.HotSpotResolvedJavaMethod
            astore 3 /* method */
        start local 3 // jdk.vm.ci.hotspot.HotSpotResolvedJavaMethod method
         2: .line 582
            aload 0 /* this */
            aload 2 /* graph */
            aload 1 /* loadMethodNode */
            invokevirtual org.graalvm.compiler.nodes.extended.LoadMethodNode.getHub:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 3 /* method */
            aload 1 /* loadMethodNode */
            invokevirtual org.graalvm.compiler.nodes.extended.LoadMethodNode.getReceiverType:()Ljdk/vm/ci/meta/ResolvedJavaType;
            invokevirtual org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.createReadVirtualMethod:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaType;)Lorg/graalvm/compiler/nodes/memory/ReadNode;
            astore 4 /* metaspaceMethod */
        start local 4 // org.graalvm.compiler.nodes.memory.ReadNode metaspaceMethod
         3: .line 583
            aload 2 /* graph */
            aload 1 /* loadMethodNode */
            aload 4 /* metaspaceMethod */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/graph/Node;)V
         4: .line 584
            return
        end local 4 // org.graalvm.compiler.nodes.memory.ReadNode metaspaceMethod
        end local 3 // jdk.vm.ci.hotspot.HotSpotResolvedJavaMethod method
        end local 2 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 1 // org.graalvm.compiler.nodes.extended.LoadMethodNode loadMethodNode
        end local 0 // org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    5     0             this  Lorg/graalvm/compiler/hotspot/meta/DefaultHotSpotLoweringProvider;
            0    5     1   loadMethodNode  Lorg/graalvm/compiler/nodes/extended/LoadMethodNode;
            1    5     2            graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            2    5     3           method  Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethod;
            3    5     4  metaspaceMethod  Lorg/graalvm/compiler/nodes/memory/ReadNode;
    MethodParameters:
                Name  Flags
      loadMethodNode  

  private static void lowerGetClassNode(org.graalvm.compiler.nodes.extended.GetClassNode, org.graalvm.compiler.nodes.spi.LoweringTool, org.graalvm.compiler.nodes.StructuredGraph);
    descriptor: (Lorg/graalvm/compiler/nodes/extended/GetClassNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;Lorg/graalvm/compiler/nodes/StructuredGraph;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // org.graalvm.compiler.nodes.extended.GetClassNode getClass
        start local 1 // org.graalvm.compiler.nodes.spi.LoweringTool tool
        start local 2 // org.graalvm.compiler.nodes.StructuredGraph graph
         0: .line 587
            aload 1 /* tool */
            invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.getStampProvider:()Lorg/graalvm/compiler/nodes/spi/StampProvider;
            astore 3 /* stampProvider */
        start local 3 // org.graalvm.compiler.nodes.spi.StampProvider stampProvider
         1: .line 588
            aload 2 /* graph */
            new org.graalvm.compiler.nodes.extended.LoadHubNode
            dup
            aload 3 /* stampProvider */
            aload 0 /* getClass */
            invokevirtual org.graalvm.compiler.nodes.extended.GetClassNode.getObject:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokespecial org.graalvm.compiler.nodes.extended.LoadHubNode.<init>:(Lorg/graalvm/compiler/nodes/spi/StampProvider;Lorg/graalvm/compiler/nodes/ValueNode;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.extended.LoadHubNode
            astore 4 /* hub */
        start local 4 // org.graalvm.compiler.nodes.extended.LoadHubNode hub
         2: .line 589
            aload 2 /* graph */
            new org.graalvm.compiler.hotspot.replacements.HubGetClassNode
            dup
            aload 1 /* tool */
            invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            aload 4 /* hub */
            invokespecial org.graalvm.compiler.hotspot.replacements.HubGetClassNode.<init>:(Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/ValueNode;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.hotspot.replacements.HubGetClassNode
            astore 5 /* hubGetClass */
        start local 5 // org.graalvm.compiler.hotspot.replacements.HubGetClassNode hubGetClass
         3: .line 590
            aload 0 /* getClass */
            aload 5 /* hubGetClass */
            invokevirtual org.graalvm.compiler.nodes.extended.GetClassNode.replaceAtUsagesAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
         4: .line 591
            aload 4 /* hub */
            aload 1 /* tool */
            invokevirtual org.graalvm.compiler.nodes.extended.LoadHubNode.lower:(Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
         5: .line 592
            aload 5 /* hubGetClass */
            aload 1 /* tool */
            invokevirtual org.graalvm.compiler.hotspot.replacements.HubGetClassNode.lower:(Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
         6: .line 593
            return
        end local 5 // org.graalvm.compiler.hotspot.replacements.HubGetClassNode hubGetClass
        end local 4 // org.graalvm.compiler.nodes.extended.LoadHubNode hub
        end local 3 // org.graalvm.compiler.nodes.spi.StampProvider stampProvider
        end local 2 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 1 // org.graalvm.compiler.nodes.spi.LoweringTool tool
        end local 0 // org.graalvm.compiler.nodes.extended.GetClassNode getClass
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0       getClass  Lorg/graalvm/compiler/nodes/extended/GetClassNode;
            0    7     1           tool  Lorg/graalvm/compiler/nodes/spi/LoweringTool;
            0    7     2          graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            1    7     3  stampProvider  Lorg/graalvm/compiler/nodes/spi/StampProvider;
            2    7     4            hub  Lorg/graalvm/compiler/nodes/extended/LoadHubNode;
            3    7     5    hubGetClass  Lorg/graalvm/compiler/hotspot/replacements/HubGetClassNode;
    MethodParameters:
          Name  Flags
      getClass  
      tool      
      graph     

  private void lowerStoreHubNode(org.graalvm.compiler.nodes.extended.StoreHubNode, org.graalvm.compiler.nodes.StructuredGraph);
    descriptor: (Lorg/graalvm/compiler/nodes/extended/StoreHubNode;Lorg/graalvm/compiler/nodes/StructuredGraph;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider this
        start local 1 // org.graalvm.compiler.nodes.extended.StoreHubNode storeHub
        start local 2 // org.graalvm.compiler.nodes.StructuredGraph graph
         0: .line 596
            aload 0 /* this */
            aload 2 /* graph */
            aload 1 /* storeHub */
            invokevirtual org.graalvm.compiler.nodes.extended.StoreHubNode.getObject:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 1 /* storeHub */
            invokevirtual org.graalvm.compiler.nodes.extended.StoreHubNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.createWriteHub:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/memory/WriteNode;
            astore 3 /* hub */
        start local 3 // org.graalvm.compiler.nodes.memory.WriteNode hub
         1: .line 597
            aload 2 /* graph */
            aload 1 /* storeHub */
            aload 3 /* hub */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/graph/Node;)V
         2: .line 598
            return
        end local 3 // org.graalvm.compiler.nodes.memory.WriteNode hub
        end local 2 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 1 // org.graalvm.compiler.nodes.extended.StoreHubNode storeHub
        end local 0 // org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/graalvm/compiler/hotspot/meta/DefaultHotSpotLoweringProvider;
            0    3     1  storeHub  Lorg/graalvm/compiler/nodes/extended/StoreHubNode;
            0    3     2     graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            1    3     3       hub  Lorg/graalvm/compiler/nodes/memory/WriteNode;
    MethodParameters:
          Name  Flags
      storeHub  
      graph     

  private void lowerOSRStartNode(org.graalvm.compiler.nodes.extended.OSRStartNode);
    descriptor: (Lorg/graalvm/compiler/nodes/extended/OSRStartNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=25, args_size=2
        start local 0 // org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider this
        start local 1 // org.graalvm.compiler.nodes.extended.OSRStartNode osrStart
         0: .line 601
            aload 1 /* osrStart */
            invokevirtual org.graalvm.compiler.nodes.extended.OSRStartNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 2 /* graph */
        start local 2 // org.graalvm.compiler.nodes.StructuredGraph graph
         1: .line 602
            aload 2 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getGuardsStage:()Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
            getstatic org.graalvm.compiler.nodes.StructuredGraph$GuardsStage.FIXED_DEOPTS:Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
            if_acmpne 45
         2: .line 603
            aload 2 /* graph */
            new org.graalvm.compiler.nodes.StartNode
            dup
            invokespecial org.graalvm.compiler.nodes.StartNode.<init>:()V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.StartNode
            astore 3 /* newStart */
        start local 3 // org.graalvm.compiler.nodes.StartNode newStart
         3: .line 604
            aload 2 /* graph */
            new org.graalvm.compiler.nodes.ParameterNode
            dup
            iconst_0
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.runtime:Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
            invokeinterface org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider.getTarget:()Ljdk/vm/ci/code/TargetDescription;
            getfield jdk.vm.ci.code.TargetDescription.wordJavaKind:Ljdk/vm/ci/meta/JavaKind;
            invokestatic org.graalvm.compiler.core.common.type.StampFactory.forKind:(Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/core/common/type/Stamp;
            invokestatic org.graalvm.compiler.core.common.type.StampPair.createSingle:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/StampPair;
            invokespecial org.graalvm.compiler.nodes.ParameterNode.<init>:(ILorg/graalvm/compiler/core/common/type/StampPair;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addWithoutUnique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.ParameterNode
            astore 4 /* buffer */
        start local 4 // org.graalvm.compiler.nodes.ParameterNode buffer
         4: .line 605
            aload 2 /* graph */
            new org.graalvm.compiler.nodes.extended.ForeignCallNode
            dup
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.foreignCalls:Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;
            getstatic org.graalvm.compiler.hotspot.meta.HotSpotForeignCallsProviderImpl.OSR_MIGRATION_END:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
            iconst_1
            anewarray org.graalvm.compiler.nodes.ValueNode
            dup
            iconst_0
            aload 4 /* buffer */
            aastore
            invokespecial org.graalvm.compiler.nodes.extended.ForeignCallNode.<init>:(Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;[Lorg/graalvm/compiler/nodes/ValueNode;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.extended.ForeignCallNode
            astore 5 /* migrationEnd */
        start local 5 // org.graalvm.compiler.nodes.extended.ForeignCallNode migrationEnd
         5: .line 606
            aload 5 /* migrationEnd */
            aload 1 /* osrStart */
            invokevirtual org.graalvm.compiler.nodes.extended.OSRStartNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
            invokevirtual org.graalvm.compiler.nodes.extended.ForeignCallNode.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
         6: .line 607
            aload 3 /* newStart */
            aload 5 /* migrationEnd */
            invokevirtual org.graalvm.compiler.nodes.StartNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
         7: .line 608
            aload 1 /* osrStart */
            invokevirtual org.graalvm.compiler.nodes.extended.OSRStartNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
            astore 6 /* next */
        start local 6 // org.graalvm.compiler.nodes.FixedNode next
         8: .line 609
            aload 1 /* osrStart */
            aconst_null
            invokevirtual org.graalvm.compiler.nodes.extended.OSRStartNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
         9: .line 610
            aload 5 /* migrationEnd */
            aload 6 /* next */
            invokevirtual org.graalvm.compiler.nodes.extended.ForeignCallNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
        10: .line 611
            aload 2 /* graph */
            aload 3 /* newStart */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.setStart:(Lorg/graalvm/compiler/nodes/StartNode;)V
        11: .line 613
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.target:Ljdk/vm/ci/code/TargetDescription;
            getfield jdk.vm.ci.code.TargetDescription.wordSize:I
            istore 7 /* wordSize */
        start local 7 // int wordSize
        12: .line 618
            aload 2 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.method:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getMaxLocals:()I
            iconst_1
            isub
            iload 7 /* wordSize */
            imul
            istore 8 /* localsOffset */
        start local 8 // int localsOffset
        13: .line 619
            aload 2 /* graph */
            getstatic org.graalvm.compiler.nodes.extended.OSRLocalNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:(Lorg/graalvm/compiler/graph/NodeClass;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
            astore 10
            goto 21
      StackMap locals: org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider org.graalvm.compiler.nodes.extended.OSRStartNode org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.StartNode org.graalvm.compiler.nodes.ParameterNode org.graalvm.compiler.nodes.extended.ForeignCallNode org.graalvm.compiler.nodes.FixedNode int int top java.util.Iterator
      StackMap stack:
        14: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.extended.OSRLocalNode
            astore 9 /* osrLocal */
        start local 9 // org.graalvm.compiler.nodes.extended.OSRLocalNode osrLocal
        15: .line 620
            aload 9 /* osrLocal */
            invokevirtual org.graalvm.compiler.nodes.extended.OSRLocalNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.getSlotCount:()I
            istore 11 /* size */
        start local 11 // int size
        16: .line 621
            iload 8 /* localsOffset */
            aload 9 /* osrLocal */
            invokevirtual org.graalvm.compiler.nodes.extended.OSRLocalNode.index:()I
            iload 11 /* size */
            iadd
            iconst_1
            isub
            iload 7 /* wordSize */
            imul
            isub
            istore 12 /* offset */
        start local 12 // int offset
        17: .line 622
            aload 0 /* this */
            aload 2 /* graph */
            aload 4 /* buffer */
            iload 12 /* offset */
            i2l
            invokevirtual org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.createOffsetAddress:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;J)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            astore 13 /* address */
        start local 13 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        18: .line 623
            aload 2 /* graph */
            new org.graalvm.compiler.nodes.memory.ReadNode
            dup
            aload 13 /* address */
            invokestatic jdk.internal.vm.compiler.word.LocationIdentity.any:()Ljdk/internal/vm/compiler/word/LocationIdentity;
            aload 9 /* osrLocal */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.nodes.extended.OSRLocalNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            invokespecial org.graalvm.compiler.nodes.memory.ReadNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.memory.ReadNode
            astore 14 /* load */
        start local 14 // org.graalvm.compiler.nodes.memory.ReadNode load
        19: .line 624
            aload 9 /* osrLocal */
            aload 14 /* load */
            invokevirtual org.graalvm.compiler.nodes.extended.OSRLocalNode.replaceAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
        20: .line 625
            aload 2 /* graph */
            aload 5 /* migrationEnd */
            aload 14 /* load */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addBeforeFixed:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
        end local 14 // org.graalvm.compiler.nodes.memory.ReadNode load
        end local 13 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        end local 12 // int offset
        end local 11 // int size
        end local 9 // org.graalvm.compiler.nodes.extended.OSRLocalNode osrLocal
        21: .line 619
      StackMap locals:
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 14
        22: .line 631
            aload 1 /* osrStart */
            invokevirtual org.graalvm.compiler.nodes.extended.OSRStartNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
            invokevirtual org.graalvm.compiler.nodes.FrameState.locksSize:()I
            istore 9 /* lockCount */
        start local 9 // int lockCount
        23: .line 632
            aload 2 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.method:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getMaxLocals:()I
            iload 9 /* lockCount */
            iconst_2
            imul
            iadd
            iconst_1
            isub
            iload 7 /* wordSize */
            imul
            istore 10 /* locksOffset */
        start local 10 // int locksOffset
        24: .line 636
            aload 2 /* graph */
            getstatic org.graalvm.compiler.nodes.extended.OSRMonitorEnterNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:(Lorg/graalvm/compiler/graph/NodeClass;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
            astore 12
            goto 43
      StackMap locals: org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider org.graalvm.compiler.nodes.extended.OSRStartNode org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.StartNode org.graalvm.compiler.nodes.ParameterNode org.graalvm.compiler.nodes.extended.ForeignCallNode org.graalvm.compiler.nodes.FixedNode int int int int top java.util.Iterator
      StackMap stack:
        25: aload 12
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.extended.OSRMonitorEnterNode
            astore 11 /* osrMonitorEnter */
        start local 11 // org.graalvm.compiler.nodes.extended.OSRMonitorEnterNode osrMonitorEnter
        26: .line 637
            aload 11 /* osrMonitorEnter */
            invokevirtual org.graalvm.compiler.nodes.extended.OSRMonitorEnterNode.getMonitorId:()Lorg/graalvm/compiler/nodes/java/MonitorIdNode;
            astore 13 /* monitorID */
        start local 13 // org.graalvm.compiler.nodes.java.MonitorIdNode monitorID
        27: .line 638
            aload 11 /* osrMonitorEnter */
            invokevirtual org.graalvm.compiler.nodes.extended.OSRMonitorEnterNode.object:()Lorg/graalvm/compiler/nodes/ValueNode;
            checkcast org.graalvm.compiler.nodes.extended.OSRLockNode
            astore 14 /* lock */
        start local 14 // org.graalvm.compiler.nodes.extended.OSRLockNode lock
        28: .line 639
            aload 14 /* lock */
            invokevirtual org.graalvm.compiler.nodes.extended.OSRLockNode.index:()I
            istore 15 /* index */
        start local 15 // int index
        29: .line 641
            iload 10 /* locksOffset */
            iload 15 /* index */
            iconst_2
            imul
            iconst_1
            iadd
            iload 7 /* wordSize */
            imul
            isub
            istore 16 /* offsetDisplacedHeader */
        start local 16 // int offsetDisplacedHeader
        30: .line 642
            iload 10 /* locksOffset */
            iload 15 /* index */
            iconst_2
            imul
            iload 7 /* wordSize */
            imul
            isub
            istore 17 /* offsetLockObject */
        start local 17 // int offsetLockObject
        31: .line 645
            aload 0 /* this */
            aload 2 /* graph */
            aload 4 /* buffer */
            iload 16 /* offsetDisplacedHeader */
            i2l
            invokevirtual org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.createOffsetAddress:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;J)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            astore 18 /* addressDisplacedHeader */
        start local 18 // org.graalvm.compiler.nodes.memory.address.AddressNode addressDisplacedHeader
        32: .line 646
            aload 2 /* graph */
            new org.graalvm.compiler.nodes.memory.ReadNode
            dup
            aload 18 /* addressDisplacedHeader */
            invokestatic jdk.internal.vm.compiler.word.LocationIdentity.any:()Ljdk/internal/vm/compiler/word/LocationIdentity;
            aload 14 /* lock */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.nodes.extended.OSRLockNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            invokespecial org.graalvm.compiler.nodes.memory.ReadNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.memory.ReadNode
            astore 19 /* loadDisplacedHeader */
        start local 19 // org.graalvm.compiler.nodes.memory.ReadNode loadDisplacedHeader
        33: .line 647
            aload 2 /* graph */
            aload 5 /* migrationEnd */
            aload 19 /* loadDisplacedHeader */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addBeforeFixed:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
        34: .line 650
            aload 2 /* graph */
            new org.graalvm.compiler.hotspot.nodes.BeginLockScopeNode
            dup
            aload 14 /* lock */
            invokevirtual org.graalvm.compiler.nodes.extended.OSRLockNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
            aload 13 /* monitorID */
            invokevirtual org.graalvm.compiler.nodes.java.MonitorIdNode.getLockDepth:()I
            invokespecial org.graalvm.compiler.hotspot.nodes.BeginLockScopeNode.<init>:(Ljdk/vm/ci/meta/JavaKind;I)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.hotspot.nodes.BeginLockScopeNode
            astore 20 /* beginLockScope */
        start local 20 // org.graalvm.compiler.hotspot.nodes.BeginLockScopeNode beginLockScope
        35: .line 651
            aload 2 /* graph */
            aload 5 /* migrationEnd */
            aload 20 /* beginLockScope */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addBeforeFixed:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
        36: .line 654
            aload 0 /* this */
            aload 2 /* graph */
            aload 20 /* beginLockScope */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.runtime:Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
            invokeinterface org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider.getVMConfig:()Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.basicLockDisplacedHeaderOffset:I
            i2l
            invokevirtual org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.createOffsetAddress:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;J)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            astore 21 /* addressDisplacedMark */
        start local 21 // org.graalvm.compiler.nodes.memory.address.AddressNode addressDisplacedMark
        37: .line 655
            aload 2 /* graph */
            new org.graalvm.compiler.nodes.memory.WriteNode
            dup
            aload 21 /* addressDisplacedMark */
            getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.DISPLACED_MARK_WORD_LOCATION:Ljdk/internal/vm/compiler/word/LocationIdentity;
            aload 19 /* loadDisplacedHeader */
            getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            iconst_0
            invokespecial org.graalvm.compiler.nodes.memory.WriteNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;Z)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.memory.WriteNode
            astore 22 /* writeStackSlot */
        start local 22 // org.graalvm.compiler.nodes.memory.WriteNode writeStackSlot
        38: .line 656
            aload 2 /* graph */
            aload 5 /* migrationEnd */
            aload 22 /* writeStackSlot */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addBeforeFixed:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
        39: .line 659
            aload 0 /* this */
            aload 2 /* graph */
            aload 4 /* buffer */
            iload 17 /* offsetLockObject */
            i2l
            invokevirtual org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.createOffsetAddress:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;J)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            astore 23 /* addressLockObject */
        start local 23 // org.graalvm.compiler.nodes.memory.address.AddressNode addressLockObject
        40: .line 660
            aload 2 /* graph */
            new org.graalvm.compiler.nodes.memory.ReadNode
            dup
            aload 23 /* addressLockObject */
            invokestatic jdk.internal.vm.compiler.word.LocationIdentity.any:()Ljdk/internal/vm/compiler/word/LocationIdentity;
            aload 14 /* lock */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.nodes.extended.OSRLockNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            invokespecial org.graalvm.compiler.nodes.memory.ReadNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.memory.ReadNode
            astore 24 /* loadObject */
        start local 24 // org.graalvm.compiler.nodes.memory.ReadNode loadObject
        41: .line 661
            aload 14 /* lock */
            aload 24 /* loadObject */
            invokevirtual org.graalvm.compiler.nodes.extended.OSRLockNode.replaceAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
        42: .line 662
            aload 2 /* graph */
            aload 5 /* migrationEnd */
            aload 24 /* loadObject */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addBeforeFixed:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
        end local 24 // org.graalvm.compiler.nodes.memory.ReadNode loadObject
        end local 23 // org.graalvm.compiler.nodes.memory.address.AddressNode addressLockObject
        end local 22 // org.graalvm.compiler.nodes.memory.WriteNode writeStackSlot
        end local 21 // org.graalvm.compiler.nodes.memory.address.AddressNode addressDisplacedMark
        end local 20 // org.graalvm.compiler.hotspot.nodes.BeginLockScopeNode beginLockScope
        end local 19 // org.graalvm.compiler.nodes.memory.ReadNode loadDisplacedHeader
        end local 18 // org.graalvm.compiler.nodes.memory.address.AddressNode addressDisplacedHeader
        end local 17 // int offsetLockObject
        end local 16 // int offsetDisplacedHeader
        end local 15 // int index
        end local 14 // org.graalvm.compiler.nodes.extended.OSRLockNode lock
        end local 13 // org.graalvm.compiler.nodes.java.MonitorIdNode monitorID
        end local 11 // org.graalvm.compiler.nodes.extended.OSRMonitorEnterNode osrMonitorEnter
        43: .line 636
      StackMap locals:
      StackMap stack:
            aload 12
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 25
        44: .line 665
            aload 1 /* osrStart */
            aload 3 /* newStart */
            invokevirtual org.graalvm.compiler.nodes.extended.OSRStartNode.replaceAtUsagesAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
        end local 10 // int locksOffset
        end local 9 // int lockCount
        end local 8 // int localsOffset
        end local 7 // int wordSize
        end local 6 // org.graalvm.compiler.nodes.FixedNode next
        end local 5 // org.graalvm.compiler.nodes.extended.ForeignCallNode migrationEnd
        end local 4 // org.graalvm.compiler.nodes.ParameterNode buffer
        end local 3 // org.graalvm.compiler.nodes.StartNode newStart
        45: .line 667
      StackMap locals: org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider org.graalvm.compiler.nodes.extended.OSRStartNode org.graalvm.compiler.nodes.StructuredGraph
      StackMap stack:
            return
        end local 2 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 1 // org.graalvm.compiler.nodes.extended.OSRStartNode osrStart
        end local 0 // org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   46     0                    this  Lorg/graalvm/compiler/hotspot/meta/DefaultHotSpotLoweringProvider;
            0   46     1                osrStart  Lorg/graalvm/compiler/nodes/extended/OSRStartNode;
            1   46     2                   graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            3   45     3                newStart  Lorg/graalvm/compiler/nodes/StartNode;
            4   45     4                  buffer  Lorg/graalvm/compiler/nodes/ParameterNode;
            5   45     5            migrationEnd  Lorg/graalvm/compiler/nodes/extended/ForeignCallNode;
            8   45     6                    next  Lorg/graalvm/compiler/nodes/FixedNode;
           12   45     7                wordSize  I
           13   45     8            localsOffset  I
           15   21     9                osrLocal  Lorg/graalvm/compiler/nodes/extended/OSRLocalNode;
           16   21    11                    size  I
           17   21    12                  offset  I
           18   21    13                 address  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
           19   21    14                    load  Lorg/graalvm/compiler/nodes/memory/ReadNode;
           23   45     9               lockCount  I
           24   45    10             locksOffset  I
           26   43    11         osrMonitorEnter  Lorg/graalvm/compiler/nodes/extended/OSRMonitorEnterNode;
           27   43    13               monitorID  Lorg/graalvm/compiler/nodes/java/MonitorIdNode;
           28   43    14                    lock  Lorg/graalvm/compiler/nodes/extended/OSRLockNode;
           29   43    15                   index  I
           30   43    16   offsetDisplacedHeader  I
           31   43    17        offsetLockObject  I
           32   43    18  addressDisplacedHeader  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
           33   43    19     loadDisplacedHeader  Lorg/graalvm/compiler/nodes/memory/ReadNode;
           35   43    20          beginLockScope  Lorg/graalvm/compiler/hotspot/nodes/BeginLockScopeNode;
           37   43    21    addressDisplacedMark  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
           38   43    22          writeStackSlot  Lorg/graalvm/compiler/nodes/memory/WriteNode;
           40   43    23       addressLockObject  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
           41   43    24              loadObject  Lorg/graalvm/compiler/nodes/memory/ReadNode;
    MethodParameters:
          Name  Flags
      osrStart  

  private void throwCachedException(org.graalvm.compiler.nodes.extended.BytecodeExceptionNode);
    descriptor: (Lorg/graalvm/compiler/nodes/extended/BytecodeExceptionNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider this
        start local 1 // org.graalvm.compiler.nodes.extended.BytecodeExceptionNode node
         0: .line 703
            getstatic jdk.vm.ci.services.Services.IS_IN_NATIVE_IMAGE:Z
            ifeq 2
         1: .line 704
            new java.lang.InternalError
            dup
            ldc "Can't throw exception from SVM object"
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 706
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider$Exceptions.cachedExceptions:Ljava/util/EnumMap;
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.nodes.extended.BytecodeExceptionNode.getExceptionKind:()Lorg/graalvm/compiler/nodes/extended/BytecodeExceptionNode$BytecodeExceptionKind;
            invokevirtual java.util.EnumMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Throwable
            astore 2 /* exception */
        start local 2 // java.lang.Throwable exception
         3: .line 707
            getstatic org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.$assertionsDisabled:Z
            ifne 4
            aload 2 /* exception */
            ifnonnull 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 709
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.nodes.extended.BytecodeExceptionNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 3 /* graph */
        start local 3 // org.graalvm.compiler.nodes.StructuredGraph graph
         5: .line 710
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.constantReflection:Ljdk/vm/ci/hotspot/HotSpotConstantReflectionProvider;
            aload 2 /* exception */
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantReflectionProvider.forObject:(Ljava/lang/Object;)Ljdk/vm/ci/meta/JavaConstant;
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.metaAccess:Ljdk/vm/ci/meta/MetaAccessProvider;
            aload 3 /* graph */
            invokestatic org.graalvm.compiler.nodes.ConstantNode.forConstant:(Ljdk/vm/ci/meta/JavaConstant;Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
            astore 4 /* exceptionNode */
        start local 4 // org.graalvm.compiler.nodes.calc.FloatingNode exceptionNode
         6: .line 711
            aload 3 /* graph */
            aload 1 /* node */
            aload 4 /* exceptionNode */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFloating:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
         7: .line 712
            return
        end local 4 // org.graalvm.compiler.nodes.calc.FloatingNode exceptionNode
        end local 3 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 2 // java.lang.Throwable exception
        end local 1 // org.graalvm.compiler.nodes.extended.BytecodeExceptionNode node
        end local 0 // org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    8     0           this  Lorg/graalvm/compiler/hotspot/meta/DefaultHotSpotLoweringProvider;
            0    8     1           node  Lorg/graalvm/compiler/nodes/extended/BytecodeExceptionNode;
            3    8     2      exception  Ljava/lang/Throwable;
            5    8     3          graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            6    8     4  exceptionNode  Lorg/graalvm/compiler/nodes/calc/FloatingNode;
    MethodParameters:
      Name  Flags
      node  

  private void lowerBytecodeExceptionNode(org.graalvm.compiler.nodes.extended.BytecodeExceptionNode);
    descriptor: (Lorg/graalvm/compiler/nodes/extended/BytecodeExceptionNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=5, args_size=2
        start local 0 // org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider this
        start local 1 // org.graalvm.compiler.nodes.extended.BytecodeExceptionNode node
         0: .line 715
            getstatic org.graalvm.compiler.core.common.GraalOptions.OmitHotExceptionStacktrace:Lorg/graalvm/compiler/options/OptionKey;
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.nodes.extended.BytecodeExceptionNode.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
            invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 3
         1: .line 716
            aload 0 /* this */
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.throwCachedException:(Lorg/graalvm/compiler/nodes/extended/BytecodeExceptionNode;)V
         2: .line 717
            return
         3: .line 720
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider$RuntimeCalls.runtimeCalls:Ljava/util/EnumMap;
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.nodes.extended.BytecodeExceptionNode.getExceptionKind:()Lorg/graalvm/compiler/nodes/extended/BytecodeExceptionNode$BytecodeExceptionKind;
            invokevirtual java.util.EnumMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.core.common.spi.ForeignCallDescriptor
            astore 2 /* descriptor */
        start local 2 // org.graalvm.compiler.core.common.spi.ForeignCallDescriptor descriptor
         4: .line 721
            getstatic org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.$assertionsDisabled:Z
            ifne 5
            aload 2 /* descriptor */
            ifnonnull 5
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 723
      StackMap locals: org.graalvm.compiler.core.common.spi.ForeignCallDescriptor
      StackMap stack:
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.nodes.extended.BytecodeExceptionNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 3 /* graph */
        start local 3 // org.graalvm.compiler.nodes.StructuredGraph graph
         6: .line 724
            aload 3 /* graph */
            new org.graalvm.compiler.nodes.extended.ForeignCallNode
            dup
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.foreignCalls:Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;
            aload 2 /* descriptor */
            aload 1 /* node */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.nodes.extended.BytecodeExceptionNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.nodes.extended.BytecodeExceptionNode.getArguments:()Lorg/graalvm/compiler/graph/NodeInputList;
            invokespecial org.graalvm.compiler.nodes.extended.ForeignCallNode.<init>:(Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;Lorg/graalvm/compiler/core/common/type/Stamp;Ljava/util/List;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.extended.ForeignCallNode
            astore 4 /* foreignCallNode */
        start local 4 // org.graalvm.compiler.nodes.extended.ForeignCallNode foreignCallNode
         7: .line 731
            aload 4 /* foreignCallNode */
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.nodes.extended.BytecodeExceptionNode.createStateDuring:()Lorg/graalvm/compiler/nodes/FrameState;
            invokevirtual org.graalvm.compiler.nodes.extended.ForeignCallNode.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
         8: .line 732
            aload 3 /* graph */
            aload 1 /* node */
            aload 4 /* foreignCallNode */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
         9: .line 733
            return
        end local 4 // org.graalvm.compiler.nodes.extended.ForeignCallNode foreignCallNode
        end local 3 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 2 // org.graalvm.compiler.core.common.spi.ForeignCallDescriptor descriptor
        end local 1 // org.graalvm.compiler.nodes.extended.BytecodeExceptionNode node
        end local 0 // org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   10     0             this  Lorg/graalvm/compiler/hotspot/meta/DefaultHotSpotLoweringProvider;
            0   10     1             node  Lorg/graalvm/compiler/nodes/extended/BytecodeExceptionNode;
            4   10     2       descriptor  Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
            6   10     3            graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            7   10     4  foreignCallNode  Lorg/graalvm/compiler/nodes/extended/ForeignCallNode;
    MethodParameters:
      Name  Flags
      node  

  private org.graalvm.compiler.nodes.memory.ReadNode createReadVirtualMethod(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.nodes.ValueNode, jdk.vm.ci.hotspot.HotSpotResolvedJavaMethod, jdk.vm.ci.meta.ResolvedJavaType);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaType;)Lorg/graalvm/compiler/nodes/memory/ReadNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider this
        start local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        start local 2 // org.graalvm.compiler.nodes.ValueNode hub
        start local 3 // jdk.vm.ci.hotspot.HotSpotResolvedJavaMethod method
        start local 4 // jdk.vm.ci.meta.ResolvedJavaType receiverType
         0: .line 736
            aload 0 /* this */
            aload 1 /* graph */
            aload 2 /* hub */
            aload 3 /* method */
            aload 4 /* receiverType */
            invokeinterface jdk.vm.ci.hotspot.HotSpotResolvedJavaMethod.vtableEntryOffset:(Ljdk/vm/ci/meta/ResolvedJavaType;)I
            invokevirtual org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.createReadVirtualMethod:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;I)Lorg/graalvm/compiler/nodes/memory/ReadNode;
            areturn
        end local 4 // jdk.vm.ci.meta.ResolvedJavaType receiverType
        end local 3 // jdk.vm.ci.hotspot.HotSpotResolvedJavaMethod method
        end local 2 // org.graalvm.compiler.nodes.ValueNode hub
        end local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 0 // org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/graalvm/compiler/hotspot/meta/DefaultHotSpotLoweringProvider;
            0    1     1         graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0    1     2           hub  Lorg/graalvm/compiler/nodes/ValueNode;
            0    1     3        method  Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethod;
            0    1     4  receiverType  Ljdk/vm/ci/meta/ResolvedJavaType;
    MethodParameters:
              Name  Flags
      graph         
      hub           
      method        
      receiverType  

  private org.graalvm.compiler.nodes.memory.ReadNode createReadVirtualMethod(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.nodes.ValueNode, int);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;I)Lorg/graalvm/compiler/nodes/memory/ReadNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=7, args_size=4
        start local 0 // org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider this
        start local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        start local 2 // org.graalvm.compiler.nodes.ValueNode hub
        start local 3 // int vtableEntryOffset
         0: .line 740
            getstatic org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.$assertionsDisabled:Z
            ifne 1
            iload 3 /* vtableEntryOffset */
            ifgt 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 743
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.hotspot.nodes.type.MethodPointerStamp.methodNonNull:()Lorg/graalvm/compiler/hotspot/nodes/type/MethodPointerStamp;
            astore 4 /* methodStamp */
        start local 4 // org.graalvm.compiler.core.common.type.Stamp methodStamp
         2: .line 744
            aload 0 /* this */
            aload 1 /* graph */
            aload 2 /* hub */
            iload 3 /* vtableEntryOffset */
            i2l
            invokevirtual org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.createOffsetAddress:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;J)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            astore 5 /* address */
        start local 5 // org.graalvm.compiler.nodes.memory.address.AddressNode address
         3: .line 745
            aload 1 /* graph */
            new org.graalvm.compiler.nodes.memory.ReadNode
            dup
            aload 5 /* address */
            invokestatic jdk.internal.vm.compiler.word.LocationIdentity.any:()Ljdk/internal/vm/compiler/word/LocationIdentity;
            aload 4 /* methodStamp */
            getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            invokespecial org.graalvm.compiler.nodes.memory.ReadNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.memory.ReadNode
            astore 6 /* metaspaceMethod */
        start local 6 // org.graalvm.compiler.nodes.memory.ReadNode metaspaceMethod
         4: .line 746
            aload 6 /* metaspaceMethod */
            areturn
        end local 6 // org.graalvm.compiler.nodes.memory.ReadNode metaspaceMethod
        end local 5 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        end local 4 // org.graalvm.compiler.core.common.type.Stamp methodStamp
        end local 3 // int vtableEntryOffset
        end local 2 // org.graalvm.compiler.nodes.ValueNode hub
        end local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 0 // org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    5     0               this  Lorg/graalvm/compiler/hotspot/meta/DefaultHotSpotLoweringProvider;
            0    5     1              graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0    5     2                hub  Lorg/graalvm/compiler/nodes/ValueNode;
            0    5     3  vtableEntryOffset  I
            2    5     4        methodStamp  Lorg/graalvm/compiler/core/common/type/Stamp;
            3    5     5            address  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            4    5     6    metaspaceMethod  Lorg/graalvm/compiler/nodes/memory/ReadNode;
    MethodParameters:
                   Name  Flags
      graph              
      hub                
      vtableEntryOffset  

  protected org.graalvm.compiler.nodes.ValueNode createReadHub(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.spi.LoweringTool);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=9, locals=8, args_size=4
        start local 0 // org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider this
        start local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        start local 2 // org.graalvm.compiler.nodes.ValueNode object
        start local 3 // org.graalvm.compiler.nodes.spi.LoweringTool tool
         0: .line 751
            aload 3 /* tool */
            invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.getLoweringStage:()Lorg/graalvm/compiler/nodes/spi/LoweringTool$LoweringStage;
            getstatic org.graalvm.compiler.nodes.spi.LoweringTool$StandardLoweringStage.LOW_TIER:Lorg/graalvm/compiler/nodes/spi/LoweringTool$StandardLoweringStage;
            if_acmpeq 2
         1: .line 752
            aload 1 /* graph */
            new org.graalvm.compiler.nodes.extended.LoadHubNode
            dup
            aload 3 /* tool */
            invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.getStampProvider:()Lorg/graalvm/compiler/nodes/spi/StampProvider;
            aload 2 /* object */
            invokespecial org.graalvm.compiler.nodes.extended.LoadHubNode.<init>:(Lorg/graalvm/compiler/nodes/spi/StampProvider;Lorg/graalvm/compiler/nodes/ValueNode;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.ValueNode
            areturn
         2: .line 754
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.$assertionsDisabled:Z
            ifne 3
            aload 2 /* object */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifeq 3
            aload 2 /* object */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isNullConstant:()Z
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 756
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.hotspot.nodes.type.KlassPointerStamp.klassNonNull:()Lorg/graalvm/compiler/hotspot/nodes/type/KlassPointerStamp;
            astore 4 /* hubStamp */
        start local 4 // org.graalvm.compiler.hotspot.nodes.type.KlassPointerStamp hubStamp
         4: .line 757
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.runtime:Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
            invokeinterface org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider.getVMConfig:()Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.useCompressedClassPointers:Z
            ifeq 6
         5: .line 758
            aload 4 /* hubStamp */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.runtime:Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
            invokeinterface org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider.getVMConfig:()Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            invokevirtual org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.getKlassEncoding:()Lorg/graalvm/compiler/core/common/CompressEncoding;
            invokevirtual org.graalvm.compiler.hotspot.nodes.type.KlassPointerStamp.compressed:(Lorg/graalvm/compiler/core/common/CompressEncoding;)Lorg/graalvm/compiler/hotspot/nodes/type/KlassPointerStamp;
            astore 4 /* hubStamp */
         6: .line 761
      StackMap locals: org.graalvm.compiler.hotspot.nodes.type.KlassPointerStamp
      StackMap stack:
            aload 0 /* this */
            aload 1 /* graph */
            aload 2 /* object */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.runtime:Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
            invokeinterface org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider.getVMConfig:()Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.hubOffset:I
            i2l
            invokevirtual org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.createOffsetAddress:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;J)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            astore 5 /* address */
        start local 5 // org.graalvm.compiler.nodes.memory.address.AddressNode address
         7: .line 762
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.runtime:Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
            invokeinterface org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider.getVMConfig:()Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.useCompressedClassPointers:Z
            ifeq 8
            getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.COMPRESSED_HUB_LOCATION:Ljdk/internal/vm/compiler/word/LocationIdentity;
            goto 9
      StackMap locals: org.graalvm.compiler.nodes.memory.address.AddressNode
      StackMap stack:
         8: getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.HUB_LOCATION:Ljdk/internal/vm/compiler/word/LocationIdentity;
      StackMap locals:
      StackMap stack: jdk.internal.vm.compiler.word.LocationIdentity
         9: astore 6 /* hubLocation */
        start local 6 // jdk.internal.vm.compiler.word.LocationIdentity hubLocation
        10: .line 763
            aload 1 /* graph */
            new org.graalvm.compiler.nodes.memory.FloatingReadNode
            dup
            aload 5 /* address */
            aload 6 /* hubLocation */
            aconst_null
            aload 4 /* hubStamp */
            aconst_null
            getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            invokespecial org.graalvm.compiler.nodes.memory.FloatingReadNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/nodes/memory/MemoryNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/extended/GuardingNode;Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.memory.FloatingReadNode
            astore 7 /* memoryRead */
        start local 7 // org.graalvm.compiler.nodes.memory.FloatingReadNode memoryRead
        11: .line 764
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.runtime:Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
            invokeinterface org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider.getVMConfig:()Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.useCompressedClassPointers:Z
            ifeq 13
        12: .line 765
            aload 7 /* memoryRead */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.runtime:Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
            invokeinterface org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider.getVMConfig:()Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            invokevirtual org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.getKlassEncoding:()Lorg/graalvm/compiler/core/common/CompressEncoding;
            invokestatic org.graalvm.compiler.hotspot.nodes.HotSpotCompressionNode.uncompress:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/CompressEncoding;)Lorg/graalvm/compiler/nodes/CompressionNode;
            areturn
        13: .line 767
      StackMap locals: jdk.internal.vm.compiler.word.LocationIdentity org.graalvm.compiler.nodes.memory.FloatingReadNode
      StackMap stack:
            aload 7 /* memoryRead */
            areturn
        end local 7 // org.graalvm.compiler.nodes.memory.FloatingReadNode memoryRead
        end local 6 // jdk.internal.vm.compiler.word.LocationIdentity hubLocation
        end local 5 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        end local 4 // org.graalvm.compiler.hotspot.nodes.type.KlassPointerStamp hubStamp
        end local 3 // org.graalvm.compiler.nodes.spi.LoweringTool tool
        end local 2 // org.graalvm.compiler.nodes.ValueNode object
        end local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 0 // org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   14     0         this  Lorg/graalvm/compiler/hotspot/meta/DefaultHotSpotLoweringProvider;
            0   14     1        graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0   14     2       object  Lorg/graalvm/compiler/nodes/ValueNode;
            0   14     3         tool  Lorg/graalvm/compiler/nodes/spi/LoweringTool;
            4   14     4     hubStamp  Lorg/graalvm/compiler/hotspot/nodes/type/KlassPointerStamp;
            7   14     5      address  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
           10   14     6  hubLocation  Ljdk/internal/vm/compiler/word/LocationIdentity;
           11   14     7   memoryRead  Lorg/graalvm/compiler/nodes/memory/FloatingReadNode;
    MethodParameters:
        Name  Flags
      graph   
      object  
      tool    

  private org.graalvm.compiler.nodes.memory.WriteNode createWriteHub(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/memory/WriteNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=6, args_size=4
        start local 0 // org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider this
        start local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        start local 2 // org.graalvm.compiler.nodes.ValueNode object
        start local 3 // org.graalvm.compiler.nodes.ValueNode value
         0: .line 772
            getstatic org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.$assertionsDisabled:Z
            ifne 1
            aload 2 /* object */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifeq 1
            aload 2 /* object */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.asConstant:()Ljdk/vm/ci/meta/Constant;
            invokeinterface jdk.vm.ci.meta.Constant.isDefaultForKind:()Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 774
      StackMap locals:
      StackMap stack:
            aload 3 /* value */
            astore 4 /* writeValue */
        start local 4 // org.graalvm.compiler.nodes.ValueNode writeValue
         2: .line 775
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.runtime:Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
            invokeinterface org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider.getVMConfig:()Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.useCompressedClassPointers:Z
            ifeq 4
         3: .line 776
            aload 3 /* value */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.runtime:Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
            invokeinterface org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider.getVMConfig:()Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            invokevirtual org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.getKlassEncoding:()Lorg/graalvm/compiler/core/common/CompressEncoding;
            invokestatic org.graalvm.compiler.hotspot.nodes.HotSpotCompressionNode.compress:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/CompressEncoding;)Lorg/graalvm/compiler/hotspot/nodes/HotSpotCompressionNode;
            astore 4 /* writeValue */
         4: .line 779
      StackMap locals: org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 0 /* this */
            aload 1 /* graph */
            aload 2 /* object */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.runtime:Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
            invokeinterface org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider.getVMConfig:()Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.hubOffset:I
            i2l
            invokevirtual org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.createOffsetAddress:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;J)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            astore 5 /* address */
        start local 5 // org.graalvm.compiler.nodes.memory.address.AddressNode address
         5: .line 780
            aload 1 /* graph */
            new org.graalvm.compiler.nodes.memory.WriteNode
            dup
            aload 5 /* address */
            getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.HUB_WRITE_LOCATION:Ljdk/internal/vm/compiler/word/LocationIdentity;
            aload 4 /* writeValue */
            getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            iconst_0
            invokespecial org.graalvm.compiler.nodes.memory.WriteNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;Z)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.memory.WriteNode
            areturn
        end local 5 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        end local 4 // org.graalvm.compiler.nodes.ValueNode writeValue
        end local 3 // org.graalvm.compiler.nodes.ValueNode value
        end local 2 // org.graalvm.compiler.nodes.ValueNode object
        end local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 0 // org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lorg/graalvm/compiler/hotspot/meta/DefaultHotSpotLoweringProvider;
            0    6     1       graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0    6     2      object  Lorg/graalvm/compiler/nodes/ValueNode;
            0    6     3       value  Lorg/graalvm/compiler/nodes/ValueNode;
            2    6     4  writeValue  Lorg/graalvm/compiler/nodes/ValueNode;
            5    6     5     address  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
    MethodParameters:
        Name  Flags
      graph   
      object  
      value   

  protected org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType fieldLoadBarrierType(jdk.vm.ci.meta.ResolvedJavaField);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaField;)Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider this
        start local 1 // jdk.vm.ci.meta.ResolvedJavaField f
         0: .line 785
            aload 1 /* f */
            checkcast jdk.vm.ci.hotspot.HotSpotResolvedJavaField
            astore 2 /* loadField */
        start local 2 // jdk.vm.ci.hotspot.HotSpotResolvedJavaField loadField
         1: .line 786
            aload 2 /* loadField */
            invokeinterface jdk.vm.ci.hotspot.HotSpotResolvedJavaField.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 4
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.metaAccess:Ljdk/vm/ci/meta/MetaAccessProvider;
            ldc Ljava/lang/ref/Reference;
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
            aload 2 /* loadField */
            invokeinterface jdk.vm.ci.hotspot.HotSpotResolvedJavaField.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 4
         2: .line 787
            aload 2 /* loadField */
            invokeinterface jdk.vm.ci.hotspot.HotSpotResolvedJavaField.getName:()Ljava/lang/String;
            ldc "referent"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 788
            getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.WEAK_FIELD:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            areturn
         4: .line 790
      StackMap locals: jdk.vm.ci.hotspot.HotSpotResolvedJavaField
      StackMap stack:
            aload 0 /* this */
            aload 1 /* f */
            invokespecial org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.fieldLoadBarrierType:(Ljdk/vm/ci/meta/ResolvedJavaField;)Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            areturn
        end local 2 // jdk.vm.ci.hotspot.HotSpotResolvedJavaField loadField
        end local 1 // jdk.vm.ci.meta.ResolvedJavaField f
        end local 0 // org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lorg/graalvm/compiler/hotspot/meta/DefaultHotSpotLoweringProvider;
            0    5     1          f  Ljdk/vm/ci/meta/ResolvedJavaField;
            1    5     2  loadField  Ljdk/vm/ci/hotspot/HotSpotResolvedJavaField;
    MethodParameters:
      Name  Flags
      f     

  public int fieldOffset(jdk.vm.ci.meta.ResolvedJavaField);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaField;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider this
        start local 1 // jdk.vm.ci.meta.ResolvedJavaField f
         0: .line 795
            aload 1 /* f */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaField.getOffset:()I
            ireturn
        end local 1 // jdk.vm.ci.meta.ResolvedJavaField f
        end local 0 // org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/meta/DefaultHotSpotLoweringProvider;
            0    1     1     f  Ljdk/vm/ci/meta/ResolvedJavaField;
    MethodParameters:
      Name  Flags
      f     

  public int arrayLengthOffset();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider this
         0: .line 800
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.runtime:Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
            invokeinterface org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider.getVMConfig:()Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            invokevirtual org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.arrayOopDescLengthOffset:()I
            ireturn
        end local 0 // org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/meta/DefaultHotSpotLoweringProvider;

  protected final jdk.vm.ci.meta.JavaKind getStorageKind(jdk.vm.ci.meta.ResolvedJavaField);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaField;)Ljdk/vm/ci/meta/JavaKind;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider this
        start local 1 // jdk.vm.ci.meta.ResolvedJavaField field
         0: .line 805
            aload 1 /* field */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaField.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            areturn
        end local 1 // jdk.vm.ci.meta.ResolvedJavaField field
        end local 0 // org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/graalvm/compiler/hotspot/meta/DefaultHotSpotLoweringProvider;
            0    1     1  field  Ljdk/vm/ci/meta/ResolvedJavaField;
    MethodParameters:
       Name  Flags
      field  

  public org.graalvm.compiler.hotspot.replacements.ObjectCloneSnippets$Templates getObjectCloneSnippets();
    descriptor: ()Lorg/graalvm/compiler/hotspot/replacements/ObjectCloneSnippets$Templates;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider this
         0: .line 810
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.objectCloneSnippets:Lorg/graalvm/compiler/hotspot/replacements/ObjectCloneSnippets$Templates;
            areturn
        end local 0 // org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/meta/DefaultHotSpotLoweringProvider;

  public org.graalvm.compiler.hotspot.stubs.ForeignCallSnippets$Templates getForeignCallSnippets();
    descriptor: ()Lorg/graalvm/compiler/hotspot/stubs/ForeignCallSnippets$Templates;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider this
         0: .line 815
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.foreignCallSnippets:Lorg/graalvm/compiler/hotspot/stubs/ForeignCallSnippets$Templates;
            areturn
        end local 0 // org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/meta/DefaultHotSpotLoweringProvider;
}
SourceFile: "DefaultHotSpotLoweringProvider.java"
NestMembers:
  org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider$Exceptions  org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider$RuntimeCalls
InnerClasses:
  public abstract Type = jdk.vm.ci.code.CallingConvention$Type of jdk.vm.ci.code.CallingConvention
  public abstract ValueNumberable = org.graalvm.compiler.graph.Node$ValueNumberable of org.graalvm.compiler.graph.Node
  final Exceptions = org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider$Exceptions of org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider
  public final RuntimeCalls = org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider$RuntimeCalls of org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider
  public Templates = org.graalvm.compiler.hotspot.replacements.AssertionSnippets$Templates of org.graalvm.compiler.hotspot.replacements.AssertionSnippets
  public Templates = org.graalvm.compiler.hotspot.replacements.HashCodeSnippets$Templates of org.graalvm.compiler.hotspot.replacements.HashCodeSnippets
  public Templates = org.graalvm.compiler.hotspot.replacements.HotSpotG1WriteBarrierSnippets$Templates of org.graalvm.compiler.hotspot.replacements.HotSpotG1WriteBarrierSnippets
  public Templates = org.graalvm.compiler.hotspot.replacements.HotSpotSerialWriteBarrierSnippets$Templates of org.graalvm.compiler.hotspot.replacements.HotSpotSerialWriteBarrierSnippets
  public Templates = org.graalvm.compiler.hotspot.replacements.InstanceOfSnippets$Templates of org.graalvm.compiler.hotspot.replacements.InstanceOfSnippets
  public Templates = org.graalvm.compiler.hotspot.replacements.LoadExceptionObjectSnippets$Templates of org.graalvm.compiler.hotspot.replacements.LoadExceptionObjectSnippets
  public Templates = org.graalvm.compiler.hotspot.replacements.MonitorSnippets$Templates of org.graalvm.compiler.hotspot.replacements.MonitorSnippets
  public Templates = org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates of org.graalvm.compiler.hotspot.replacements.NewObjectSnippets
  public Templates = org.graalvm.compiler.hotspot.replacements.ObjectCloneSnippets$Templates of org.graalvm.compiler.hotspot.replacements.ObjectCloneSnippets
  public Templates = org.graalvm.compiler.hotspot.replacements.ObjectSnippets$Templates of org.graalvm.compiler.hotspot.replacements.ObjectSnippets
  public Templates = org.graalvm.compiler.hotspot.replacements.StringToBytesSnippets$Templates of org.graalvm.compiler.hotspot.replacements.StringToBytesSnippets
  public Templates = org.graalvm.compiler.hotspot.replacements.UnsafeLoadSnippets$Templates of org.graalvm.compiler.hotspot.replacements.UnsafeLoadSnippets
  public Templates = org.graalvm.compiler.hotspot.replacements.UnsafeSnippets$Templates of org.graalvm.compiler.hotspot.replacements.UnsafeSnippets
  public Templates = org.graalvm.compiler.hotspot.replacements.aot.ResolveConstantSnippets$Templates of org.graalvm.compiler.hotspot.replacements.aot.ResolveConstantSnippets
  public Templates = org.graalvm.compiler.hotspot.replacements.profiling.ProfileSnippets$Templates of org.graalvm.compiler.hotspot.replacements.profiling.ProfileSnippets
  public Templates = org.graalvm.compiler.hotspot.stubs.ForeignCallSnippets$Templates of org.graalvm.compiler.hotspot.stubs.ForeignCallSnippets
  public final InvokeKind = org.graalvm.compiler.nodes.CallTargetNode$InvokeKind of org.graalvm.compiler.nodes.CallTargetNode
  public final CompressionOp = org.graalvm.compiler.nodes.CompressionNode$CompressionOp of org.graalvm.compiler.nodes.CompressionNode
  public final GuardsStage = org.graalvm.compiler.nodes.StructuredGraph$GuardsStage of org.graalvm.compiler.nodes.StructuredGraph
  public final BytecodeExceptionKind = org.graalvm.compiler.nodes.extended.BytecodeExceptionNode$BytecodeExceptionKind of org.graalvm.compiler.nodes.extended.BytecodeExceptionNode
  public final BarrierType = org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType of org.graalvm.compiler.nodes.memory.HeapAccess
  public abstract LoweringStage = org.graalvm.compiler.nodes.spi.LoweringTool$LoweringStage of org.graalvm.compiler.nodes.spi.LoweringTool
  public final StandardLoweringStage = org.graalvm.compiler.nodes.spi.LoweringTool$StandardLoweringStage of org.graalvm.compiler.nodes.spi.LoweringTool
  public Group = org.graalvm.compiler.replacements.SnippetCounter$Group of org.graalvm.compiler.replacements.SnippetCounter
  public abstract Factory = org.graalvm.compiler.replacements.SnippetCounter$Group$Factory of org.graalvm.compiler.replacements.SnippetCounter$Group
  public Templates = org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates of org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets