public 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: (0x0021) ACC_PUBLIC, ACC_SUPER
  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.WriteBarrierSnippets$Templates writeBarrierSnippets;
    descriptor: Lorg/graalvm/compiler/hotspot/replacements/WriteBarrierSnippets$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.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates arraycopySnippets;
    descriptor: Lorg/graalvm/compiler/hotspot/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

  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 175
            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 196
            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 197
            aload 0 /* this */
            aload 1 /* runtime */
            putfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.runtime:Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
         2: .line 198
            aload 0 /* this */
            aload 4 /* registers */
            putfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.registers:Lorg/graalvm/compiler/hotspot/meta/HotSpotRegistersProvider;
         3: .line 199
            aload 0 /* this */
            aload 5 /* constantReflection */
            putfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.constantReflection:Ljdk/vm/ci/hotspot/HotSpotConstantReflectionProvider;
         4: .line 200
            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=9, 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 204
            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 206
            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 207
      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 208
            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 209
            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 210
            aload 0 /* this */
         6: new org.graalvm.compiler.hotspot.replacements.WriteBarrierSnippets$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.useCompressedOops:Z
            ifeq 7
            aload 4 /* config */
            invokevirtual org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.getOopEncoding:()Lorg/graalvm/compiler/core/common/CompressEncoding;
            goto 8
      StackMap locals: org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider org.graalvm.compiler.options.OptionValues java.lang.Iterable org.graalvm.compiler.hotspot.meta.HotSpotProviders org.graalvm.compiler.hotspot.GraalHotSpotVMConfig
      StackMap stack: org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider new 6 new 6 org.graalvm.compiler.options.OptionValues java.lang.Iterable org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider org.graalvm.compiler.hotspot.meta.HotSpotProviders jdk.vm.ci.code.TargetDescription
         7: aconst_null
      StackMap locals: org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider org.graalvm.compiler.options.OptionValues java.lang.Iterable org.graalvm.compiler.hotspot.meta.HotSpotProviders org.graalvm.compiler.hotspot.GraalHotSpotVMConfig
      StackMap stack: org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider new 6 new 6 org.graalvm.compiler.options.OptionValues java.lang.Iterable org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider org.graalvm.compiler.hotspot.meta.HotSpotProviders jdk.vm.ci.code.TargetDescription org.graalvm.compiler.core.common.CompressEncoding
         8: invokespecial org.graalvm.compiler.hotspot.replacements.WriteBarrierSnippets$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/core/common/CompressEncoding;)V
            putfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.writeBarrierSnippets:Lorg/graalvm/compiler/hotspot/replacements/WriteBarrierSnippets$Templates;
         9: .line 211
            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;
        10: .line 212
            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;
        11: .line 213
            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;
        12: .line 214
            aload 0 /* this */
            new org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$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.arraycopy.ArrayCopySnippets$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.arraycopySnippets:Lorg/graalvm/compiler/hotspot/replacements/arraycopy/ArrayCopySnippets$Templates;
        13: .line 215
            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;
        14: .line 216
            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;
        15: .line 217
            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;
        16: .line 218
            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;
        17: .line 219
            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   18     0       this  Lorg/graalvm/compiler/hotspot/meta/DefaultHotSpotLoweringProvider;
            0   18     1    options  Lorg/graalvm/compiler/options/OptionValues;
            0   18     2  factories  Ljava/lang/Iterable<Lorg/graalvm/compiler/debug/DebugHandlersFactory;>;
            0   18     3  providers  Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
            0   18     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.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 222
            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=9, 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 227
            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 228
            aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.Invoke
            ifeq 4
         2: .line 229
            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
         3: .line 230
            goto 168
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph
      StackMap stack:
         4: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.extended.LoadMethodNode
            ifeq 7
         5: .line 231
            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
         6: .line 232
            goto 168
      StackMap locals:
      StackMap stack:
         7: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.extended.GetClassNode
            ifeq 10
         8: .line 233
            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
         9: .line 234
            goto 168
      StackMap locals:
      StackMap stack:
        10: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.extended.StoreHubNode
            ifeq 13
        11: .line 235
            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
        12: .line 236
            goto 168
      StackMap locals:
      StackMap stack:
        13: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.extended.OSRStartNode
            ifeq 16
        14: .line 237
            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
        15: .line 238
            goto 168
      StackMap locals:
      StackMap stack:
        16: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.extended.BytecodeExceptionNode
            ifeq 19
        17: .line 239
            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
        18: .line 240
            goto 168
      StackMap locals:
      StackMap stack:
        19: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.java.InstanceOfNode
            ifeq 30
        20: .line 241
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.java.InstanceOfNode
            astore 4 /* instanceOfNode */
        start local 4 // org.graalvm.compiler.nodes.java.InstanceOfNode instanceOfNode
        21: .line 242
            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 24
        22: .line 243
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.instanceofSnippets:Lorg/graalvm/compiler/hotspot/replacements/InstanceOfSnippets$Templates;
            aload 4 /* 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
        23: .line 244
            goto 168
        24: .line 245
      StackMap locals: org.graalvm.compiler.nodes.java.InstanceOfNode
      StackMap stack:
            aload 4 /* instanceOfNode */
            invokevirtual org.graalvm.compiler.nodes.java.InstanceOfNode.allowsNull:()Z
            ifeq 168
        25: .line 246
            aload 4 /* instanceOfNode */
            invokevirtual org.graalvm.compiler.nodes.java.InstanceOfNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 5 /* object */
        start local 5 // org.graalvm.compiler.nodes.ValueNode object
        26: .line 247
            aload 3 /* graph */
            aload 4 /* instanceOfNode */
            invokevirtual org.graalvm.compiler.nodes.java.InstanceOfNode.type:()Lorg/graalvm/compiler/core/common/type/TypeReference;
            aload 5 /* object */
            aload 4 /* instanceOfNode */
            invokevirtual org.graalvm.compiler.nodes.java.InstanceOfNode.profile:()Ljdk/vm/ci/meta/JavaTypeProfile;
            aload 4 /* 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 6 /* newTypeCheck */
        start local 6 // org.graalvm.compiler.nodes.LogicNode newTypeCheck
        27: .line 248
            aload 3 /* graph */
            aload 5 /* 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 6 /* 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 7 /* newNode */
        start local 7 // org.graalvm.compiler.nodes.LogicNode newNode
        28: .line 249
            aload 4 /* instanceOfNode */
            aload 7 /* newNode */
            invokevirtual org.graalvm.compiler.nodes.java.InstanceOfNode.replaceAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
        end local 7 // org.graalvm.compiler.nodes.LogicNode newNode
        end local 6 // org.graalvm.compiler.nodes.LogicNode newTypeCheck
        end local 5 // org.graalvm.compiler.nodes.ValueNode object
        end local 4 // org.graalvm.compiler.nodes.java.InstanceOfNode instanceOfNode
        29: .line 252
            goto 168
      StackMap locals:
      StackMap stack:
        30: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.java.InstanceOfDynamicNode
            ifeq 47
        31: .line 253
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.java.InstanceOfDynamicNode
            astore 4 /* instanceOfDynamicNode */
        start local 4 // org.graalvm.compiler.nodes.java.InstanceOfDynamicNode instanceOfDynamicNode
        32: .line 254
            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 35
        33: .line 255
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.instanceofSnippets:Lorg/graalvm/compiler/hotspot/replacements/InstanceOfSnippets$Templates;
            aload 4 /* 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
        34: .line 256
            goto 168
        35: .line 257
      StackMap locals: org.graalvm.compiler.nodes.java.InstanceOfDynamicNode
      StackMap stack:
            aload 4 /* instanceOfDynamicNode */
            invokevirtual org.graalvm.compiler.nodes.java.InstanceOfDynamicNode.getMirrorOrHub:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 5 /* mirror */
        start local 5 // org.graalvm.compiler.nodes.ValueNode mirror
        36: .line 258
            aload 5 /* 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 39
        37: .line 259
            aload 3 /* graph */
            new org.graalvm.compiler.hotspot.replacements.ClassGetHubNode
            dup
            aload 5 /* 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 6 /* classGetHub */
        start local 6 // org.graalvm.compiler.hotspot.replacements.ClassGetHubNode classGetHub
        38: .line 260
            aload 4 /* instanceOfDynamicNode */
            aload 6 /* classGetHub */
            invokevirtual org.graalvm.compiler.nodes.java.InstanceOfDynamicNode.setMirror:(Lorg/graalvm/compiler/nodes/ValueNode;)V
        end local 6 // org.graalvm.compiler.hotspot.replacements.ClassGetHubNode classGetHub
        39: .line 263
      StackMap locals: org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 4 /* instanceOfDynamicNode */
            invokevirtual org.graalvm.compiler.nodes.java.InstanceOfDynamicNode.allowsNull:()Z
            ifeq 168
        40: .line 264
            aload 4 /* instanceOfDynamicNode */
            invokevirtual org.graalvm.compiler.nodes.java.InstanceOfDynamicNode.getObject:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 6 /* object */
        start local 6 // org.graalvm.compiler.nodes.ValueNode object
        41: .line 265
            aload 3 /* graph */
        42: .line 266
            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 4 /* instanceOfDynamicNode */
            invokevirtual org.graalvm.compiler.nodes.java.InstanceOfDynamicNode.getMirrorOrHub:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 6 /* 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;
        43: .line 265
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addOrUniqueWithInputs:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.LogicNode
            astore 7 /* newTypeCheck */
        start local 7 // org.graalvm.compiler.nodes.LogicNode newTypeCheck
        44: .line 267
            aload 3 /* graph */
            aload 6 /* 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 7 /* 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 8 /* newNode */
        start local 8 // org.graalvm.compiler.nodes.LogicNode newNode
        45: .line 268
            aload 4 /* instanceOfDynamicNode */
            aload 8 /* newNode */
            invokevirtual org.graalvm.compiler.nodes.java.InstanceOfDynamicNode.replaceAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
        end local 8 // org.graalvm.compiler.nodes.LogicNode newNode
        end local 7 // org.graalvm.compiler.nodes.LogicNode newTypeCheck
        end local 6 // org.graalvm.compiler.nodes.ValueNode object
        end local 5 // org.graalvm.compiler.nodes.ValueNode mirror
        end local 4 // org.graalvm.compiler.nodes.java.InstanceOfDynamicNode instanceOfDynamicNode
        46: .line 271
            goto 168
      StackMap locals:
      StackMap stack:
        47: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.java.ClassIsAssignableFromNode
            ifeq 51
        48: .line 272
            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 168
        49: .line 273
            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
        50: .line 275
            goto 168
      StackMap locals:
      StackMap stack:
        51: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.java.NewInstanceNode
            ifeq 55
        52: .line 276
            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 168
        53: .line 277
            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
        54: .line 279
            goto 168
      StackMap locals:
      StackMap stack:
        55: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.java.DynamicNewInstanceNode
            ifeq 64
        56: .line 280
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.java.DynamicNewInstanceNode
            astore 4 /* newInstanceNode */
        start local 4 // org.graalvm.compiler.nodes.java.DynamicNewInstanceNode newInstanceNode
        57: .line 281
            aload 4 /* newInstanceNode */
            invokevirtual org.graalvm.compiler.nodes.java.DynamicNewInstanceNode.getClassClass:()Lorg/graalvm/compiler/nodes/ValueNode;
            ifnonnull 61
        58: .line 282
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.constantReflection:Ljdk/vm/ci/hotspot/HotSpotConstantReflectionProvider;
            ldc Ljava/lang/Class;
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantReflectionProvider.forObject:(Ljava/lang/Object;)Ljdk/vm/ci/meta/JavaConstant;
            astore 5 /* classClassMirror */
        start local 5 // jdk.vm.ci.meta.JavaConstant classClassMirror
        59: .line 283
            aload 5 /* 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 6 /* classClass */
        start local 6 // org.graalvm.compiler.nodes.ConstantNode classClass
        60: .line 284
            aload 4 /* newInstanceNode */
            aload 6 /* classClass */
            invokevirtual org.graalvm.compiler.nodes.java.DynamicNewInstanceNode.setClassClass:(Lorg/graalvm/compiler/nodes/ValueNode;)V
        end local 6 // org.graalvm.compiler.nodes.ConstantNode classClass
        end local 5 // jdk.vm.ci.meta.JavaConstant classClassMirror
        61: .line 286
      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 168
        62: .line 287
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.newObjectSnippets:Lorg/graalvm/compiler/hotspot/replacements/NewObjectSnippets$Templates;
            aload 4 /* 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 4 // org.graalvm.compiler.nodes.java.DynamicNewInstanceNode newInstanceNode
        63: .line 289
            goto 168
      StackMap locals:
      StackMap stack:
        64: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.java.NewArrayNode
            ifeq 68
        65: .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.areFrameStatesAtDeopts:()Z
            ifeq 168
        66: .line 291
            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
        67: .line 293
            goto 168
      StackMap locals:
      StackMap stack:
        68: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.java.DynamicNewArrayNode
            ifeq 77
        69: .line 294
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.java.DynamicNewArrayNode
            astore 4 /* dynamicNewArrayNode */
        start local 4 // org.graalvm.compiler.nodes.java.DynamicNewArrayNode dynamicNewArrayNode
        70: .line 295
            aload 4 /* dynamicNewArrayNode */
            invokevirtual org.graalvm.compiler.nodes.java.DynamicNewArrayNode.getVoidClass:()Lorg/graalvm/compiler/nodes/ValueNode;
            ifnonnull 74
        71: .line 296
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.constantReflection:Ljdk/vm/ci/hotspot/HotSpotConstantReflectionProvider;
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantReflectionProvider.forObject:(Ljava/lang/Object;)Ljdk/vm/ci/meta/JavaConstant;
            astore 5 /* voidClassMirror */
        start local 5 // jdk.vm.ci.meta.JavaConstant voidClassMirror
        72: .line 297
            aload 5 /* 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 6 /* voidClass */
        start local 6 // org.graalvm.compiler.nodes.ConstantNode voidClass
        73: .line 298
            aload 4 /* dynamicNewArrayNode */
            aload 6 /* voidClass */
            invokevirtual org.graalvm.compiler.nodes.java.DynamicNewArrayNode.setVoidClass:(Lorg/graalvm/compiler/nodes/ValueNode;)V
        end local 6 // org.graalvm.compiler.nodes.ConstantNode voidClass
        end local 5 // jdk.vm.ci.meta.JavaConstant voidClassMirror
        74: .line 300
      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 168
        75: .line 301
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.newObjectSnippets:Lorg/graalvm/compiler/hotspot/replacements/NewObjectSnippets$Templates;
            aload 4 /* 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 4 // org.graalvm.compiler.nodes.java.DynamicNewArrayNode dynamicNewArrayNode
        76: .line 303
            goto 168
      StackMap locals:
      StackMap stack:
        77: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.debug.VerifyHeapNode
            ifeq 81
        78: .line 304
            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 168
        79: .line 305
            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
        80: .line 307
            goto 168
      StackMap locals:
      StackMap stack:
        81: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.java.RawMonitorEnterNode
            ifeq 85
        82: .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.areFrameStatesAtDeopts:()Z
            ifeq 168
        83: .line 309
            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
        84: .line 311
            goto 168
      StackMap locals:
      StackMap stack:
        85: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.java.MonitorExitNode
            ifeq 89
        86: .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 168
        87: .line 313
            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
        88: .line 315
            goto 168
      StackMap locals:
      StackMap stack:
        89: aload 1 /* n */
            instanceof org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopyNode
            ifeq 92
        90: .line 316
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.arraycopySnippets:Lorg/graalvm/compiler/hotspot/replacements/arraycopy/ArrayCopySnippets$Templates;
            aload 1 /* n */
            checkcast org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopyNode
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates.lower:(Lorg/graalvm/compiler/hotspot/replacements/arraycopy/ArrayCopyNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
        91: .line 317
            goto 168
      StackMap locals:
      StackMap stack:
        92: aload 1 /* n */
            instanceof org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopyWithSlowPathNode
            ifeq 95
        93: .line 318
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.arraycopySnippets:Lorg/graalvm/compiler/hotspot/replacements/arraycopy/ArrayCopySnippets$Templates;
            aload 1 /* n */
            checkcast org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopyWithSlowPathNode
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates.lower:(Lorg/graalvm/compiler/hotspot/replacements/arraycopy/ArrayCopyWithSlowPathNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
        94: .line 319
            goto 168
      StackMap locals:
      StackMap stack:
        95: aload 1 /* n */
            instanceof org.graalvm.compiler.hotspot.nodes.G1PreWriteBarrier
            ifeq 98
        96: .line 320
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.writeBarrierSnippets:Lorg/graalvm/compiler/hotspot/replacements/WriteBarrierSnippets$Templates;
            aload 1 /* n */
            checkcast org.graalvm.compiler.hotspot.nodes.G1PreWriteBarrier
            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.WriteBarrierSnippets$Templates.lower:(Lorg/graalvm/compiler/hotspot/nodes/G1PreWriteBarrier;Lorg/graalvm/compiler/hotspot/meta/HotSpotRegistersProvider;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
        97: .line 321
            goto 168
      StackMap locals:
      StackMap stack:
        98: aload 1 /* n */
            instanceof org.graalvm.compiler.hotspot.nodes.G1PostWriteBarrier
            ifeq 101
        99: .line 322
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.writeBarrierSnippets:Lorg/graalvm/compiler/hotspot/replacements/WriteBarrierSnippets$Templates;
            aload 1 /* n */
            checkcast org.graalvm.compiler.hotspot.nodes.G1PostWriteBarrier
            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.WriteBarrierSnippets$Templates.lower:(Lorg/graalvm/compiler/hotspot/nodes/G1PostWriteBarrier;Lorg/graalvm/compiler/hotspot/meta/HotSpotRegistersProvider;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
       100: .line 323
            goto 168
      StackMap locals:
      StackMap stack:
       101: aload 1 /* n */
            instanceof org.graalvm.compiler.hotspot.nodes.G1ReferentFieldReadBarrier
            ifeq 104
       102: .line 324
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.writeBarrierSnippets:Lorg/graalvm/compiler/hotspot/replacements/WriteBarrierSnippets$Templates;
            aload 1 /* n */
            checkcast org.graalvm.compiler.hotspot.nodes.G1ReferentFieldReadBarrier
            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.WriteBarrierSnippets$Templates.lower:(Lorg/graalvm/compiler/hotspot/nodes/G1ReferentFieldReadBarrier;Lorg/graalvm/compiler/hotspot/meta/HotSpotRegistersProvider;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
       103: .line 325
            goto 168
      StackMap locals:
      StackMap stack:
       104: aload 1 /* n */
            instanceof org.graalvm.compiler.hotspot.nodes.SerialWriteBarrier
            ifeq 107
       105: .line 326
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.writeBarrierSnippets:Lorg/graalvm/compiler/hotspot/replacements/WriteBarrierSnippets$Templates;
            aload 1 /* n */
            checkcast org.graalvm.compiler.hotspot.nodes.SerialWriteBarrier
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.hotspot.replacements.WriteBarrierSnippets$Templates.lower:(Lorg/graalvm/compiler/hotspot/nodes/SerialWriteBarrier;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
       106: .line 327
            goto 168
      StackMap locals:
      StackMap stack:
       107: aload 1 /* n */
            instanceof org.graalvm.compiler.hotspot.nodes.SerialArrayRangeWriteBarrier
            ifeq 110
       108: .line 328
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.writeBarrierSnippets:Lorg/graalvm/compiler/hotspot/replacements/WriteBarrierSnippets$Templates;
            aload 1 /* n */
            checkcast org.graalvm.compiler.hotspot.nodes.SerialArrayRangeWriteBarrier
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.hotspot.replacements.WriteBarrierSnippets$Templates.lower:(Lorg/graalvm/compiler/hotspot/nodes/SerialArrayRangeWriteBarrier;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
       109: .line 329
            goto 168
      StackMap locals:
      StackMap stack:
       110: aload 1 /* n */
            instanceof org.graalvm.compiler.hotspot.nodes.G1ArrayRangePreWriteBarrier
            ifeq 113
       111: .line 330
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.writeBarrierSnippets:Lorg/graalvm/compiler/hotspot/replacements/WriteBarrierSnippets$Templates;
            aload 1 /* n */
            checkcast org.graalvm.compiler.hotspot.nodes.G1ArrayRangePreWriteBarrier
            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.WriteBarrierSnippets$Templates.lower:(Lorg/graalvm/compiler/hotspot/nodes/G1ArrayRangePreWriteBarrier;Lorg/graalvm/compiler/hotspot/meta/HotSpotRegistersProvider;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
       112: .line 331
            goto 168
      StackMap locals:
      StackMap stack:
       113: aload 1 /* n */
            instanceof org.graalvm.compiler.hotspot.nodes.G1ArrayRangePostWriteBarrier
            ifeq 116
       114: .line 332
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.writeBarrierSnippets:Lorg/graalvm/compiler/hotspot/replacements/WriteBarrierSnippets$Templates;
            aload 1 /* n */
            checkcast org.graalvm.compiler.hotspot.nodes.G1ArrayRangePostWriteBarrier
            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.WriteBarrierSnippets$Templates.lower:(Lorg/graalvm/compiler/hotspot/nodes/G1ArrayRangePostWriteBarrier;Lorg/graalvm/compiler/hotspot/meta/HotSpotRegistersProvider;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
       115: .line 333
            goto 168
      StackMap locals:
      StackMap stack:
       116: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.java.NewMultiArrayNode
            ifeq 120
       117: .line 334
            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 168
       118: .line 335
            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
       119: .line 337
            goto 168
      StackMap locals:
      StackMap stack:
       120: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.java.LoadExceptionObjectNode
            ifeq 123
       121: .line 338
            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
       122: .line 339
            goto 168
      StackMap locals:
      StackMap stack:
       123: aload 1 /* n */
            instanceof org.graalvm.compiler.replacements.nodes.AssertionNode
            ifeq 126
       124: .line 340
            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
       125: .line 341
            goto 168
      StackMap locals:
      StackMap stack:
       126: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.debug.StringToBytesNode
            ifeq 130
       127: .line 342
            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 168
       128: .line 343
            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
       129: .line 345
            goto 168
      StackMap locals:
      StackMap stack:
       130: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.calc.IntegerDivRemNode
            ifne 168
       131: .line 348
            aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.AbstractDeoptimizeNode
            ifne 168
            aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.UnwindNode
            ifne 168
            aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.calc.RemNode
            ifne 168
            aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.SafepointNode
            ifne 168
       132: .line 350
            aload 1 /* n */
            instanceof org.graalvm.compiler.hotspot.replacements.ClassGetHubNode
            ifeq 135
       133: .line 351
            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
       134: .line 352
            goto 168
      StackMap locals:
      StackMap stack:
       135: aload 1 /* n */
            instanceof org.graalvm.compiler.hotspot.replacements.HubGetClassNode
            ifeq 138
       136: .line 353
            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
       137: .line 354
            goto 168
      StackMap locals:
      StackMap stack:
       138: aload 1 /* n */
            instanceof org.graalvm.compiler.hotspot.replacements.KlassLayoutHelperNode
            ifeq 141
       139: .line 355
            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
       140: .line 356
            goto 168
      StackMap locals:
      StackMap stack:
       141: aload 1 /* n */
            instanceof org.graalvm.compiler.hotspot.nodes.ComputeObjectAddressNode
            ifeq 145
       142: .line 357
            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 168
       143: .line 358
            aload 1 /* n */
            checkcast org.graalvm.compiler.hotspot.nodes.ComputeObjectAddressNode
            invokestatic org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.lowerComputeObjectAddressNode:(Lorg/graalvm/compiler/hotspot/nodes/ComputeObjectAddressNode;)V
       144: .line 360
            goto 168
      StackMap locals:
      StackMap stack:
       145: aload 1 /* n */
            instanceof org.graalvm.compiler.hotspot.replacements.IdentityHashCodeNode
            ifeq 148
       146: .line 361
            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
       147: .line 362
            goto 168
      StackMap locals:
      StackMap stack:
       148: aload 1 /* n */
            instanceof org.graalvm.compiler.hotspot.nodes.aot.ResolveDynamicConstantNode
            ifeq 152
       149: .line 363
            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 168
       150: .line 364
            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
       151: .line 366
            goto 168
      StackMap locals:
      StackMap stack:
       152: aload 1 /* n */
            instanceof org.graalvm.compiler.hotspot.nodes.aot.ResolveConstantNode
            ifeq 156
       153: .line 367
            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 168
       154: .line 368
            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
       155: .line 370
            goto 168
      StackMap locals:
      StackMap stack:
       156: aload 1 /* n */
            instanceof org.graalvm.compiler.hotspot.nodes.aot.ResolveMethodAndLoadCountersNode
            ifeq 160
       157: .line 371
            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 168
       158: .line 372
            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
       159: .line 374
            goto 168
      StackMap locals:
      StackMap stack:
       160: aload 1 /* n */
            instanceof org.graalvm.compiler.hotspot.nodes.aot.InitializeKlassNode
            ifeq 164
       161: .line 375
            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 168
       162: .line 376
            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
       163: .line 378
            goto 168
      StackMap locals:
      StackMap stack:
       164: aload 1 /* n */
            instanceof org.graalvm.compiler.hotspot.nodes.profiling.ProfileNode
            ifeq 167
       165: .line 379
            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
       166: .line 380
            goto 168
       167: .line 381
      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
       168: .line 383
      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  169     0                   this  Lorg/graalvm/compiler/hotspot/meta/DefaultHotSpotLoweringProvider;
            0  169     1                      n  Lorg/graalvm/compiler/graph/Node;
            0  169     2                   tool  Lorg/graalvm/compiler/nodes/spi/LoweringTool;
            1  169     3                  graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
           21   29     4         instanceOfNode  Lorg/graalvm/compiler/nodes/java/InstanceOfNode;
           26   29     5                 object  Lorg/graalvm/compiler/nodes/ValueNode;
           27   29     6           newTypeCheck  Lorg/graalvm/compiler/nodes/LogicNode;
           28   29     7                newNode  Lorg/graalvm/compiler/nodes/LogicNode;
           32   46     4  instanceOfDynamicNode  Lorg/graalvm/compiler/nodes/java/InstanceOfDynamicNode;
           36   46     5                 mirror  Lorg/graalvm/compiler/nodes/ValueNode;
           38   39     6            classGetHub  Lorg/graalvm/compiler/hotspot/replacements/ClassGetHubNode;
           41   46     6                 object  Lorg/graalvm/compiler/nodes/ValueNode;
           44   46     7           newTypeCheck  Lorg/graalvm/compiler/nodes/LogicNode;
           45   46     8                newNode  Lorg/graalvm/compiler/nodes/LogicNode;
           57   63     4        newInstanceNode  Lorg/graalvm/compiler/nodes/java/DynamicNewInstanceNode;
           59   61     5       classClassMirror  Ljdk/vm/ci/meta/JavaConstant;
           60   61     6             classClass  Lorg/graalvm/compiler/nodes/ConstantNode;
           70   76     4    dynamicNewArrayNode  Lorg/graalvm/compiler/nodes/java/DynamicNewArrayNode;
           72   74     5        voidClassMirror  Ljdk/vm/ci/meta/JavaConstant;
           73   74     6              voidClass  Lorg/graalvm/compiler/nodes/ConstantNode;
    MethodParameters:
      Name  Flags
      n     
      tool  

  private static void lowerComputeObjectAddressNode(org.graalvm.compiler.hotspot.nodes.ComputeObjectAddressNode);
    descriptor: (Lorg/graalvm/compiler/hotspot/nodes/ComputeObjectAddressNode;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.nodes.ComputeObjectAddressNode n
         0: .line 390
            aload 0 /* n */
            invokevirtual org.graalvm.compiler.hotspot.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.hotspot.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 391
            aload 1 /* use */
            instanceof org.graalvm.compiler.nodes.FixedNode
            ifeq 10
         3: .line 392
            aload 1 /* use */
            checkcast org.graalvm.compiler.nodes.FixedNode
            astore 3 /* fixed */
        start local 3 // org.graalvm.compiler.nodes.FixedNode fixed
         4: .line 393
            aload 0 /* n */
            invokevirtual org.graalvm.compiler.hotspot.nodes.ComputeObjectAddressNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 4 /* graph */
        start local 4 // org.graalvm.compiler.nodes.StructuredGraph graph
         5: .line 394
            aload 4 /* graph */
            new org.graalvm.compiler.hotspot.nodes.GetObjectAddressNode
            dup
            aload 0 /* n */
            invokevirtual org.graalvm.compiler.hotspot.nodes.ComputeObjectAddressNode.getObject:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokespecial org.graalvm.compiler.hotspot.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.hotspot.nodes.GetObjectAddressNode
            astore 5 /* address */
        start local 5 // org.graalvm.compiler.hotspot.nodes.GetObjectAddressNode address
         6: .line 395
            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 396
            aload 4 /* graph */
            new org.graalvm.compiler.nodes.calc.AddNode
            dup
            aload 5 /* address */
            aload 0 /* n */
            invokevirtual org.graalvm.compiler.hotspot.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 397
            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.hotspot.nodes.GetObjectAddressNode address
        end local 4 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 3 // org.graalvm.compiler.nodes.FixedNode fixed
         9: .line 398
            goto 11
        10: .line 399
      StackMap locals: org.graalvm.compiler.hotspot.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 390
      StackMap locals: org.graalvm.compiler.hotspot.nodes.ComputeObjectAddressNode top java.util.Iterator
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
        12: .line 402
            aload 0 /* n */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.unlinkFixedNode:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
        13: .line 403
            aload 0 /* n */
            invokevirtual org.graalvm.compiler.hotspot.nodes.ComputeObjectAddressNode.safeDelete:()V
        14: .line 404
            return
        end local 0 // org.graalvm.compiler.hotspot.nodes.ComputeObjectAddressNode n
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   15     0        n  Lorg/graalvm/compiler/hotspot/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/hotspot/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 407
            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 408
            return
         2: .line 410
      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 411
            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 412
      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 413
            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:Lorg/graalvm/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;Lorg/graalvm/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 414
            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 417
            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 418
            return
         2: .line 421
      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 422
            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 423
            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 424
            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 425
      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 426
            aload 5 /* graph */
         8: .line 427
            new org.graalvm.compiler.nodes.memory.FloatingReadNode
            dup
            aload 6 /* mirrorAddress */
            getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.CLASS_MIRROR_LOCATION:Lorg/graalvm/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 org.graalvm.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 428
      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 org.graalvm.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 427
            invokespecial org.graalvm.compiler.nodes.memory.FloatingReadNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/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 426
            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 429
            aload 4 /* vmConfig */
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.classMirrorIsHandle:Z
            ifeq 16
        14: .line 430
            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 431
            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:Lorg/graalvm/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;Lorg/graalvm/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 433
      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 434
            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 437
            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 438
            return
         2: .line 441
      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 442
            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 443
      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 444
            aload 3 /* graph */
            new org.graalvm.compiler.nodes.memory.FloatingReadNode
            dup
            aload 4 /* address */
            getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.CLASS_KLASS_LOCATION:Lorg/graalvm/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;Lorg/graalvm/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 445
            aload 1 /* n */
            aload 5 /* read */
            invokevirtual org.graalvm.compiler.hotspot.replacements.ClassGetHubNode.replaceAtUsagesAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
         7: .line 446
            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 449
            aload 1 /* invoke */
            invokeinterface org.graalvm.compiler.nodes.Invoke.callTarget:()Lorg/graalvm/compiler/nodes/CallTargetNode;
            instanceof org.graalvm.compiler.nodes.java.MethodCallTargetNode
            ifeq 38
         1: .line 450
            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 451
            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 452
            aload 5 /* parameters */
            invokevirtual org.graalvm.compiler.graph.NodeInputList.size:()I
            ifgt 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 453
            aload 4 /* callTarget */
            invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.isStatic:()Z
            ifne 10
            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 10
            aload 6 /* receiver */
            invokestatic org.graalvm.compiler.nodes.type.StampTool.isPointerNonNull:(Lorg/graalvm/compiler/nodes/ValueNode;)Z
            ifne 10
         7: .line 454
            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
         8: .line 455
            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
         9: .line 456
            aload 7 /* nonNullReceiver */
            astore 6 /* receiver */
        end local 7 // org.graalvm.compiler.nodes.ValueNode nonNullReceiver
        10: .line 458
      StackMap locals: org.graalvm.compiler.nodes.ValueNode
      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 11
            aconst_null
            goto 12
      StackMap locals:
      StackMap stack: jdk.vm.ci.meta.Signature
        11: 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
        12: 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
        13: .line 460
            aconst_null
            astore 8 /* loweredCallTarget */
        start local 8 // org.graalvm.compiler.nodes.LoweredCallTargetNode loweredCallTarget
        14: .line 461
            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
        15: .line 462
            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 31
            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 31
            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 16
            aload 1 /* invoke */
            invokeinterface org.graalvm.compiler.nodes.Invoke.isPolymorphic:()Z
            ifeq 31
        16: .line 463
      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
        17: .line 464
            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
        18: .line 465
            aload 10 /* hsMethod */
            aload 11 /* receiverType */
            invokeinterface jdk.vm.ci.hotspot.HotSpotResolvedJavaMethod.isInVirtualMethodTable:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
            ifeq 31
        19: .line 466
            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
        20: .line 467
            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
        21: .line 469
            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
        22: .line 473
            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
        23: .line 474
            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
        24: .line 475
            aload 3 /* graph */
            new org.graalvm.compiler.nodes.memory.ReadNode
            dup
            aload 16 /* address */
            invokestatic org.graalvm.word.LocationIdentity.any:()Lorg/graalvm/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;Lorg/graalvm/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
        25: .line 477
            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;
        26: .line 478
            aload 7 /* signature */
            aload 4 /* callTarget */
            invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.targetMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
        27: .line 479
            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
        28: .line 477
            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 */
        29: .line 481
            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
        30: .line 482
            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
        31: .line 486
      StackMap locals:
      StackMap stack:
            aload 8 /* loweredCallTarget */
            ifnonnull 37
        32: .line 487
            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;
        33: .line 488
            aload 7 /* signature */
            aload 4 /* callTarget */
            invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.targetMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
        34: .line 489
            getstatic jdk.vm.ci.hotspot.HotSpotCallingConventionType.JavaCall:Ljdk/vm/ci/hotspot/HotSpotCallingConventionType;
        35: .line 490
            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
        36: .line 487
            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 */
        37: .line 492
      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
        38: .line 494
      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   39     0                       this  Lorg/graalvm/compiler/hotspot/meta/DefaultHotSpotLoweringProvider;
            0   39     1                     invoke  Lorg/graalvm/compiler/nodes/Invoke;
            0   39     2                       tool  Lorg/graalvm/compiler/nodes/spi/LoweringTool;
            0   39     3                      graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            2   38     4                 callTarget  Lorg/graalvm/compiler/nodes/java/MethodCallTargetNode;
            3   38     5                 parameters  Lorg/graalvm/compiler/graph/NodeInputList<Lorg/graalvm/compiler/nodes/ValueNode;>;
            6   38     6                   receiver  Lorg/graalvm/compiler/nodes/ValueNode;
            8   10     7            nonNullReceiver  Lorg/graalvm/compiler/nodes/ValueNode;
           13   38     7                  signature  [Ljdk/vm/ci/meta/JavaType;
           14   38     8          loweredCallTarget  Lorg/graalvm/compiler/nodes/LoweredCallTargetNode;
           15   38     9                    options  Lorg/graalvm/compiler/options/OptionValues;
           17   31    10                   hsMethod  Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethod;
           18   31    11               receiverType  Ljdk/vm/ci/meta/ResolvedJavaType;
           20   31    12                   wordKind  Ljdk/vm/ci/meta/JavaKind;
           21   31    13                        hub  Lorg/graalvm/compiler/nodes/ValueNode;
           22   31    14            metaspaceMethod  Lorg/graalvm/compiler/nodes/memory/ReadNode;
           23   31    15  methodCompiledEntryOffset  I
           24   31    16                    address  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
           25   31    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 497
            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 502
            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 507
            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 512
            aload 2 /* f */
            checkcast jdk.vm.ci.hotspot.HotSpotResolvedJavaField
            astore 3 /* field */
        start local 3 // jdk.vm.ci.hotspot.HotSpotResolvedJavaField field
         1: .line 513
            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 514
            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 523
            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 524
            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:Lorg/graalvm/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;Lorg/graalvm/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    

  protected void lowerUnsafeLoadNode(org.graalvm.compiler.nodes.extended.RawLoadNode, org.graalvm.compiler.nodes.spi.LoweringTool);
    descriptor: (Lorg/graalvm/compiler/nodes/extended/RawLoadNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider this
        start local 1 // org.graalvm.compiler.nodes.extended.RawLoadNode load
        start local 2 // org.graalvm.compiler.nodes.spi.LoweringTool tool
         0: .line 529
            aload 1 /* load */
            invokevirtual org.graalvm.compiler.nodes.extended.RawLoadNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 3 /* graph */
        start local 3 // org.graalvm.compiler.nodes.StructuredGraph graph
         1: .line 530
            aload 1 /* load */
            instanceof org.graalvm.compiler.nodes.extended.GuardedUnsafeLoadNode
            ifne 4
            aload 3 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getGuardsStage:()Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph$GuardsStage.allowsFloatingGuards:()Z
            ifne 4
            aload 0 /* this */
            aload 1 /* load */
            invokevirtual org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.addReadBarrier:(Lorg/graalvm/compiler/nodes/extended/RawLoadNode;)Z
            ifeq 4
         2: .line 531
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.unsafeLoadSnippets:Lorg/graalvm/compiler/hotspot/replacements/UnsafeLoadSnippets$Templates;
            aload 1 /* load */
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.hotspot.replacements.UnsafeLoadSnippets$Templates.lower:(Lorg/graalvm/compiler/nodes/extended/RawLoadNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
         3: .line 532
            goto 5
         4: .line 533
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph
      StackMap stack:
            aload 0 /* this */
            aload 1 /* load */
            aload 2 /* tool */
            invokespecial org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.lowerUnsafeLoadNode:(Lorg/graalvm/compiler/nodes/extended/RawLoadNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
         5: .line 535
      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.nodes.extended.RawLoadNode load
        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   load  Lorg/graalvm/compiler/nodes/extended/RawLoadNode;
            0    6     2   tool  Lorg/graalvm/compiler/nodes/spi/LoweringTool;
            1    6     3  graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
    MethodParameters:
      Name  Flags
      load  
      tool  

  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 538
            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 539
            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 540
            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 541
            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 542
            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 545
            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 546
            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 547
            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 548
            aload 0 /* getClass */
            aload 5 /* hubGetClass */
            invokevirtual org.graalvm.compiler.nodes.extended.GetClassNode.replaceAtUsagesAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
         4: .line 549
            aload 4 /* hub */
            aload 1 /* tool */
            invokevirtual org.graalvm.compiler.nodes.extended.LoadHubNode.lower:(Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
         5: .line 550
            aload 5 /* hubGetClass */
            aload 1 /* tool */
            invokevirtual org.graalvm.compiler.hotspot.replacements.HubGetClassNode.lower:(Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
         6: .line 551
            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 554
            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 555
            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 556
            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     

  public org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType fieldInitializationBarrier(jdk.vm.ci.meta.JavaKind);
    descriptor: (Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider this
        start local 1 // jdk.vm.ci.meta.JavaKind entryKind
         0: .line 560
            aload 1 /* entryKind */
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 1
            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.useDeferredInitBarriers:Z
            ifne 1
            getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.IMPRECISE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            goto 2
      StackMap locals:
      StackMap stack:
         1: getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
      StackMap locals:
      StackMap stack: org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType
         2: areturn
        end local 1 // jdk.vm.ci.meta.JavaKind entryKind
        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  entryKind  Ljdk/vm/ci/meta/JavaKind;
    MethodParameters:
           Name  Flags
      entryKind  

  public org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType arrayInitializationBarrier(jdk.vm.ci.meta.JavaKind);
    descriptor: (Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider this
        start local 1 // jdk.vm.ci.meta.JavaKind entryKind
         0: .line 565
            aload 1 /* entryKind */
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 1
            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.useDeferredInitBarriers:Z
            ifne 1
            getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.PRECISE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            goto 2
      StackMap locals:
      StackMap stack:
         1: getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
      StackMap locals:
      StackMap stack: org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType
         2: areturn
        end local 1 // jdk.vm.ci.meta.JavaKind entryKind
        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  entryKind  Ljdk/vm/ci/meta/JavaKind;
    MethodParameters:
           Name  Flags
      entryKind  

  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 569
            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 570
            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 571
            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 572
            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 573
            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 574
            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 575
            aload 3 /* newStart */
            aload 5 /* migrationEnd */
            invokevirtual org.graalvm.compiler.nodes.StartNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
         7: .line 576
            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 577
            aload 1 /* osrStart */
            aconst_null
            invokevirtual org.graalvm.compiler.nodes.extended.OSRStartNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
         9: .line 578
            aload 5 /* migrationEnd */
            aload 6 /* next */
            invokevirtual org.graalvm.compiler.nodes.extended.ForeignCallNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
        10: .line 579
            aload 2 /* graph */
            aload 3 /* newStart */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.setStart:(Lorg/graalvm/compiler/nodes/StartNode;)V
        11: .line 581
            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 586
            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 587
            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 588
            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 589
            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 590
            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 591
            aload 2 /* graph */
            new org.graalvm.compiler.nodes.memory.ReadNode
            dup
            aload 13 /* address */
            invokestatic org.graalvm.word.LocationIdentity.any:()Lorg/graalvm/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;Lorg/graalvm/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 592
            aload 9 /* osrLocal */
            aload 14 /* load */
            invokevirtual org.graalvm.compiler.nodes.extended.OSRLocalNode.replaceAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
        20: .line 593
            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 587
      StackMap locals:
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 14
        22: .line 599
            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 600
            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 604
            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 605
            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 606
            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 607
            aload 14 /* lock */
            invokevirtual org.graalvm.compiler.nodes.extended.OSRLockNode.index:()I
            istore 15 /* index */
        start local 15 // int index
        29: .line 609
            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 610
            iload 10 /* locksOffset */
            iload 15 /* index */
            iconst_2
            imul
            iload 7 /* wordSize */
            imul
            isub
            istore 17 /* offsetLockObject */
        start local 17 // int offsetLockObject
        31: .line 613
            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 614
            aload 2 /* graph */
            new org.graalvm.compiler.nodes.memory.ReadNode
            dup
            aload 18 /* addressDisplacedHeader */
            invokestatic org.graalvm.word.LocationIdentity.any:()Lorg/graalvm/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;Lorg/graalvm/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 615
            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 618
            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 619
            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 622
            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 623
            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:Lorg/graalvm/word/LocationIdentity;
            aload 19 /* loadDisplacedHeader */
            getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            invokespecial org.graalvm.compiler.nodes.memory.WriteNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/word/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;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.WriteNode
            astore 22 /* writeStackSlot */
        start local 22 // org.graalvm.compiler.nodes.memory.WriteNode writeStackSlot
        38: .line 624
            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 627
            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 628
            aload 2 /* graph */
            new org.graalvm.compiler.nodes.memory.ReadNode
            dup
            aload 23 /* addressLockObject */
            invokestatic org.graalvm.word.LocationIdentity.any:()Lorg/graalvm/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;Lorg/graalvm/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 629
            aload 14 /* lock */
            aload 24 /* loadObject */
            invokevirtual org.graalvm.compiler.nodes.extended.OSRLockNode.replaceAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
        42: .line 630
            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 604
      StackMap locals:
      StackMap stack:
            aload 12
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 25
        44: .line 633
            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 635
      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 boolean throwCachedException(org.graalvm.compiler.nodes.extended.BytecodeExceptionNode);
    descriptor: (Lorg/graalvm/compiler/nodes/extended/BytecodeExceptionNode;)Z
    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 658
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.nodes.extended.BytecodeExceptionNode.getExceptionClass:()Ljava/lang/Class;
            ldc Ljava/lang/NullPointerException;
            if_acmpne 3
         1: .line 659
            getstatic org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider$Exceptions.cachedNullPointerException:Ljava/lang/NullPointerException;
            astore 2 /* exception */
        start local 2 // java.lang.Throwable exception
         2: .line 660
            goto 7
        end local 2 // java.lang.Throwable exception
      StackMap locals:
      StackMap stack:
         3: aload 1 /* node */
            invokevirtual org.graalvm.compiler.nodes.extended.BytecodeExceptionNode.getExceptionClass:()Ljava/lang/Class;
            ldc Ljava/lang/ArrayIndexOutOfBoundsException;
            if_acmpne 6
         4: .line 661
            getstatic org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider$Exceptions.cachedArrayIndexOutOfBoundsException:Ljava/lang/ArrayIndexOutOfBoundsException;
            astore 2 /* exception */
        start local 2 // java.lang.Throwable exception
         5: .line 662
            goto 7
        end local 2 // java.lang.Throwable exception
         6: .line 663
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        start local 2 // java.lang.Throwable exception
         7: .line 666
      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
         8: .line 667
            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
         9: .line 668
            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
        10: .line 669
            iconst_1
            ireturn
        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   11     0           this  Lorg/graalvm/compiler/hotspot/meta/DefaultHotSpotLoweringProvider;
            0   11     1           node  Lorg/graalvm/compiler/nodes/extended/BytecodeExceptionNode;
            2    3     2      exception  Ljava/lang/Throwable;
            5    6     2      exception  Ljava/lang/Throwable;
            7   11     2      exception  Ljava/lang/Throwable;
            8   11     3          graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            9   11     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 673
            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 674
            aload 0 /* this */
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider.throwCachedException:(Lorg/graalvm/compiler/nodes/extended/BytecodeExceptionNode;)Z
            ifeq 3
         2: .line 675
            return
         3: .line 680
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.nodes.extended.BytecodeExceptionNode.getExceptionClass:()Ljava/lang/Class;
            ldc Ljava/lang/NullPointerException;
            if_acmpne 6
         4: .line 681
            getstatic org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider$RuntimeCalls.CREATE_NULL_POINTER_EXCEPTION:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
            astore 2 /* descriptor */
        start local 2 // org.graalvm.compiler.core.common.spi.ForeignCallDescriptor descriptor
         5: .line 682
            goto 16
        end local 2 // org.graalvm.compiler.core.common.spi.ForeignCallDescriptor descriptor
      StackMap locals:
      StackMap stack:
         6: aload 1 /* node */
            invokevirtual org.graalvm.compiler.nodes.extended.BytecodeExceptionNode.getExceptionClass:()Ljava/lang/Class;
            ldc Ljava/lang/ArrayIndexOutOfBoundsException;
            if_acmpne 9
         7: .line 683
            getstatic org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider$RuntimeCalls.CREATE_OUT_OF_BOUNDS_EXCEPTION:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
            astore 2 /* descriptor */
        start local 2 // org.graalvm.compiler.core.common.spi.ForeignCallDescriptor descriptor
         8: .line 684
            goto 16
        end local 2 // org.graalvm.compiler.core.common.spi.ForeignCallDescriptor descriptor
      StackMap locals:
      StackMap stack:
         9: aload 1 /* node */
            invokevirtual org.graalvm.compiler.nodes.extended.BytecodeExceptionNode.getExceptionClass:()Ljava/lang/Class;
            ldc Ljava/lang/ArrayStoreException;
            if_acmpne 12
        10: .line 685
            getstatic org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider$RuntimeCalls.CREATE_ARRAY_STORE_EXCEPTION:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
            astore 2 /* descriptor */
        start local 2 // org.graalvm.compiler.core.common.spi.ForeignCallDescriptor descriptor
        11: .line 686
            goto 16
        end local 2 // org.graalvm.compiler.core.common.spi.ForeignCallDescriptor descriptor
      StackMap locals:
      StackMap stack:
        12: aload 1 /* node */
            invokevirtual org.graalvm.compiler.nodes.extended.BytecodeExceptionNode.getExceptionClass:()Ljava/lang/Class;
            ldc Ljava/lang/ClassCastException;
            if_acmpne 15
        13: .line 687
            getstatic org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider$RuntimeCalls.CREATE_CLASS_CAST_EXCEPTION:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
            astore 2 /* descriptor */
        start local 2 // org.graalvm.compiler.core.common.spi.ForeignCallDescriptor descriptor
        14: .line 688
            goto 16
        end local 2 // org.graalvm.compiler.core.common.spi.ForeignCallDescriptor descriptor
        15: .line 689
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        start local 2 // org.graalvm.compiler.core.common.spi.ForeignCallDescriptor descriptor
        16: .line 692
      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
        17: .line 693
            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
        18: .line 694
            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
        19: .line 695
            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   20     0             this  Lorg/graalvm/compiler/hotspot/meta/DefaultHotSpotLoweringProvider;
            0   20     1             node  Lorg/graalvm/compiler/nodes/extended/BytecodeExceptionNode;
            5    6     2       descriptor  Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
            8    9     2       descriptor  Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
           11   12     2       descriptor  Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
           14   15     2       descriptor  Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
           16   20     2       descriptor  Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
           17   20     3            graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
           18   20     4  foreignCallNode  Lorg/graalvm/compiler/nodes/extended/ForeignCallNode;
    MethodParameters:
      Name  Flags
      node  

  private boolean addReadBarrier(org.graalvm.compiler.nodes.extended.RawLoadNode);
    descriptor: (Lorg/graalvm/compiler/nodes/extended/RawLoadNode;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider this
        start local 1 // org.graalvm.compiler.nodes.extended.RawLoadNode load
         0: .line 698
            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.useG1GC:Z
            ifeq 5
            aload 1 /* load */
            invokevirtual org.graalvm.compiler.nodes.extended.RawLoadNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            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 5
            aload 1 /* load */
            invokevirtual org.graalvm.compiler.nodes.extended.RawLoadNode.object:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 5
         1: .line 699
            aload 1 /* load */
            invokevirtual org.graalvm.compiler.nodes.extended.RawLoadNode.accessKind:()Ljdk/vm/ci/meta/JavaKind;
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 5
            aload 1 /* load */
            invokevirtual org.graalvm.compiler.nodes.extended.RawLoadNode.object:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokestatic org.graalvm.compiler.nodes.type.StampTool.isPointerAlwaysNull:(Lorg/graalvm/compiler/nodes/ValueNode;)Z
            ifne 5
         2: .line 700
            aload 1 /* load */
            invokevirtual org.graalvm.compiler.nodes.extended.RawLoadNode.object:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokestatic org.graalvm.compiler.nodes.type.StampTool.typeOrNull:(Lorg/graalvm/compiler/nodes/ValueNode;)Ljdk/vm/ci/meta/ResolvedJavaType;
            astore 2 /* type */
        start local 2 // jdk.vm.ci.meta.ResolvedJavaType type
         3: .line 701
            aload 2 /* type */
            ifnull 5
            aload 2 /* type */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isArray:()Z
            ifne 5
         4: .line 702
            iconst_1
            ireturn
        end local 2 // jdk.vm.ci.meta.ResolvedJavaType type
         5: .line 705
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // org.graalvm.compiler.nodes.extended.RawLoadNode load
        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  load  Lorg/graalvm/compiler/nodes/extended/RawLoadNode;
            3    5     2  type  Ljdk/vm/ci/meta/ResolvedJavaType;
    MethodParameters:
      Name  Flags
      load  

  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 709
            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 713
            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 716
      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 717
            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 718
            aload 1 /* graph */
            new org.graalvm.compiler.nodes.memory.ReadNode
            dup
            aload 5 /* address */
            invokestatic org.graalvm.word.LocationIdentity.any:()Lorg/graalvm/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;Lorg/graalvm/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 719
            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 724
            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 725
            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 727
      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 729
      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 730
            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 731
            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 734
      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 735
            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:Lorg/graalvm/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:Lorg/graalvm/word/LocationIdentity;
      StackMap locals:
      StackMap stack: org.graalvm.word.LocationIdentity
         9: astore 6 /* hubLocation */
        start local 6 // org.graalvm.word.LocationIdentity hubLocation
        10: .line 736
            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;Lorg/graalvm/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 737
            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 738
            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 740
      StackMap locals: org.graalvm.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 // org.graalvm.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  Lorg/graalvm/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=7, 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 745
            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 747
      StackMap locals:
      StackMap stack:
            aload 3 /* value */
            astore 4 /* writeValue */
        start local 4 // org.graalvm.compiler.nodes.ValueNode writeValue
         2: .line 748
            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 749
            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 752
      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 753
            aload 1 /* graph */
            new org.graalvm.compiler.nodes.memory.WriteNode
            dup
            aload 5 /* address */
            getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.HUB_WRITE_LOCATION:Lorg/graalvm/word/LocationIdentity;
            aload 4 /* writeValue */
            getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            invokespecial org.graalvm.compiler.nodes.memory.WriteNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/word/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;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.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=4, args_size=2
        start local 0 // org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider this
        start local 1 // jdk.vm.ci.meta.ResolvedJavaField f
         0: .line 758
            aload 1 /* f */
            checkcast jdk.vm.ci.hotspot.HotSpotResolvedJavaField
            astore 2 /* loadField */
        start local 2 // jdk.vm.ci.hotspot.HotSpotResolvedJavaField loadField
         1: .line 759
            getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            astore 3 /* barrierType */
        start local 3 // org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType barrierType
         2: .line 760
            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.useG1GC:Z
            ifeq 5
            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 5
            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 5
         3: .line 761
            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 5
         4: .line 762
            getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.PRECISE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            astore 3 /* barrierType */
         5: .line 764
      StackMap locals: jdk.vm.ci.hotspot.HotSpotResolvedJavaField org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType
      StackMap stack:
            aload 3 /* barrierType */
            areturn
        end local 3 // org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType barrierType
        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    6     0         this  Lorg/graalvm/compiler/hotspot/meta/DefaultHotSpotLoweringProvider;
            0    6     1            f  Ljdk/vm/ci/meta/ResolvedJavaField;
            1    6     2    loadField  Ljdk/vm/ci/hotspot/HotSpotResolvedJavaField;
            2    6     3  barrierType  Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
    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=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 769
            aload 1 /* f */
            checkcast jdk.vm.ci.hotspot.HotSpotResolvedJavaField
            astore 2 /* field */
        start local 2 // jdk.vm.ci.hotspot.HotSpotResolvedJavaField field
         1: .line 770
            aload 2 /* field */
            invokeinterface jdk.vm.ci.hotspot.HotSpotResolvedJavaField.offset:()I
            ireturn
        end local 2 // jdk.vm.ci.hotspot.HotSpotResolvedJavaField field
        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    2     0   this  Lorg/graalvm/compiler/hotspot/meta/DefaultHotSpotLoweringProvider;
            0    2     1      f  Ljdk/vm/ci/meta/ResolvedJavaField;
            1    2     2  field  Ljdk/vm/ci/hotspot/HotSpotResolvedJavaField;
    MethodParameters:
      Name  Flags
      f     

  public int arrayScalingFactor(jdk.vm.ci.meta.JavaKind);
    descriptor: (Ljdk/vm/ci/meta/JavaKind;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.hotspot.meta.DefaultHotSpotLoweringProvider this
        start local 1 // jdk.vm.ci.meta.JavaKind kind
         0: .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.useCompressedOops:Z
            ifeq 2
            aload 1 /* kind */
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 2
         1: .line 776
            aload 0 /* this */
            getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
            invokespecial org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.arrayScalingFactor:(Ljdk/vm/ci/meta/JavaKind;)I
            ireturn
         2: .line 778
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* kind */
            invokespecial org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.arrayScalingFactor:(Ljdk/vm/ci/meta/JavaKind;)I
            ireturn
        end local 1 // jdk.vm.ci.meta.JavaKind kind
        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  kind  Ljdk/vm/ci/meta/JavaKind;
    MethodParameters:
      Name  Flags
      kind  

  public int arrayBaseOffset(jdk.vm.ci.meta.JavaKind);
    descriptor: (Ljdk/vm/ci/meta/JavaKind;)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.JavaKind kind
         0: .line 784
            aload 1 /* kind */
            invokestatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntimeProvider.getArrayBaseOffset:(Ljdk/vm/ci/meta/JavaKind;)I
            ireturn
        end local 1 // jdk.vm.ci.meta.JavaKind kind
        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  kind  Ljdk/vm/ci/meta/JavaKind;
    MethodParameters:
      Name  Flags
      kind  

  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 789
            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 794
            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  
}
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.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.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.WriteBarrierSnippets$Templates of org.graalvm.compiler.hotspot.replacements.WriteBarrierSnippets
  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.arraycopy.ArrayCopySnippets$Templates of org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets
  public Templates = org.graalvm.compiler.hotspot.replacements.profiling.ProfileSnippets$Templates of org.graalvm.compiler.hotspot.replacements.profiling.ProfileSnippets
  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 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