public abstract class org.graalvm.compiler.replacements.DefaultJavaLoweringProvider implements org.graalvm.compiler.nodes.spi.LoweringProvider
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider
  super_class: java.lang.Object
{
  protected final jdk.vm.ci.meta.MetaAccessProvider metaAccess;
    descriptor: Ljdk/vm/ci/meta/MetaAccessProvider;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final org.graalvm.compiler.core.common.spi.ForeignCallsProvider foreignCalls;
    descriptor: Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final org.graalvm.compiler.nodes.gc.BarrierSet barrierSet;
    descriptor: Lorg/graalvm/compiler/nodes/gc/BarrierSet;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final org.graalvm.compiler.core.common.spi.MetaAccessExtensionProvider metaAccessExtensionProvider;
    descriptor: Lorg/graalvm/compiler/core/common/spi/MetaAccessExtensionProvider;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final jdk.vm.ci.code.TargetDescription target;
    descriptor: Ljdk/vm/ci/code/TargetDescription;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  private final boolean useCompressedOops;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  protected org.graalvm.compiler.nodes.spi.Replacements replacements;
    descriptor: Lorg/graalvm/compiler/nodes/spi/Replacements;
    flags: (0x0004) ACC_PROTECTED

  private org.graalvm.compiler.replacements.BoxingSnippets$Templates boxingSnippets;
    descriptor: Lorg/graalvm/compiler/replacements/BoxingSnippets$Templates;
    flags: (0x0002) ACC_PRIVATE

  private org.graalvm.compiler.replacements.ConstantStringIndexOfSnippets$Templates indexOfSnippets;
    descriptor: Lorg/graalvm/compiler/replacements/ConstantStringIndexOfSnippets$Templates;
    flags: (0x0002) ACC_PRIVATE

  public static final org.graalvm.compiler.core.common.type.IntegerStamp POSITIVE_ARRAY_INDEX_STAMP;
    descriptor: Lorg/graalvm/compiler/core/common/type/IntegerStamp;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  private static volatile int[] $SWITCH_TABLE$jdk$vm$ci$meta$JavaKind;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=0, args_size=0
         0: .line 179
            ldc Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            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.replacements.DefaultJavaLoweringProvider.$assertionsDisabled:Z
         3: .line 507
            bipush 32
            lconst_0
            ldc 2147483646
            invokestatic org.graalvm.compiler.core.common.type.StampFactory.forInteger:(IJJ)Lorg/graalvm/compiler/core/common/type/IntegerStamp;
            putstatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.POSITIVE_ARRAY_INDEX_STAMP:Lorg/graalvm/compiler/core/common/type/IntegerStamp;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(jdk.vm.ci.meta.MetaAccessProvider, org.graalvm.compiler.core.common.spi.ForeignCallsProvider, org.graalvm.compiler.nodes.spi.PlatformConfigurationProvider, org.graalvm.compiler.core.common.spi.MetaAccessExtensionProvider, jdk.vm.ci.code.TargetDescription, boolean);
    descriptor: (Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;Lorg/graalvm/compiler/nodes/spi/PlatformConfigurationProvider;Lorg/graalvm/compiler/core/common/spi/MetaAccessExtensionProvider;Ljdk/vm/ci/code/TargetDescription;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=7, args_size=7
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
        start local 2 // org.graalvm.compiler.core.common.spi.ForeignCallsProvider foreignCalls
        start local 3 // org.graalvm.compiler.nodes.spi.PlatformConfigurationProvider platformConfig
        start local 4 // org.graalvm.compiler.core.common.spi.MetaAccessExtensionProvider metaAccessExtensionProvider
        start local 5 // jdk.vm.ci.code.TargetDescription target
        start local 6 // boolean useCompressedOops
         0: .line 192
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 195
            aload 0 /* this */
            aload 1 /* metaAccess */
            putfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.metaAccess:Ljdk/vm/ci/meta/MetaAccessProvider;
         2: .line 196
            aload 0 /* this */
            aload 2 /* foreignCalls */
            putfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.foreignCalls:Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;
         3: .line 197
            aload 0 /* this */
            aload 3 /* platformConfig */
            invokeinterface org.graalvm.compiler.nodes.spi.PlatformConfigurationProvider.getBarrierSet:()Lorg/graalvm/compiler/nodes/gc/BarrierSet;
            putfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.barrierSet:Lorg/graalvm/compiler/nodes/gc/BarrierSet;
         4: .line 198
            aload 0 /* this */
            aload 4 /* metaAccessExtensionProvider */
            putfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.metaAccessExtensionProvider:Lorg/graalvm/compiler/core/common/spi/MetaAccessExtensionProvider;
         5: .line 199
            aload 0 /* this */
            aload 5 /* target */
            putfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.target:Ljdk/vm/ci/code/TargetDescription;
         6: .line 200
            aload 0 /* this */
            iload 6 /* useCompressedOops */
            putfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.useCompressedOops:Z
         7: .line 201
            return
        end local 6 // boolean useCompressedOops
        end local 5 // jdk.vm.ci.code.TargetDescription target
        end local 4 // org.graalvm.compiler.core.common.spi.MetaAccessExtensionProvider metaAccessExtensionProvider
        end local 3 // org.graalvm.compiler.nodes.spi.PlatformConfigurationProvider platformConfig
        end local 2 // org.graalvm.compiler.core.common.spi.ForeignCallsProvider foreignCalls
        end local 1 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0    8     0                         this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0    8     1                   metaAccess  Ljdk/vm/ci/meta/MetaAccessProvider;
            0    8     2                 foreignCalls  Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;
            0    8     3               platformConfig  Lorg/graalvm/compiler/nodes/spi/PlatformConfigurationProvider;
            0    8     4  metaAccessExtensionProvider  Lorg/graalvm/compiler/core/common/spi/MetaAccessExtensionProvider;
            0    8     5                       target  Ljdk/vm/ci/code/TargetDescription;
            0    8     6            useCompressedOops  Z
    MethodParameters:
                             Name  Flags
      metaAccess                   
      foreignCalls                 
      platformConfig               
      metaAccessExtensionProvider  
      target                       
      useCompressedOops            

  public void initialize(org.graalvm.compiler.options.OptionValues, java.lang.Iterable<org.graalvm.compiler.debug.DebugHandlersFactory>, org.graalvm.compiler.replacements.SnippetCounter$Group$Factory, org.graalvm.compiler.phases.util.Providers, org.graalvm.compiler.api.replacements.SnippetReflectionProvider);
    descriptor: (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
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=6, args_size=6
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // org.graalvm.compiler.options.OptionValues options
        start local 2 // java.lang.Iterable factories
        start local 3 // org.graalvm.compiler.replacements.SnippetCounter$Group$Factory factory
        start local 4 // org.graalvm.compiler.phases.util.Providers providers
        start local 5 // org.graalvm.compiler.api.replacements.SnippetReflectionProvider snippetReflection
         0: .line 204
            aload 0 /* this */
            new org.graalvm.compiler.replacements.BoxingSnippets$Templates
            dup
            aload 1 /* options */
            aload 2 /* factories */
            aload 3 /* factory */
            aload 4 /* providers */
            aload 5 /* snippetReflection */
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.target:Ljdk/vm/ci/code/TargetDescription;
            invokespecial org.graalvm.compiler.replacements.BoxingSnippets$Templates.<init>:(Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/Iterable;Lorg/graalvm/compiler/replacements/SnippetCounter$Group$Factory;Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Ljdk/vm/ci/code/TargetDescription;)V
            putfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.boxingSnippets:Lorg/graalvm/compiler/replacements/BoxingSnippets$Templates;
         1: .line 205
            aload 0 /* this */
            new org.graalvm.compiler.replacements.ConstantStringIndexOfSnippets$Templates
            dup
            aload 1 /* options */
            aload 2 /* factories */
            aload 4 /* providers */
            aload 5 /* snippetReflection */
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.target:Ljdk/vm/ci/code/TargetDescription;
            invokespecial org.graalvm.compiler.replacements.ConstantStringIndexOfSnippets$Templates.<init>:(Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/Iterable;Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Ljdk/vm/ci/code/TargetDescription;)V
            putfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.indexOfSnippets:Lorg/graalvm/compiler/replacements/ConstantStringIndexOfSnippets$Templates;
         2: .line 206
            aload 0 /* this */
            aload 4 /* providers */
            invokevirtual org.graalvm.compiler.phases.util.Providers.getReplacements:()Lorg/graalvm/compiler/nodes/spi/Replacements;
            putfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.replacements:Lorg/graalvm/compiler/nodes/spi/Replacements;
         3: .line 207
            aload 4 /* providers */
            invokevirtual org.graalvm.compiler.phases.util.Providers.getReplacements:()Lorg/graalvm/compiler/nodes/spi/Replacements;
            new org.graalvm.compiler.replacements.SnippetCounterNode$SnippetCounterSnippets$Templates
            dup
            aload 1 /* options */
            aload 2 /* factories */
            aload 4 /* providers */
            aload 5 /* snippetReflection */
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.target:Ljdk/vm/ci/code/TargetDescription;
            invokespecial org.graalvm.compiler.replacements.SnippetCounterNode$SnippetCounterSnippets$Templates.<init>:(Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/Iterable;Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Ljdk/vm/ci/code/TargetDescription;)V
            invokeinterface org.graalvm.compiler.nodes.spi.Replacements.registerSnippetTemplateCache:(Lorg/graalvm/compiler/api/replacements/SnippetTemplateCache;)V
         4: .line 208
            return
        end local 5 // org.graalvm.compiler.api.replacements.SnippetReflectionProvider snippetReflection
        end local 4 // org.graalvm.compiler.phases.util.Providers providers
        end local 3 // org.graalvm.compiler.replacements.SnippetCounter$Group$Factory factory
        end local 2 // java.lang.Iterable factories
        end local 1 // org.graalvm.compiler.options.OptionValues options
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    5     0               this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0    5     1            options  Lorg/graalvm/compiler/options/OptionValues;
            0    5     2          factories  Ljava/lang/Iterable<Lorg/graalvm/compiler/debug/DebugHandlersFactory;>;
            0    5     3            factory  Lorg/graalvm/compiler/replacements/SnippetCounter$Group$Factory;
            0    5     4          providers  Lorg/graalvm/compiler/phases/util/Providers;
            0    5     5  snippetReflection  Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
    Signature: (Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/Iterable<Lorg/graalvm/compiler/debug/DebugHandlersFactory;>;Lorg/graalvm/compiler/replacements/SnippetCounter$Group$Factory;Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;)V
    MethodParameters:
                   Name  Flags
      options            
      factories          
      factory            
      providers          
      snippetReflection  

  public final jdk.vm.ci.code.TargetDescription getTarget();
    descriptor: ()Ljdk/vm/ci/code/TargetDescription;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
         0: .line 211
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.target:Ljdk/vm/ci/code/TargetDescription;
            areturn
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;

  public jdk.vm.ci.meta.MetaAccessProvider getMetaAccess();
    descriptor: ()Ljdk/vm/ci/meta/MetaAccessProvider;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
         0: .line 215
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.metaAccess:Ljdk/vm/ci/meta/MetaAccessProvider;
            areturn
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;

  public org.graalvm.compiler.nodes.gc.BarrierSet getBarrierSet();
    descriptor: ()Lorg/graalvm/compiler/nodes/gc/BarrierSet;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
         0: .line 219
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.barrierSet:Lorg/graalvm/compiler/nodes/gc/BarrierSet;
            areturn
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;

  public org.graalvm.compiler.core.common.spi.MetaAccessExtensionProvider getMetaAccessExtensionProvider();
    descriptor: ()Lorg/graalvm/compiler/core/common/spi/MetaAccessExtensionProvider;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
         0: .line 223
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.metaAccessExtensionProvider:Lorg/graalvm/compiler/core/common/spi/MetaAccessExtensionProvider;
            areturn
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;

  public org.graalvm.compiler.nodes.spi.Replacements getReplacements();
    descriptor: ()Lorg/graalvm/compiler/nodes/spi/Replacements;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
         0: .line 227
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.replacements:Lorg/graalvm/compiler/nodes/spi/Replacements;
            areturn
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;

  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=3, locals=8, args_size=3
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // org.graalvm.compiler.graph.Node n
        start local 2 // org.graalvm.compiler.nodes.spi.LoweringTool tool
         0: .line 233
            getstatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.$assertionsDisabled:Z
            ifne 1
            aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.spi.Lowerable
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 234
      StackMap locals:
      StackMap stack:
            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
         2: .line 235
            aconst_null
            astore 4
            aconst_null
            astore 5
         3: aload 1 /* n */
            invokevirtual org.graalvm.compiler.graph.Node.withNodeSourcePosition:()Lorg/graalvm/compiler/debug/DebugCloseable;
            astore 6 /* context */
        start local 6 // org.graalvm.compiler.debug.DebugCloseable context
         4: .line 236
            aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.java.LoadFieldNode
            ifeq 7
         5: .line 237
            aload 0 /* this */
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.java.LoadFieldNode
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.lowerLoadFieldNode:(Lorg/graalvm/compiler/nodes/java/LoadFieldNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
         6: .line 238
            goto 103
      StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.graph.Node org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable
      StackMap stack:
         7: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.java.StoreFieldNode
            ifeq 10
         8: .line 239
            aload 0 /* this */
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.java.StoreFieldNode
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.lowerStoreFieldNode:(Lorg/graalvm/compiler/nodes/java/StoreFieldNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
         9: .line 240
            goto 103
      StackMap locals:
      StackMap stack:
        10: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.java.LoadIndexedNode
            ifeq 13
        11: .line 241
            aload 0 /* this */
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.java.LoadIndexedNode
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.lowerLoadIndexedNode:(Lorg/graalvm/compiler/nodes/java/LoadIndexedNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
        12: .line 242
            goto 103
      StackMap locals:
      StackMap stack:
        13: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.java.StoreIndexedNode
            ifeq 16
        14: .line 243
            aload 0 /* this */
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.java.StoreIndexedNode
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.lowerStoreIndexedNode:(Lorg/graalvm/compiler/nodes/java/StoreIndexedNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
        15: .line 244
            goto 103
      StackMap locals:
      StackMap stack:
        16: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.memory.address.IndexAddressNode
            ifeq 19
        17: .line 245
            aload 0 /* this */
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.memory.address.IndexAddressNode
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.lowerIndexAddressNode:(Lorg/graalvm/compiler/nodes/memory/address/IndexAddressNode;)V
        18: .line 246
            goto 103
      StackMap locals:
      StackMap stack:
        19: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.java.ArrayLengthNode
            ifeq 22
        20: .line 247
            aload 0 /* this */
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.java.ArrayLengthNode
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.lowerArrayLengthNode:(Lorg/graalvm/compiler/nodes/java/ArrayLengthNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
        21: .line 248
            goto 103
      StackMap locals:
      StackMap stack:
        22: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.extended.LoadHubNode
            ifeq 25
        23: .line 249
            aload 0 /* this */
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.extended.LoadHubNode
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.lowerLoadHubNode:(Lorg/graalvm/compiler/nodes/extended/LoadHubNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
        24: .line 250
            goto 103
      StackMap locals:
      StackMap stack:
        25: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.extended.LoadHubOrNullNode
            ifeq 28
        26: .line 251
            aload 0 /* this */
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.extended.LoadHubOrNullNode
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.lowerLoadHubOrNullNode:(Lorg/graalvm/compiler/nodes/extended/LoadHubOrNullNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
        27: .line 252
            goto 103
      StackMap locals:
      StackMap stack:
        28: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.extended.LoadArrayComponentHubNode
            ifeq 31
        29: .line 253
            aload 0 /* this */
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.extended.LoadArrayComponentHubNode
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.lowerLoadArrayComponentHubNode:(Lorg/graalvm/compiler/nodes/extended/LoadArrayComponentHubNode;)V
        30: .line 254
            goto 103
      StackMap locals:
      StackMap stack:
        31: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.java.UnsafeCompareAndSwapNode
            ifeq 34
        32: .line 255
            aload 0 /* this */
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.java.UnsafeCompareAndSwapNode
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.lowerCompareAndSwapNode:(Lorg/graalvm/compiler/nodes/java/UnsafeCompareAndSwapNode;)V
        33: .line 256
            goto 103
      StackMap locals:
      StackMap stack:
        34: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.java.UnsafeCompareAndExchangeNode
            ifeq 37
        35: .line 257
            aload 0 /* this */
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.java.UnsafeCompareAndExchangeNode
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.lowerCompareAndExchangeNode:(Lorg/graalvm/compiler/nodes/java/UnsafeCompareAndExchangeNode;)V
        36: .line 258
            goto 103
      StackMap locals:
      StackMap stack:
        37: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.java.AtomicReadAndWriteNode
            ifeq 40
        38: .line 259
            aload 0 /* this */
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.java.AtomicReadAndWriteNode
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.lowerAtomicReadAndWriteNode:(Lorg/graalvm/compiler/nodes/java/AtomicReadAndWriteNode;)V
        39: .line 260
            goto 103
      StackMap locals:
      StackMap stack:
        40: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.extended.RawLoadNode
            ifeq 43
        41: .line 261
            aload 0 /* this */
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.extended.RawLoadNode
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.lowerUnsafeLoadNode:(Lorg/graalvm/compiler/nodes/extended/RawLoadNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
        42: .line 262
            goto 103
      StackMap locals:
      StackMap stack:
        43: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.extended.UnsafeMemoryLoadNode
            ifeq 46
        44: .line 263
            aload 0 /* this */
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.extended.UnsafeMemoryLoadNode
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.lowerUnsafeMemoryLoadNode:(Lorg/graalvm/compiler/nodes/extended/UnsafeMemoryLoadNode;)V
        45: .line 264
            goto 103
      StackMap locals:
      StackMap stack:
        46: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.extended.RawStoreNode
            ifeq 49
        47: .line 265
            aload 0 /* this */
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.extended.RawStoreNode
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.lowerUnsafeStoreNode:(Lorg/graalvm/compiler/nodes/extended/RawStoreNode;)V
        48: .line 266
            goto 103
      StackMap locals:
      StackMap stack:
        49: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.extended.UnsafeMemoryStoreNode
            ifeq 52
        50: .line 267
            aload 0 /* this */
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.extended.UnsafeMemoryStoreNode
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.lowerUnsafeMemoryStoreNode:(Lorg/graalvm/compiler/nodes/extended/UnsafeMemoryStoreNode;)V
        51: .line 268
            goto 103
      StackMap locals:
      StackMap stack:
        52: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.extended.JavaReadNode
            ifeq 55
        53: .line 269
            aload 0 /* this */
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.extended.JavaReadNode
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.lowerJavaReadNode:(Lorg/graalvm/compiler/nodes/extended/JavaReadNode;)V
        54: .line 270
            goto 103
      StackMap locals:
      StackMap stack:
        55: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.extended.JavaWriteNode
            ifeq 58
        56: .line 271
            aload 0 /* this */
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.extended.JavaWriteNode
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.lowerJavaWriteNode:(Lorg/graalvm/compiler/nodes/extended/JavaWriteNode;)V
        57: .line 272
            goto 103
      StackMap locals:
      StackMap stack:
        58: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.virtual.CommitAllocationNode
            ifeq 61
        59: .line 273
            aload 0 /* this */
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.virtual.CommitAllocationNode
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.lowerCommitAllocationNode:(Lorg/graalvm/compiler/nodes/virtual/CommitAllocationNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
        60: .line 274
            goto 103
      StackMap locals:
      StackMap stack:
        61: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.extended.BoxNode
            ifeq 71
        62: .line 275
            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 68
        63: .line 281
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.extended.BoxNode
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.metaAccess:Ljdk/vm/ci/meta/MetaAccessProvider;
            aload 2 /* tool */
            invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.getConstantReflection:()Ljdk/vm/ci/meta/ConstantReflectionProvider;
            invokestatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.canonicalizeBoxing:(Lorg/graalvm/compiler/nodes/extended/BoxNode;Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/meta/ConstantReflectionProvider;)Lorg/graalvm/compiler/nodes/calc/FloatingNode;
            astore 7 /* canonical */
        start local 7 // org.graalvm.compiler.nodes.calc.FloatingNode canonical
        64: .line 282
            aload 7 /* canonical */
            ifnull 103
        65: .line 283
            aload 1 /* n */
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.extended.BoxNode
            invokevirtual org.graalvm.compiler.nodes.extended.BoxNode.getLastLocationAccess:()Lorg/graalvm/compiler/nodes/memory/MemoryKill;
            checkcast org.graalvm.compiler.nodes.ValueNode
            getstatic org.graalvm.compiler.nodeinfo.InputType.Memory:Lorg/graalvm/compiler/nodeinfo/InputType;
            invokevirtual org.graalvm.compiler.graph.Node.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/nodeinfo/InputType;)V
        66: .line 284
            aload 3 /* graph */
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.FixedWithNextNode
            aload 7 /* canonical */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFloating:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
        end local 7 // org.graalvm.compiler.nodes.calc.FloatingNode canonical
        67: .line 286
            goto 103
      StackMap locals:
      StackMap stack:
        68: 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.MID_TIER:Lorg/graalvm/compiler/nodes/spi/LoweringTool$StandardLoweringStage;
            if_acmpne 103
        69: .line 287
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.boxingSnippets:Lorg/graalvm/compiler/replacements/BoxingSnippets$Templates;
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.extended.BoxNode
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.replacements.BoxingSnippets$Templates.lower:(Lorg/graalvm/compiler/nodes/extended/BoxNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
        70: .line 289
            goto 103
      StackMap locals:
      StackMap stack:
        71: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.extended.UnboxNode
            ifeq 75
        72: .line 290
            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.MID_TIER:Lorg/graalvm/compiler/nodes/spi/LoweringTool$StandardLoweringStage;
            if_acmpne 103
        73: .line 291
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.boxingSnippets:Lorg/graalvm/compiler/replacements/BoxingSnippets$Templates;
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.extended.UnboxNode
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.replacements.BoxingSnippets$Templates.lower:(Lorg/graalvm/compiler/nodes/extended/UnboxNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
        74: .line 293
            goto 103
      StackMap locals:
      StackMap stack:
        75: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.debug.VerifyHeapNode
            ifeq 78
        76: .line 294
            aload 0 /* this */
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.debug.VerifyHeapNode
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.lowerVerifyHeap:(Lorg/graalvm/compiler/nodes/debug/VerifyHeapNode;)V
        77: .line 295
            goto 103
      StackMap locals:
      StackMap stack:
        78: aload 1 /* n */
            instanceof org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode
            ifeq 81
        79: .line 296
            aload 0 /* this */
            aload 1 /* n */
            checkcast org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.lowerUnaryMath:(Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
        80: .line 297
            goto 103
      StackMap locals:
      StackMap stack:
        81: aload 1 /* n */
            instanceof org.graalvm.compiler.replacements.nodes.BinaryMathIntrinsicNode
            ifeq 84
        82: .line 298
            aload 0 /* this */
            aload 1 /* n */
            checkcast org.graalvm.compiler.replacements.nodes.BinaryMathIntrinsicNode
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.lowerBinaryMath:(Lorg/graalvm/compiler/replacements/nodes/BinaryMathIntrinsicNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
        83: .line 299
            goto 103
      StackMap locals:
      StackMap stack:
        84: aload 1 /* n */
            instanceof org.graalvm.compiler.replacements.StringIndexOfNode
            ifeq 87
        85: .line 300
            aload 0 /* this */
            aload 1 /* n */
            checkcast org.graalvm.compiler.replacements.StringIndexOfNode
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.lowerIndexOf:(Lorg/graalvm/compiler/replacements/StringIndexOfNode;)V
        86: .line 301
            goto 103
      StackMap locals:
      StackMap stack:
        87: aload 1 /* n */
            instanceof org.graalvm.compiler.replacements.StringLatin1IndexOfNode
            ifeq 90
        88: .line 302
            aload 0 /* this */
            aload 1 /* n */
            checkcast org.graalvm.compiler.replacements.StringLatin1IndexOfNode
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.lowerLatin1IndexOf:(Lorg/graalvm/compiler/replacements/StringLatin1IndexOfNode;)V
        89: .line 303
            goto 103
      StackMap locals:
      StackMap stack:
        90: aload 1 /* n */
            instanceof org.graalvm.compiler.replacements.StringUTF16IndexOfNode
            ifeq 93
        91: .line 304
            aload 0 /* this */
            aload 1 /* n */
            checkcast org.graalvm.compiler.replacements.StringUTF16IndexOfNode
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.lowerUTF16IndexOf:(Lorg/graalvm/compiler/replacements/StringUTF16IndexOfNode;)V
        92: .line 305
            goto 103
      StackMap locals:
      StackMap stack:
        93: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.calc.UnpackEndianHalfNode
            ifeq 96
        94: .line 306
            aload 0 /* this */
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.calc.UnpackEndianHalfNode
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.lowerSecondHalf:(Lorg/graalvm/compiler/nodes/calc/UnpackEndianHalfNode;)V
        95: .line 307
            goto 103
      StackMap locals:
      StackMap stack:
        96: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.memory.VolatileReadNode
            ifeq 99
        97: .line 308
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.memory.VolatileReadNode
            aload 2 /* tool */
            invokestatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.lowerVolatileRead:(Lorg/graalvm/compiler/nodes/memory/VolatileReadNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
        98: .line 309
            goto 103
      StackMap locals:
      StackMap stack:
        99: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.memory.VolatileWriteNode
            ifeq 102
       100: .line 310
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.memory.VolatileWriteNode
            aload 2 /* tool */
            invokestatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.lowerVolatileWrite:(Lorg/graalvm/compiler/nodes/memory/VolatileWriteNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
       101: .line 311
            goto 103
       102: .line 312
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "Node implementing Lowerable not handled: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* 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
       103: .line 314
      StackMap locals:
      StackMap stack:
            aload 6 /* context */
            ifnull 109
            aload 6 /* context */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
            goto 109
      StackMap locals:
      StackMap stack: java.lang.Throwable
       104: astore 4
            aload 6 /* context */
            ifnull 105
            aload 6 /* context */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
        end local 6 // org.graalvm.compiler.debug.DebugCloseable context
      StackMap locals:
      StackMap stack:
       105: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
       106: astore 5
            aload 4
            ifnonnull 107
            aload 5
            astore 4
            goto 108
      StackMap locals:
      StackMap stack:
       107: aload 4
            aload 5
            if_acmpeq 108
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
       108: aload 4
            athrow
       109: .line 315
      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.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0  110     0       this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0  110     1          n  Lorg/graalvm/compiler/graph/Node;
            0  110     2       tool  Lorg/graalvm/compiler/nodes/spi/LoweringTool;
            2  110     3      graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            4  105     6    context  Lorg/graalvm/compiler/debug/DebugCloseable;
           64   67     7  canonical  Lorg/graalvm/compiler/nodes/calc/FloatingNode;
      Exception table:
        from    to  target  type
           4   103     104  any
           3   106     106  any
    MethodParameters:
      Name  Flags
      n     
      tool  

  public static org.graalvm.compiler.nodes.calc.FloatingNode canonicalizeBoxing(org.graalvm.compiler.nodes.extended.BoxNode, jdk.vm.ci.meta.MetaAccessProvider, jdk.vm.ci.meta.ConstantReflectionProvider);
    descriptor: (Lorg/graalvm/compiler/nodes/extended/BoxNode;Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/meta/ConstantReflectionProvider;)Lorg/graalvm/compiler/nodes/calc/FloatingNode;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // org.graalvm.compiler.nodes.extended.BoxNode box
        start local 1 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
        start local 2 // jdk.vm.ci.meta.ConstantReflectionProvider constantReflection
         0: .line 318
            aload 0 /* box */
            invokevirtual org.graalvm.compiler.nodes.extended.BoxNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 3 /* value */
        start local 3 // org.graalvm.compiler.nodes.ValueNode value
         1: .line 319
            aload 3 /* value */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifeq 17
            getstatic org.graalvm.compiler.core.common.GraalOptions.ImmutableCode:Lorg/graalvm/compiler/options/OptionKey;
            aload 0 /* box */
            invokevirtual org.graalvm.compiler.nodes.extended.BoxNode.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 17
         2: .line 320
            aload 3 /* value */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
            astore 4 /* sourceConstant */
        start local 4 // jdk.vm.ci.meta.JavaConstant sourceConstant
         3: .line 321
            aload 4 /* sourceConstant */
            invokeinterface jdk.vm.ci.meta.JavaConstant.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            aload 0 /* box */
            invokevirtual org.graalvm.compiler.nodes.extended.BoxNode.getBoxingKind:()Ljdk/vm/ci/meta/JavaKind;
            if_acmpeq 14
            aload 4 /* sourceConstant */
            invokeinterface jdk.vm.ci.meta.JavaConstant.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.isNumericInteger:()Z
            ifeq 14
         4: .line 322
            invokestatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:()[I
            aload 0 /* box */
            invokevirtual org.graalvm.compiler.nodes.extended.BoxNode.getBoxingKind:()Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iaload
            tableswitch { // 1 - 4
                    1: 5
                    2: 9
                    3: 13
                    4: 11
              default: 14
          }
         5: .line 324
      StackMap locals: org.graalvm.compiler.nodes.ValueNode jdk.vm.ci.meta.JavaConstant
      StackMap stack:
            aload 4 /* sourceConstant */
            invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
            lconst_0
            lcmp
            ifeq 6
            iconst_1
            goto 7
      StackMap locals:
      StackMap stack:
         6: iconst_0
      StackMap locals:
      StackMap stack: int
         7: invokestatic jdk.vm.ci.meta.JavaConstant.forBoolean:(Z)Ljdk/vm/ci/meta/PrimitiveConstant;
            astore 4 /* sourceConstant */
         8: .line 325
            goto 14
         9: .line 327
      StackMap locals:
      StackMap stack:
            aload 4 /* sourceConstant */
            invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
            l2i
            i2b
            invokestatic jdk.vm.ci.meta.JavaConstant.forByte:(B)Ljdk/vm/ci/meta/PrimitiveConstant;
            astore 4 /* sourceConstant */
        10: .line 328
            goto 14
        11: .line 330
      StackMap locals:
      StackMap stack:
            aload 4 /* sourceConstant */
            invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
            l2i
            i2c
            invokestatic jdk.vm.ci.meta.JavaConstant.forChar:(C)Ljdk/vm/ci/meta/PrimitiveConstant;
            astore 4 /* sourceConstant */
        12: .line 331
            goto 14
        13: .line 333
      StackMap locals:
      StackMap stack:
            aload 4 /* sourceConstant */
            invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
            l2i
            i2s
            invokestatic jdk.vm.ci.meta.JavaConstant.forShort:(S)Ljdk/vm/ci/meta/PrimitiveConstant;
            astore 4 /* sourceConstant */
        14: .line 337
      StackMap locals:
      StackMap stack:
            aload 2 /* constantReflection */
            aload 4 /* sourceConstant */
            invokeinterface jdk.vm.ci.meta.ConstantReflectionProvider.boxPrimitive:(Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/JavaConstant;
            astore 5 /* boxedConstant */
        start local 5 // jdk.vm.ci.meta.JavaConstant boxedConstant
        15: .line 338
            aload 5 /* boxedConstant */
            ifnull 17
            aload 4 /* sourceConstant */
            invokeinterface jdk.vm.ci.meta.JavaConstant.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            aload 0 /* box */
            invokevirtual org.graalvm.compiler.nodes.extended.BoxNode.getBoxingKind:()Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 17
        16: .line 339
            aload 5 /* boxedConstant */
            aload 1 /* metaAccess */
            aload 0 /* box */
            invokevirtual org.graalvm.compiler.nodes.extended.BoxNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            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 5 // jdk.vm.ci.meta.JavaConstant boxedConstant
        end local 4 // jdk.vm.ci.meta.JavaConstant sourceConstant
        17: .line 342
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 3 // org.graalvm.compiler.nodes.ValueNode value
        end local 2 // jdk.vm.ci.meta.ConstantReflectionProvider constantReflection
        end local 1 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
        end local 0 // org.graalvm.compiler.nodes.extended.BoxNode box
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   18     0                 box  Lorg/graalvm/compiler/nodes/extended/BoxNode;
            0   18     1          metaAccess  Ljdk/vm/ci/meta/MetaAccessProvider;
            0   18     2  constantReflection  Ljdk/vm/ci/meta/ConstantReflectionProvider;
            1   18     3               value  Lorg/graalvm/compiler/nodes/ValueNode;
            3   17     4      sourceConstant  Ljdk/vm/ci/meta/JavaConstant;
           15   17     5       boxedConstant  Ljdk/vm/ci/meta/JavaConstant;
    MethodParameters:
                    Name  Flags
      box                 
      metaAccess          
      constantReflection  

  private void lowerSecondHalf(org.graalvm.compiler.nodes.calc.UnpackEndianHalfNode);
    descriptor: (Lorg/graalvm/compiler/nodes/calc/UnpackEndianHalfNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // org.graalvm.compiler.nodes.calc.UnpackEndianHalfNode n
         0: .line 346
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.target:Ljdk/vm/ci/code/TargetDescription;
            getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
            invokevirtual jdk.vm.ci.code.Architecture.getByteOrder:()Ljava/nio/ByteOrder;
            astore 2 /* byteOrder */
        start local 2 // java.nio.ByteOrder byteOrder
         1: .line 347
            aload 1 /* n */
            aload 2 /* byteOrder */
            invokevirtual org.graalvm.compiler.nodes.calc.UnpackEndianHalfNode.lower:(Ljava/nio/ByteOrder;)V
         2: .line 348
            return
        end local 2 // java.nio.ByteOrder byteOrder
        end local 1 // org.graalvm.compiler.nodes.calc.UnpackEndianHalfNode n
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0    3     1          n  Lorg/graalvm/compiler/nodes/calc/UnpackEndianHalfNode;
            1    3     2  byteOrder  Ljava/nio/ByteOrder;
    MethodParameters:
      Name  Flags
      n     

  private void lowerIndexOf(org.graalvm.compiler.replacements.StringIndexOfNode);
    descriptor: (Lorg/graalvm/compiler/replacements/StringIndexOfNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // org.graalvm.compiler.replacements.StringIndexOfNode n
         0: .line 351
            aload 1 /* n */
            iconst_3
            invokevirtual org.graalvm.compiler.replacements.StringIndexOfNode.getArgument:(I)Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifeq 5
         1: .line 352
            new org.graalvm.compiler.replacements.DefaultJavaLoweringProvider$1
            dup
            aload 0 /* this */
            invokespecial org.graalvm.compiler.replacements.DefaultJavaLoweringProvider$1.<init>:(Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;)V
            astore 2 /* lowering */
        start local 2 // org.graalvm.compiler.replacements.SnippetLowerableMemoryNode$SnippetLowering lowering
         2: .line 361
            new org.graalvm.compiler.replacements.SnippetLowerableMemoryNode
            dup
            aload 2 /* lowering */
            getstatic jdk.vm.ci.meta.JavaKind.Char:Ljdk/vm/ci/meta/JavaKind;
            invokestatic org.graalvm.compiler.nodes.NamedLocationIdentity.getArrayLocation:(Ljdk/vm/ci/meta/JavaKind;)Ljdk/internal/vm/compiler/word/LocationIdentity;
            aload 1 /* n */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.replacements.StringIndexOfNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            aload 1 /* n */
            invokevirtual org.graalvm.compiler.replacements.StringIndexOfNode.toArgumentArray:()[Lorg/graalvm/compiler/nodes/ValueNode;
            invokespecial org.graalvm.compiler.replacements.SnippetLowerableMemoryNode.<init>:(Lorg/graalvm/compiler/replacements/SnippetLowerableMemoryNode$SnippetLowering;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/core/common/type/Stamp;[Lorg/graalvm/compiler/nodes/ValueNode;)V
            astore 3 /* snippetLower */
        start local 3 // org.graalvm.compiler.replacements.SnippetLowerableMemoryNode snippetLower
         3: .line 362
            aload 1 /* n */
            invokevirtual org.graalvm.compiler.replacements.StringIndexOfNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            aload 3 /* snippetLower */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            pop
         4: .line 363
            aload 1 /* n */
            invokevirtual org.graalvm.compiler.replacements.StringIndexOfNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            aload 1 /* n */
            aload 3 /* snippetLower */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
        end local 3 // org.graalvm.compiler.replacements.SnippetLowerableMemoryNode snippetLower
        end local 2 // org.graalvm.compiler.replacements.SnippetLowerableMemoryNode$SnippetLowering lowering
         5: .line 365
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.graalvm.compiler.replacements.StringIndexOfNode n
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0    6     1             n  Lorg/graalvm/compiler/replacements/StringIndexOfNode;
            2    5     2      lowering  Lorg/graalvm/compiler/replacements/SnippetLowerableMemoryNode$SnippetLowering;
            3    5     3  snippetLower  Lorg/graalvm/compiler/replacements/SnippetLowerableMemoryNode;
    MethodParameters:
      Name  Flags
      n     

  private void lowerLatin1IndexOf(org.graalvm.compiler.replacements.StringLatin1IndexOfNode);
    descriptor: (Lorg/graalvm/compiler/replacements/StringLatin1IndexOfNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // org.graalvm.compiler.replacements.StringLatin1IndexOfNode n
         0: .line 368
            aload 1 /* n */
            iconst_2
            invokevirtual org.graalvm.compiler.replacements.StringLatin1IndexOfNode.getArgument:(I)Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifeq 5
         1: .line 369
            new org.graalvm.compiler.replacements.DefaultJavaLoweringProvider$2
            dup
            aload 0 /* this */
            invokespecial org.graalvm.compiler.replacements.DefaultJavaLoweringProvider$2.<init>:(Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;)V
            astore 2 /* lowering */
        start local 2 // org.graalvm.compiler.replacements.SnippetLowerableMemoryNode$SnippetLowering lowering
         2: .line 378
            new org.graalvm.compiler.replacements.SnippetLowerableMemoryNode
            dup
            aload 2 /* lowering */
            getstatic jdk.vm.ci.meta.JavaKind.Byte:Ljdk/vm/ci/meta/JavaKind;
            invokestatic org.graalvm.compiler.nodes.NamedLocationIdentity.getArrayLocation:(Ljdk/vm/ci/meta/JavaKind;)Ljdk/internal/vm/compiler/word/LocationIdentity;
            aload 1 /* n */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.replacements.StringLatin1IndexOfNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            aload 1 /* n */
            invokevirtual org.graalvm.compiler.replacements.StringLatin1IndexOfNode.toArgumentArray:()[Lorg/graalvm/compiler/nodes/ValueNode;
            invokespecial org.graalvm.compiler.replacements.SnippetLowerableMemoryNode.<init>:(Lorg/graalvm/compiler/replacements/SnippetLowerableMemoryNode$SnippetLowering;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/core/common/type/Stamp;[Lorg/graalvm/compiler/nodes/ValueNode;)V
            astore 3 /* snippetLower */
        start local 3 // org.graalvm.compiler.replacements.SnippetLowerableMemoryNode snippetLower
         3: .line 379
            aload 1 /* n */
            invokevirtual org.graalvm.compiler.replacements.StringLatin1IndexOfNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            aload 3 /* snippetLower */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            pop
         4: .line 380
            aload 1 /* n */
            invokevirtual org.graalvm.compiler.replacements.StringLatin1IndexOfNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            aload 1 /* n */
            aload 3 /* snippetLower */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
        end local 3 // org.graalvm.compiler.replacements.SnippetLowerableMemoryNode snippetLower
        end local 2 // org.graalvm.compiler.replacements.SnippetLowerableMemoryNode$SnippetLowering lowering
         5: .line 382
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.graalvm.compiler.replacements.StringLatin1IndexOfNode n
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0    6     1             n  Lorg/graalvm/compiler/replacements/StringLatin1IndexOfNode;
            2    5     2      lowering  Lorg/graalvm/compiler/replacements/SnippetLowerableMemoryNode$SnippetLowering;
            3    5     3  snippetLower  Lorg/graalvm/compiler/replacements/SnippetLowerableMemoryNode;
    MethodParameters:
      Name  Flags
      n     

  private void lowerUTF16IndexOf(org.graalvm.compiler.replacements.StringUTF16IndexOfNode);
    descriptor: (Lorg/graalvm/compiler/replacements/StringUTF16IndexOfNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // org.graalvm.compiler.replacements.StringUTF16IndexOfNode n
         0: .line 385
            aload 1 /* n */
            iconst_2
            invokevirtual org.graalvm.compiler.replacements.StringUTF16IndexOfNode.getArgument:(I)Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifeq 5
         1: .line 386
            new org.graalvm.compiler.replacements.DefaultJavaLoweringProvider$3
            dup
            aload 0 /* this */
            invokespecial org.graalvm.compiler.replacements.DefaultJavaLoweringProvider$3.<init>:(Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;)V
            astore 2 /* lowering */
        start local 2 // org.graalvm.compiler.replacements.SnippetLowerableMemoryNode$SnippetLowering lowering
         2: .line 395
            new org.graalvm.compiler.replacements.SnippetLowerableMemoryNode
            dup
            aload 2 /* lowering */
            getstatic jdk.vm.ci.meta.JavaKind.Byte:Ljdk/vm/ci/meta/JavaKind;
            invokestatic org.graalvm.compiler.nodes.NamedLocationIdentity.getArrayLocation:(Ljdk/vm/ci/meta/JavaKind;)Ljdk/internal/vm/compiler/word/LocationIdentity;
            aload 1 /* n */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.replacements.StringUTF16IndexOfNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            aload 1 /* n */
            invokevirtual org.graalvm.compiler.replacements.StringUTF16IndexOfNode.toArgumentArray:()[Lorg/graalvm/compiler/nodes/ValueNode;
            invokespecial org.graalvm.compiler.replacements.SnippetLowerableMemoryNode.<init>:(Lorg/graalvm/compiler/replacements/SnippetLowerableMemoryNode$SnippetLowering;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/core/common/type/Stamp;[Lorg/graalvm/compiler/nodes/ValueNode;)V
            astore 3 /* snippetLower */
        start local 3 // org.graalvm.compiler.replacements.SnippetLowerableMemoryNode snippetLower
         3: .line 396
            aload 1 /* n */
            invokevirtual org.graalvm.compiler.replacements.StringUTF16IndexOfNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            aload 3 /* snippetLower */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            pop
         4: .line 397
            aload 1 /* n */
            invokevirtual org.graalvm.compiler.replacements.StringUTF16IndexOfNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            aload 1 /* n */
            aload 3 /* snippetLower */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
        end local 3 // org.graalvm.compiler.replacements.SnippetLowerableMemoryNode snippetLower
        end local 2 // org.graalvm.compiler.replacements.SnippetLowerableMemoryNode$SnippetLowering lowering
         5: .line 399
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.graalvm.compiler.replacements.StringUTF16IndexOfNode n
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0    6     1             n  Lorg/graalvm/compiler/replacements/StringUTF16IndexOfNode;
            2    5     2      lowering  Lorg/graalvm/compiler/replacements/SnippetLowerableMemoryNode$SnippetLowering;
            3    5     3  snippetLower  Lorg/graalvm/compiler/replacements/SnippetLowerableMemoryNode;
    MethodParameters:
      Name  Flags
      n     

  private void lowerBinaryMath(org.graalvm.compiler.replacements.nodes.BinaryMathIntrinsicNode, org.graalvm.compiler.nodes.spi.LoweringTool);
    descriptor: (Lorg/graalvm/compiler/replacements/nodes/BinaryMathIntrinsicNode;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.replacements.DefaultJavaLoweringProvider this
        start local 1 // org.graalvm.compiler.replacements.nodes.BinaryMathIntrinsicNode math
        start local 2 // org.graalvm.compiler.nodes.spi.LoweringTool tool
         0: .line 402
            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 403
            return
         2: .line 405
      StackMap locals:
      StackMap stack:
            aload 1 /* math */
            invokevirtual org.graalvm.compiler.replacements.nodes.BinaryMathIntrinsicNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.method:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
            astore 3 /* method */
        start local 3 // jdk.vm.ci.meta.ResolvedJavaMethod method
         3: .line 406
            aload 3 /* method */
            ifnull 8
         4: .line 407
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.replacements:Lorg/graalvm/compiler/nodes/spi/Replacements;
            aload 3 /* method */
            invokeinterface org.graalvm.compiler.nodes.spi.Replacements.isSnippet:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
            ifeq 6
         5: .line 410
            return
         6: .line 412
      StackMap locals: jdk.vm.ci.meta.ResolvedJavaMethod
      StackMap stack:
            aload 3 /* method */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getName:()Ljava/lang/String;
            aload 1 /* math */
            invokevirtual org.graalvm.compiler.replacements.nodes.BinaryMathIntrinsicNode.getOperation:()Lorg/graalvm/compiler/replacements/nodes/BinaryMathIntrinsicNode$BinaryOperation;
            invokevirtual org.graalvm.compiler.replacements.nodes.BinaryMathIntrinsicNode$BinaryOperation.name:()Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 8
            aload 2 /* tool */
            invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            ldc Ljava/lang/Math;
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
            aload 3 /* method */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 8
         7: .line 415
            return
         8: .line 418
      StackMap locals:
      StackMap stack:
            aload 1 /* math */
            invokevirtual org.graalvm.compiler.replacements.nodes.BinaryMathIntrinsicNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 4 /* graph */
        start local 4 // org.graalvm.compiler.nodes.StructuredGraph graph
         9: .line 419
            aload 4 /* graph */
            new org.graalvm.compiler.nodes.extended.ForeignCallNode
            dup
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.foreignCalls:Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;
            aload 1 /* math */
            invokevirtual org.graalvm.compiler.replacements.nodes.BinaryMathIntrinsicNode.getOperation:()Lorg/graalvm/compiler/replacements/nodes/BinaryMathIntrinsicNode$BinaryOperation;
            getfield org.graalvm.compiler.replacements.nodes.BinaryMathIntrinsicNode$BinaryOperation.foreignCallSignature:Lorg/graalvm/compiler/core/common/spi/ForeignCallSignature;
            iconst_2
            anewarray org.graalvm.compiler.nodes.ValueNode
            dup
            iconst_0
            aload 1 /* math */
            invokevirtual org.graalvm.compiler.replacements.nodes.BinaryMathIntrinsicNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
            aastore
            dup
            iconst_1
            aload 1 /* math */
            invokevirtual org.graalvm.compiler.replacements.nodes.BinaryMathIntrinsicNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
            aastore
            invokespecial org.graalvm.compiler.nodes.extended.ForeignCallNode.<init>:(Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;Lorg/graalvm/compiler/core/common/spi/ForeignCallSignature;[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 /* call */
        start local 5 // org.graalvm.compiler.nodes.extended.ForeignCallNode call
        10: .line 420
            aload 4 /* graph */
            aload 2 /* tool */
            invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.lastFixedNode:()Lorg/graalvm/compiler/nodes/FixedWithNextNode;
            aload 5 /* call */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addAfterFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedNode;)V
        11: .line 421
            aload 1 /* math */
            aload 5 /* call */
            invokevirtual org.graalvm.compiler.replacements.nodes.BinaryMathIntrinsicNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
        12: .line 422
            return
        end local 5 // org.graalvm.compiler.nodes.extended.ForeignCallNode call
        end local 4 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 3 // jdk.vm.ci.meta.ResolvedJavaMethod method
        end local 2 // org.graalvm.compiler.nodes.spi.LoweringTool tool
        end local 1 // org.graalvm.compiler.replacements.nodes.BinaryMathIntrinsicNode math
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   13     0    this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0   13     1    math  Lorg/graalvm/compiler/replacements/nodes/BinaryMathIntrinsicNode;
            0   13     2    tool  Lorg/graalvm/compiler/nodes/spi/LoweringTool;
            3   13     3  method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            9   13     4   graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
           10   13     5    call  Lorg/graalvm/compiler/nodes/extended/ForeignCallNode;
    MethodParameters:
      Name  Flags
      math  
      tool  

  private void lowerUnaryMath(org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode, org.graalvm.compiler.nodes.spi.LoweringTool);
    descriptor: (Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=6, args_size=3
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode math
        start local 2 // org.graalvm.compiler.nodes.spi.LoweringTool tool
         0: .line 425
            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 426
            return
         2: .line 428
      StackMap locals:
      StackMap stack:
            aload 1 /* math */
            invokevirtual org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.method:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
            astore 3 /* method */
        start local 3 // jdk.vm.ci.meta.ResolvedJavaMethod method
         3: .line 429
            aload 3 /* method */
            ifnull 6
         4: .line 430
            aload 3 /* method */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getName:()Ljava/lang/String;
            aload 1 /* math */
            invokevirtual org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode.getOperation:()Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;
            invokevirtual org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode$UnaryOperation.name:()Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 6
            aload 2 /* tool */
            invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            ldc Ljava/lang/Math;
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
            aload 3 /* method */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 433
            return
         6: .line 436
      StackMap locals: jdk.vm.ci.meta.ResolvedJavaMethod
      StackMap stack:
            aload 1 /* math */
            invokevirtual org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 4 /* graph */
        start local 4 // org.graalvm.compiler.nodes.StructuredGraph graph
         7: .line 437
            aload 1 /* math */
            invokevirtual org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            new org.graalvm.compiler.nodes.extended.ForeignCallNode
            dup
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.foreignCalls:Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;
            aload 1 /* math */
            invokevirtual org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode.getOperation:()Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;
            getfield org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode$UnaryOperation.foreignCallSignature:Lorg/graalvm/compiler/core/common/spi/ForeignCallSignature;
            invokeinterface org.graalvm.compiler.core.common.spi.ForeignCallsProvider.getDescriptor:(Lorg/graalvm/compiler/core/common/spi/ForeignCallSignature;)Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
            iconst_1
            anewarray org.graalvm.compiler.nodes.ValueNode
            dup
            iconst_0
            aload 1 /* math */
            invokevirtual org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
            aastore
            invokespecial org.graalvm.compiler.nodes.extended.ForeignCallNode.<init>:(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 /* call */
        start local 5 // org.graalvm.compiler.nodes.extended.ForeignCallNode call
         8: .line 438
            aload 4 /* graph */
            aload 2 /* tool */
            invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.lastFixedNode:()Lorg/graalvm/compiler/nodes/FixedWithNextNode;
            aload 5 /* call */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addAfterFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedNode;)V
         9: .line 439
            aload 1 /* math */
            aload 5 /* call */
            invokevirtual org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
        10: .line 440
            return
        end local 5 // org.graalvm.compiler.nodes.extended.ForeignCallNode call
        end local 4 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 3 // jdk.vm.ci.meta.ResolvedJavaMethod method
        end local 2 // org.graalvm.compiler.nodes.spi.LoweringTool tool
        end local 1 // org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode math
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0   11     1    math  Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode;
            0   11     2    tool  Lorg/graalvm/compiler/nodes/spi/LoweringTool;
            3   11     3  method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            7   11     4   graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            8   11     5    call  Lorg/graalvm/compiler/nodes/extended/ForeignCallNode;
    MethodParameters:
      Name  Flags
      math  
      tool  

  protected void lowerVerifyHeap(org.graalvm.compiler.nodes.debug.VerifyHeapNode);
    descriptor: (Lorg/graalvm/compiler/nodes/debug/VerifyHeapNode;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // org.graalvm.compiler.nodes.debug.VerifyHeapNode n
         0: .line 443
            aload 1 /* n */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.removeFixedWithUnusedInputs:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
         1: .line 444
            return
        end local 1 // org.graalvm.compiler.nodes.debug.VerifyHeapNode n
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0    2     1     n  Lorg/graalvm/compiler/nodes/debug/VerifyHeapNode;
    MethodParameters:
      Name  Flags
      n     

  public org.graalvm.compiler.nodes.memory.address.AddressNode createOffsetAddress(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.nodes.ValueNode, long);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;J)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        start local 2 // org.graalvm.compiler.nodes.ValueNode object
        start local 3 // long offset
         0: .line 447
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.target:Ljdk/vm/ci/code/TargetDescription;
            getfield jdk.vm.ci.code.TargetDescription.wordJavaKind:Ljdk/vm/ci/meta/JavaKind;
            lload 3 /* offset */
            aload 1 /* graph */
            invokestatic org.graalvm.compiler.nodes.ConstantNode.forIntegerKind:(Ljdk/vm/ci/meta/JavaKind;JLorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
            astore 5 /* o */
        start local 5 // org.graalvm.compiler.nodes.ValueNode o
         1: .line 448
            aload 1 /* graph */
            new org.graalvm.compiler.nodes.memory.address.OffsetAddressNode
            dup
            aload 2 /* object */
            aload 5 /* o */
            invokespecial org.graalvm.compiler.nodes.memory.address.OffsetAddressNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;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.memory.address.AddressNode
            areturn
        end local 5 // org.graalvm.compiler.nodes.ValueNode o
        end local 3 // long offset
        end local 2 // org.graalvm.compiler.nodes.ValueNode object
        end local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0    2     1   graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0    2     2  object  Lorg/graalvm/compiler/nodes/ValueNode;
            0    2     3  offset  J
            1    2     5       o  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
        Name  Flags
      graph   
      object  
      offset  

  public org.graalvm.compiler.nodes.memory.address.AddressNode createFieldAddress(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.nodes.ValueNode, jdk.vm.ci.meta.ResolvedJavaField);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/ResolvedJavaField;)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        start local 2 // org.graalvm.compiler.nodes.ValueNode object
        start local 3 // jdk.vm.ci.meta.ResolvedJavaField field
         0: .line 452
            aload 0 /* this */
            aload 3 /* field */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.fieldOffset:(Ljdk/vm/ci/meta/ResolvedJavaField;)I
            istore 4 /* offset */
        start local 4 // int offset
         1: .line 453
            iload 4 /* offset */
            iflt 3
         2: .line 454
            aload 0 /* this */
            aload 1 /* graph */
            aload 2 /* object */
            iload 4 /* offset */
            i2l
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createOffsetAddress:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;J)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            areturn
         3: .line 456
      StackMap locals: int
      StackMap stack:
            aconst_null
            areturn
        end local 4 // int offset
        end local 3 // jdk.vm.ci.meta.ResolvedJavaField field
        end local 2 // org.graalvm.compiler.nodes.ValueNode object
        end local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0    4     1   graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0    4     2  object  Lorg/graalvm/compiler/nodes/ValueNode;
            0    4     3   field  Ljdk/vm/ci/meta/ResolvedJavaField;
            1    4     4  offset  I
    MethodParameters:
        Name  Flags
      graph   
      object  
      field   

  public final jdk.vm.ci.meta.JavaKind getStorageKind(jdk.vm.ci.meta.ResolvedJavaField);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaField;)Ljdk/vm/ci/meta/JavaKind;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // jdk.vm.ci.meta.ResolvedJavaField field
         0: .line 461
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.metaAccessExtensionProvider:Lorg/graalvm/compiler/core/common/spi/MetaAccessExtensionProvider;
            aload 1 /* field */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaField.getType:()Ljdk/vm/ci/meta/JavaType;
            invokeinterface org.graalvm.compiler.core.common.spi.MetaAccessExtensionProvider.getStorageKind:(Ljdk/vm/ci/meta/JavaType;)Ljdk/vm/ci/meta/JavaKind;
            areturn
        end local 1 // jdk.vm.ci.meta.ResolvedJavaField field
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0    1     1  field  Ljdk/vm/ci/meta/ResolvedJavaField;
    MethodParameters:
       Name  Flags
      field  

  protected void lowerLoadFieldNode(org.graalvm.compiler.nodes.java.LoadFieldNode, org.graalvm.compiler.nodes.spi.LoweringTool);
    descriptor: (Lorg/graalvm/compiler/nodes/java/LoadFieldNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=11, args_size=3
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // org.graalvm.compiler.nodes.java.LoadFieldNode loadField
        start local 2 // org.graalvm.compiler.nodes.spi.LoweringTool tool
         0: .line 465
            getstatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.$assertionsDisabled:Z
            ifne 1
            aload 1 /* loadField */
            invokevirtual org.graalvm.compiler.nodes.java.LoadFieldNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
            getstatic jdk.vm.ci.meta.JavaKind.Illegal:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 466
      StackMap locals:
      StackMap stack:
            aload 1 /* loadField */
            invokevirtual org.graalvm.compiler.nodes.java.LoadFieldNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 3 /* graph */
        start local 3 // org.graalvm.compiler.nodes.StructuredGraph graph
         2: .line 467
            aload 1 /* loadField */
            invokevirtual org.graalvm.compiler.nodes.java.LoadFieldNode.field:()Ljdk/vm/ci/meta/ResolvedJavaField;
            astore 4 /* field */
        start local 4 // jdk.vm.ci.meta.ResolvedJavaField field
         3: .line 468
            aload 1 /* loadField */
            invokevirtual org.graalvm.compiler.nodes.java.LoadFieldNode.isStatic:()Z
            ifeq 4
            aload 0 /* this */
            aload 3 /* graph */
            aload 4 /* field */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.staticFieldBase:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/ResolvedJavaField;)Lorg/graalvm/compiler/nodes/ValueNode;
            goto 5
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaField
      StackMap stack:
         4: aload 1 /* loadField */
            invokevirtual org.graalvm.compiler.nodes.java.LoadFieldNode.object:()Lorg/graalvm/compiler/nodes/ValueNode;
      StackMap locals:
      StackMap stack: org.graalvm.compiler.nodes.ValueNode
         5: astore 5 /* object */
        start local 5 // org.graalvm.compiler.nodes.ValueNode object
         6: .line 469
            aload 0 /* this */
            aload 5 /* object */
            aload 1 /* loadField */
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createNullCheckedValue:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 5 /* object */
         7: .line 470
            aload 0 /* this */
            aload 1 /* loadField */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.nodes.java.LoadFieldNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            aload 0 /* this */
            aload 4 /* field */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.getStorageKind:(Ljdk/vm/ci/meta/ResolvedJavaField;)Ljdk/vm/ci/meta/JavaKind;
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.loadStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/core/common/type/Stamp;
            astore 6 /* loadStamp */
        start local 6 // org.graalvm.compiler.core.common.type.Stamp loadStamp
         8: .line 472
            aload 0 /* this */
            aload 3 /* graph */
            aload 5 /* object */
            aload 4 /* field */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createFieldAddress:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/ResolvedJavaField;)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            astore 7 /* address */
        start local 7 // org.graalvm.compiler.nodes.memory.address.AddressNode address
         9: .line 473
            getstatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.$assertionsDisabled:Z
            ifne 10
            aload 7 /* address */
            ifnonnull 10
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Field that is loaded must not be eliminated: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* field */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaField.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
            iconst_1
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.toJavaName:(Z)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* field */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaField.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        10: .line 475
      StackMap locals: org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.nodes.memory.address.AddressNode
      StackMap stack:
            aconst_null
            astore 8 /* memoryRead */
        start local 8 // org.graalvm.compiler.nodes.memory.ReadNode memoryRead
        11: .line 476
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.barrierSet:Lorg/graalvm/compiler/nodes/gc/BarrierSet;
            aload 4 /* field */
            aload 0 /* this */
            aload 4 /* field */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.getStorageKind:(Ljdk/vm/ci/meta/ResolvedJavaField;)Ljdk/vm/ci/meta/JavaKind;
            invokeinterface org.graalvm.compiler.nodes.gc.BarrierSet.fieldLoadBarrierType:(Ljdk/vm/ci/meta/ResolvedJavaField;Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
            astore 9 /* barrierType */
        start local 9 // org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType barrierType
        12: .line 477
            aload 1 /* loadField */
            invokevirtual org.graalvm.compiler.nodes.java.LoadFieldNode.isVolatile:()Z
            ifeq 15
        13: .line 478
            aload 3 /* graph */
            new org.graalvm.compiler.nodes.memory.VolatileReadNode
            dup
            aload 7 /* address */
            aload 6 /* loadStamp */
            aload 9 /* barrierType */
            invokespecial org.graalvm.compiler.nodes.memory.VolatileReadNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$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 8 /* memoryRead */
        14: .line 479
            goto 16
        15: .line 480
      StackMap locals: org.graalvm.compiler.nodes.memory.ReadNode org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType
      StackMap stack:
            aload 3 /* graph */
            new org.graalvm.compiler.nodes.memory.ReadNode
            dup
            aload 7 /* address */
            aload 0 /* this */
            aload 4 /* field */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.fieldLocationIdentity:(Ljdk/vm/ci/meta/ResolvedJavaField;)Lorg/graalvm/compiler/nodes/FieldLocationIdentity;
            aload 6 /* loadStamp */
            aload 9 /* barrierType */
            invokespecial org.graalvm.compiler.nodes.memory.ReadNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$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 8 /* memoryRead */
        16: .line 482
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* graph */
            aload 0 /* this */
            aload 4 /* field */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.getStorageKind:(Ljdk/vm/ci/meta/ResolvedJavaField;)Ljdk/vm/ci/meta/JavaKind;
            aload 8 /* memoryRead */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.implicitLoadConvert:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 10 /* readValue */
        start local 10 // org.graalvm.compiler.nodes.ValueNode readValue
        17: .line 483
            aload 1 /* loadField */
            aload 10 /* readValue */
            invokevirtual org.graalvm.compiler.nodes.java.LoadFieldNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
        18: .line 484
            aload 3 /* graph */
            aload 1 /* loadField */
            aload 8 /* memoryRead */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/graph/Node;)V
        19: .line 485
            return
        end local 10 // org.graalvm.compiler.nodes.ValueNode readValue
        end local 9 // org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType barrierType
        end local 8 // org.graalvm.compiler.nodes.memory.ReadNode memoryRead
        end local 7 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        end local 6 // org.graalvm.compiler.core.common.type.Stamp loadStamp
        end local 5 // org.graalvm.compiler.nodes.ValueNode object
        end local 4 // jdk.vm.ci.meta.ResolvedJavaField field
        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.java.LoadFieldNode loadField
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   20     0         this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0   20     1    loadField  Lorg/graalvm/compiler/nodes/java/LoadFieldNode;
            0   20     2         tool  Lorg/graalvm/compiler/nodes/spi/LoweringTool;
            2   20     3        graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            3   20     4        field  Ljdk/vm/ci/meta/ResolvedJavaField;
            6   20     5       object  Lorg/graalvm/compiler/nodes/ValueNode;
            8   20     6    loadStamp  Lorg/graalvm/compiler/core/common/type/Stamp;
            9   20     7      address  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
           11   20     8   memoryRead  Lorg/graalvm/compiler/nodes/memory/ReadNode;
           12   20     9  barrierType  Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
           17   20    10    readValue  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
           Name  Flags
      loadField  
      tool       

  protected void lowerStoreFieldNode(org.graalvm.compiler.nodes.java.StoreFieldNode, org.graalvm.compiler.nodes.spi.LoweringTool);
    descriptor: (Lorg/graalvm/compiler/nodes/java/StoreFieldNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=10, args_size=3
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // org.graalvm.compiler.nodes.java.StoreFieldNode storeField
        start local 2 // org.graalvm.compiler.nodes.spi.LoweringTool tool
         0: .line 488
            aload 1 /* storeField */
            invokevirtual org.graalvm.compiler.nodes.java.StoreFieldNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 3 /* graph */
        start local 3 // org.graalvm.compiler.nodes.StructuredGraph graph
         1: .line 489
            aload 1 /* storeField */
            invokevirtual org.graalvm.compiler.nodes.java.StoreFieldNode.field:()Ljdk/vm/ci/meta/ResolvedJavaField;
            astore 4 /* field */
        start local 4 // jdk.vm.ci.meta.ResolvedJavaField field
         2: .line 490
            aload 1 /* storeField */
            invokevirtual org.graalvm.compiler.nodes.java.StoreFieldNode.isStatic:()Z
            ifeq 3
            aload 0 /* this */
            aload 3 /* graph */
            aload 4 /* field */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.staticFieldBase:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/ResolvedJavaField;)Lorg/graalvm/compiler/nodes/ValueNode;
            goto 4
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaField
      StackMap stack:
         3: aload 1 /* storeField */
            invokevirtual org.graalvm.compiler.nodes.java.StoreFieldNode.object:()Lorg/graalvm/compiler/nodes/ValueNode;
      StackMap locals:
      StackMap stack: org.graalvm.compiler.nodes.ValueNode
         4: astore 5 /* object */
        start local 5 // org.graalvm.compiler.nodes.ValueNode object
         5: .line 491
            aload 0 /* this */
            aload 5 /* object */
            aload 1 /* storeField */
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createNullCheckedValue:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 5 /* object */
         6: .line 492
            aload 0 /* this */
            aload 3 /* graph */
            aload 0 /* this */
            aload 1 /* storeField */
            invokevirtual org.graalvm.compiler.nodes.java.StoreFieldNode.field:()Ljdk/vm/ci/meta/ResolvedJavaField;
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.getStorageKind:(Ljdk/vm/ci/meta/ResolvedJavaField;)Ljdk/vm/ci/meta/JavaKind;
            aload 1 /* storeField */
            invokevirtual org.graalvm.compiler.nodes.java.StoreFieldNode.value:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.implicitStoreConvert:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 6 /* value */
        start local 6 // org.graalvm.compiler.nodes.ValueNode value
         7: .line 493
            aload 0 /* this */
            aload 3 /* graph */
            aload 5 /* object */
            aload 4 /* field */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createFieldAddress:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/ResolvedJavaField;)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            astore 7 /* address */
        start local 7 // org.graalvm.compiler.nodes.memory.address.AddressNode address
         8: .line 494
            getstatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.$assertionsDisabled:Z
            ifne 9
            aload 7 /* address */
            ifnonnull 9
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         9: .line 496
      StackMap locals: org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.memory.address.AddressNode
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.barrierSet:Lorg/graalvm/compiler/nodes/gc/BarrierSet;
            aload 4 /* field */
            aload 0 /* this */
            aload 4 /* field */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.getStorageKind:(Ljdk/vm/ci/meta/ResolvedJavaField;)Ljdk/vm/ci/meta/JavaKind;
            invokeinterface org.graalvm.compiler.nodes.gc.BarrierSet.fieldStoreBarrierType:(Ljdk/vm/ci/meta/ResolvedJavaField;Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
            astore 8 /* barrierType */
        start local 8 // org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType barrierType
        10: .line 497
            aconst_null
            astore 9 /* memoryWrite */
        start local 9 // org.graalvm.compiler.nodes.memory.WriteNode memoryWrite
        11: .line 498
            aload 1 /* storeField */
            invokevirtual org.graalvm.compiler.nodes.java.StoreFieldNode.isVolatile:()Z
            ifeq 14
        12: .line 499
            aload 3 /* graph */
            new org.graalvm.compiler.nodes.memory.VolatileWriteNode
            dup
            aload 7 /* address */
            aload 0 /* this */
            aload 4 /* field */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.fieldLocationIdentity:(Ljdk/vm/ci/meta/ResolvedJavaField;)Lorg/graalvm/compiler/nodes/FieldLocationIdentity;
            aload 6 /* value */
            aload 8 /* barrierType */
            invokespecial org.graalvm.compiler.nodes.memory.VolatileWriteNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$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 9 /* memoryWrite */
        13: .line 500
            goto 15
        14: .line 501
      StackMap locals: org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType org.graalvm.compiler.nodes.memory.WriteNode
      StackMap stack:
            aload 3 /* graph */
            new org.graalvm.compiler.nodes.memory.WriteNode
            dup
            aload 7 /* address */
            aload 0 /* this */
            aload 4 /* field */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.fieldLocationIdentity:(Ljdk/vm/ci/meta/ResolvedJavaField;)Lorg/graalvm/compiler/nodes/FieldLocationIdentity;
            aload 6 /* value */
            aload 8 /* barrierType */
            invokespecial org.graalvm.compiler.nodes.memory.WriteNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$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 9 /* memoryWrite */
        15: .line 503
      StackMap locals:
      StackMap stack:
            aload 9 /* memoryWrite */
            aload 1 /* storeField */
            invokevirtual org.graalvm.compiler.nodes.java.StoreFieldNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
            invokevirtual org.graalvm.compiler.nodes.memory.WriteNode.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
        16: .line 504
            aload 3 /* graph */
            aload 1 /* storeField */
            aload 9 /* memoryWrite */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
        17: .line 505
            return
        end local 9 // org.graalvm.compiler.nodes.memory.WriteNode memoryWrite
        end local 8 // org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType barrierType
        end local 7 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        end local 6 // org.graalvm.compiler.nodes.ValueNode value
        end local 5 // org.graalvm.compiler.nodes.ValueNode object
        end local 4 // jdk.vm.ci.meta.ResolvedJavaField field
        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.java.StoreFieldNode storeField
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   18     0         this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0   18     1   storeField  Lorg/graalvm/compiler/nodes/java/StoreFieldNode;
            0   18     2         tool  Lorg/graalvm/compiler/nodes/spi/LoweringTool;
            1   18     3        graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            2   18     4        field  Ljdk/vm/ci/meta/ResolvedJavaField;
            5   18     5       object  Lorg/graalvm/compiler/nodes/ValueNode;
            7   18     6        value  Lorg/graalvm/compiler/nodes/ValueNode;
            8   18     7      address  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
           10   18     8  barrierType  Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
           11   18     9  memoryWrite  Lorg/graalvm/compiler/nodes/memory/WriteNode;
    MethodParameters:
            Name  Flags
      storeField  
      tool        

  public org.graalvm.compiler.nodes.memory.address.AddressNode createArrayIndexAddress(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.nodes.ValueNode, jdk.vm.ci.meta.JavaKind, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.extended.GuardingNode);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/extended/GuardingNode;)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=6
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        start local 2 // org.graalvm.compiler.nodes.ValueNode array
        start local 3 // jdk.vm.ci.meta.JavaKind elementKind
        start local 4 // org.graalvm.compiler.nodes.ValueNode index
        start local 5 // org.graalvm.compiler.nodes.extended.GuardingNode boundsCheck
         0: .line 514
            aload 1 /* graph */
            aload 4 /* index */
            getstatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.POSITIVE_ARRAY_INDEX_STAMP:Lorg/graalvm/compiler/core/common/type/IntegerStamp;
            aload 5 /* boundsCheck */
            ifnull 1
            aload 5 /* boundsCheck */
            invokeinterface org.graalvm.compiler.nodes.extended.GuardingNode.asNode:()Lorg/graalvm/compiler/nodes/ValueNode;
            goto 2
      StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.ValueNode jdk.vm.ci.meta.JavaKind org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.extended.GuardingNode
      StackMap stack: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.core.common.type.IntegerStamp
         1: aconst_null
      StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.ValueNode jdk.vm.ci.meta.JavaKind org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.extended.GuardingNode
      StackMap stack: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.core.common.type.IntegerStamp org.graalvm.compiler.nodes.ValueNode
         2: invokestatic org.graalvm.compiler.nodes.PiNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.maybeAddOrUnique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.ValueNode
            astore 6 /* positiveIndex */
        start local 6 // org.graalvm.compiler.nodes.ValueNode positiveIndex
         3: .line 515
            aload 0 /* this */
            aload 1 /* graph */
            aload 2 /* array */
            aload 3 /* elementKind */
            aload 6 /* positiveIndex */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createArrayAddress:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            areturn
        end local 6 // org.graalvm.compiler.nodes.ValueNode positiveIndex
        end local 5 // org.graalvm.compiler.nodes.extended.GuardingNode boundsCheck
        end local 4 // org.graalvm.compiler.nodes.ValueNode index
        end local 3 // jdk.vm.ci.meta.JavaKind elementKind
        end local 2 // org.graalvm.compiler.nodes.ValueNode array
        end local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0    4     1          graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0    4     2          array  Lorg/graalvm/compiler/nodes/ValueNode;
            0    4     3    elementKind  Ljdk/vm/ci/meta/JavaKind;
            0    4     4          index  Lorg/graalvm/compiler/nodes/ValueNode;
            0    4     5    boundsCheck  Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            3    4     6  positiveIndex  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
             Name  Flags
      graph        
      array        
      elementKind  
      index        
      boundsCheck  

  public org.graalvm.compiler.nodes.memory.address.AddressNode createArrayAddress(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.nodes.ValueNode, jdk.vm.ci.meta.JavaKind, org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        start local 2 // org.graalvm.compiler.nodes.ValueNode array
        start local 3 // jdk.vm.ci.meta.JavaKind elementKind
        start local 4 // org.graalvm.compiler.nodes.ValueNode index
         0: .line 519
            aload 0 /* this */
            aload 1 /* graph */
            aload 2 /* array */
            aload 3 /* elementKind */
            aload 3 /* elementKind */
            aload 4 /* index */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createArrayAddress:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            areturn
        end local 4 // org.graalvm.compiler.nodes.ValueNode index
        end local 3 // jdk.vm.ci.meta.JavaKind elementKind
        end local 2 // org.graalvm.compiler.nodes.ValueNode array
        end local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0    1     1        graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0    1     2        array  Lorg/graalvm/compiler/nodes/ValueNode;
            0    1     3  elementKind  Ljdk/vm/ci/meta/JavaKind;
            0    1     4        index  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
             Name  Flags
      graph        
      array        
      elementKind  
      index        

  public org.graalvm.compiler.nodes.memory.address.AddressNode createArrayAddress(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.nodes.ValueNode, jdk.vm.ci.meta.JavaKind, jdk.vm.ci.meta.JavaKind, org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=11, args_size=6
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        start local 2 // org.graalvm.compiler.nodes.ValueNode array
        start local 3 // jdk.vm.ci.meta.JavaKind arrayKind
        start local 4 // jdk.vm.ci.meta.JavaKind elementKind
        start local 5 // org.graalvm.compiler.nodes.ValueNode index
         0: .line 524
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.target:Ljdk/vm/ci/code/TargetDescription;
            getfield jdk.vm.ci.code.TargetDescription.wordSize:I
            iconst_4
            if_icmple 3
         1: .line 525
            aload 1 /* graph */
            new org.graalvm.compiler.nodes.calc.SignExtendNode
            dup
            aload 5 /* index */
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.target:Ljdk/vm/ci/code/TargetDescription;
            getfield jdk.vm.ci.code.TargetDescription.wordSize:I
            bipush 8
            imul
            invokespecial org.graalvm.compiler.nodes.calc.SignExtendNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;I)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.ValueNode
            astore 6 /* wordIndex */
        start local 6 // org.graalvm.compiler.nodes.ValueNode wordIndex
         2: .line 526
            goto 5
        end local 6 // org.graalvm.compiler.nodes.ValueNode wordIndex
         3: .line 527
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.$assertionsDisabled:Z
            ifne 4
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.target:Ljdk/vm/ci/code/TargetDescription;
            getfield jdk.vm.ci.code.TargetDescription.wordSize:I
            iconst_4
            if_icmpeq 4
            new java.lang.AssertionError
            dup
            ldc "unsupported word size"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 528
      StackMap locals:
      StackMap stack:
            aload 5 /* index */
            astore 6 /* wordIndex */
        start local 6 // org.graalvm.compiler.nodes.ValueNode wordIndex
         5: .line 531
      StackMap locals: org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.metaAccess:Ljdk/vm/ci/meta/MetaAccessProvider;
            aload 4 /* elementKind */
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.getArrayIndexScale:(Ljdk/vm/ci/meta/JavaKind;)I
            invokestatic jdk.vm.ci.code.CodeUtil.log2:(I)I
            istore 7 /* shift */
        start local 7 // int shift
         6: .line 532
            aload 1 /* graph */
            new org.graalvm.compiler.nodes.calc.LeftShiftNode
            dup
            aload 6 /* wordIndex */
            iload 7 /* shift */
            aload 1 /* graph */
            invokestatic org.graalvm.compiler.nodes.ConstantNode.forInt:(ILorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
            invokespecial org.graalvm.compiler.nodes.calc.LeftShiftNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;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
            astore 8 /* scaledIndex */
        start local 8 // org.graalvm.compiler.nodes.ValueNode scaledIndex
         7: .line 534
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.metaAccess:Ljdk/vm/ci/meta/MetaAccessProvider;
            aload 3 /* arrayKind */
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.getArrayBaseOffset:(Ljdk/vm/ci/meta/JavaKind;)I
            istore 9 /* base */
        start local 9 // int base
         8: .line 535
            aload 1 /* graph */
            new org.graalvm.compiler.nodes.calc.AddNode
            dup
            aload 8 /* scaledIndex */
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.target:Ljdk/vm/ci/code/TargetDescription;
            getfield jdk.vm.ci.code.TargetDescription.wordJavaKind:Ljdk/vm/ci/meta/JavaKind;
            iload 9 /* base */
            i2l
            aload 1 /* graph */
            invokestatic org.graalvm.compiler.nodes.ConstantNode.forIntegerKind:(Ljdk/vm/ci/meta/JavaKind;JLorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
            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.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.ValueNode
            astore 10 /* offset */
        start local 10 // org.graalvm.compiler.nodes.ValueNode offset
         9: .line 537
            aload 1 /* graph */
            new org.graalvm.compiler.nodes.memory.address.OffsetAddressNode
            dup
            aload 2 /* array */
            aload 10 /* offset */
            invokespecial org.graalvm.compiler.nodes.memory.address.OffsetAddressNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;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.memory.address.AddressNode
            areturn
        end local 10 // org.graalvm.compiler.nodes.ValueNode offset
        end local 9 // int base
        end local 8 // org.graalvm.compiler.nodes.ValueNode scaledIndex
        end local 7 // int shift
        end local 6 // org.graalvm.compiler.nodes.ValueNode wordIndex
        end local 5 // org.graalvm.compiler.nodes.ValueNode index
        end local 4 // jdk.vm.ci.meta.JavaKind elementKind
        end local 3 // jdk.vm.ci.meta.JavaKind arrayKind
        end local 2 // org.graalvm.compiler.nodes.ValueNode array
        end local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0         this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0   10     1        graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0   10     2        array  Lorg/graalvm/compiler/nodes/ValueNode;
            0   10     3    arrayKind  Ljdk/vm/ci/meta/JavaKind;
            0   10     4  elementKind  Ljdk/vm/ci/meta/JavaKind;
            0   10     5        index  Lorg/graalvm/compiler/nodes/ValueNode;
            2    3     6    wordIndex  Lorg/graalvm/compiler/nodes/ValueNode;
            5   10     6    wordIndex  Lorg/graalvm/compiler/nodes/ValueNode;
            6   10     7        shift  I
            7   10     8  scaledIndex  Lorg/graalvm/compiler/nodes/ValueNode;
            8   10     9         base  I
            9   10    10       offset  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
             Name  Flags
      graph        
      array        
      arrayKind    
      elementKind  
      index        

  protected void lowerIndexAddressNode(org.graalvm.compiler.nodes.memory.address.IndexAddressNode);
    descriptor: (Lorg/graalvm/compiler/nodes/memory/address/IndexAddressNode;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // org.graalvm.compiler.nodes.memory.address.IndexAddressNode indexAddress
         0: .line 541
            aload 0 /* this */
            aload 1 /* indexAddress */
            invokevirtual org.graalvm.compiler.nodes.memory.address.IndexAddressNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            aload 1 /* indexAddress */
            invokevirtual org.graalvm.compiler.nodes.memory.address.IndexAddressNode.getArray:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 1 /* indexAddress */
            invokevirtual org.graalvm.compiler.nodes.memory.address.IndexAddressNode.getArrayKind:()Ljdk/vm/ci/meta/JavaKind;
            aload 1 /* indexAddress */
            invokevirtual org.graalvm.compiler.nodes.memory.address.IndexAddressNode.getElementKind:()Ljdk/vm/ci/meta/JavaKind;
            aload 1 /* indexAddress */
            invokevirtual org.graalvm.compiler.nodes.memory.address.IndexAddressNode.getIndex:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createArrayAddress:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            astore 2 /* lowered */
        start local 2 // org.graalvm.compiler.nodes.memory.address.AddressNode lowered
         1: .line 542
            aload 1 /* indexAddress */
            aload 2 /* lowered */
            invokevirtual org.graalvm.compiler.nodes.memory.address.IndexAddressNode.replaceAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
         2: .line 543
            return
        end local 2 // org.graalvm.compiler.nodes.memory.address.AddressNode lowered
        end local 1 // org.graalvm.compiler.nodes.memory.address.IndexAddressNode indexAddress
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0    3     1  indexAddress  Lorg/graalvm/compiler/nodes/memory/address/IndexAddressNode;
            1    3     2       lowered  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
    MethodParameters:
              Name  Flags
      indexAddress  

  protected void lowerLoadIndexedNode(org.graalvm.compiler.nodes.java.LoadIndexedNode, org.graalvm.compiler.nodes.spi.LoweringTool);
    descriptor: (Lorg/graalvm/compiler/nodes/java/LoadIndexedNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=12, args_size=3
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // org.graalvm.compiler.nodes.java.LoadIndexedNode loadIndexed
        start local 2 // org.graalvm.compiler.nodes.spi.LoweringTool tool
         0: .line 546
            aload 1 /* loadIndexed */
            invokevirtual org.graalvm.compiler.nodes.java.LoadIndexedNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 3 /* graph */
        start local 3 // org.graalvm.compiler.nodes.StructuredGraph graph
         1: .line 547
            aload 1 /* loadIndexed */
            invokevirtual org.graalvm.compiler.nodes.java.LoadIndexedNode.array:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 4 /* array */
        start local 4 // org.graalvm.compiler.nodes.ValueNode array
         2: .line 548
            aload 0 /* this */
            aload 4 /* array */
            aload 1 /* loadIndexed */
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createNullCheckedValue:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 4 /* array */
         3: .line 549
            aload 1 /* loadIndexed */
            invokevirtual org.graalvm.compiler.nodes.java.LoadIndexedNode.elementKind:()Ljdk/vm/ci/meta/JavaKind;
            astore 5 /* elementKind */
        start local 5 // jdk.vm.ci.meta.JavaKind elementKind
         4: .line 550
            aload 0 /* this */
            aload 1 /* loadIndexed */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.nodes.java.LoadIndexedNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            aload 5 /* elementKind */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.loadStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/core/common/type/Stamp;
            astore 6 /* loadStamp */
        start local 6 // org.graalvm.compiler.core.common.type.Stamp loadStamp
         5: .line 552
            aload 0 /* this */
            aload 1 /* loadIndexed */
            aload 4 /* array */
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.getBoundsCheck:(Lorg/graalvm/compiler/nodes/java/AccessIndexedNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            astore 7 /* boundsCheck */
        start local 7 // org.graalvm.compiler.nodes.extended.GuardingNode boundsCheck
         6: .line 553
            aload 1 /* loadIndexed */
            invokevirtual org.graalvm.compiler.nodes.java.LoadIndexedNode.index:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 8 /* index */
        start local 8 // org.graalvm.compiler.nodes.ValueNode index
         7: .line 554
            getstatic org.graalvm.compiler.core.common.SpeculativeExecutionAttacksMitigations$Options.UseIndexMasking:Lorg/graalvm/compiler/options/OptionKey;
            aload 3 /* 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
            ifeq 9
         8: .line 555
            aload 0 /* this */
            aload 1 /* loadIndexed */
            aload 8 /* index */
            aload 4 /* array */
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.proxyIndex:(Lorg/graalvm/compiler/nodes/java/AccessIndexedNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 8 /* index */
         9: .line 557
      StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.java.LoadIndexedNode org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.ValueNode jdk.vm.ci.meta.JavaKind org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.nodes.extended.GuardingNode org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 0 /* this */
            aload 3 /* graph */
            aload 4 /* array */
            aload 5 /* elementKind */
            aload 8 /* index */
            aload 7 /* boundsCheck */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createArrayIndexAddress:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/extended/GuardingNode;)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            astore 9 /* address */
        start local 9 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        10: .line 559
            aload 3 /* graph */
            new org.graalvm.compiler.nodes.memory.ReadNode
            dup
            aload 9 /* address */
            aload 5 /* elementKind */
            invokestatic org.graalvm.compiler.nodes.NamedLocationIdentity.getArrayLocation:(Ljdk/vm/ci/meta/JavaKind;)Ljdk/internal/vm/compiler/word/LocationIdentity;
            aload 6 /* loadStamp */
            getstatic org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
            invokespecial org.graalvm.compiler.nodes.memory.ReadNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$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 10 /* memoryRead */
        start local 10 // org.graalvm.compiler.nodes.memory.ReadNode memoryRead
        11: .line 560
            aload 10 /* memoryRead */
            aload 7 /* boundsCheck */
            invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.setGuard:(Lorg/graalvm/compiler/nodes/extended/GuardingNode;)V
        12: .line 561
            aload 0 /* this */
            aload 3 /* graph */
            aload 5 /* elementKind */
            aload 10 /* memoryRead */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.implicitLoadConvert:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 11 /* readValue */
        start local 11 // org.graalvm.compiler.nodes.ValueNode readValue
        13: .line 563
            aload 1 /* loadIndexed */
            aload 11 /* readValue */
            invokevirtual org.graalvm.compiler.nodes.java.LoadIndexedNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
        14: .line 564
            aload 3 /* graph */
            aload 1 /* loadIndexed */
            aload 10 /* memoryRead */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/graph/Node;)V
        15: .line 565
            return
        end local 11 // org.graalvm.compiler.nodes.ValueNode readValue
        end local 10 // org.graalvm.compiler.nodes.memory.ReadNode memoryRead
        end local 9 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        end local 8 // org.graalvm.compiler.nodes.ValueNode index
        end local 7 // org.graalvm.compiler.nodes.extended.GuardingNode boundsCheck
        end local 6 // org.graalvm.compiler.core.common.type.Stamp loadStamp
        end local 5 // jdk.vm.ci.meta.JavaKind elementKind
        end local 4 // org.graalvm.compiler.nodes.ValueNode array
        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.java.LoadIndexedNode loadIndexed
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   16     0         this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0   16     1  loadIndexed  Lorg/graalvm/compiler/nodes/java/LoadIndexedNode;
            0   16     2         tool  Lorg/graalvm/compiler/nodes/spi/LoweringTool;
            1   16     3        graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            2   16     4        array  Lorg/graalvm/compiler/nodes/ValueNode;
            4   16     5  elementKind  Ljdk/vm/ci/meta/JavaKind;
            5   16     6    loadStamp  Lorg/graalvm/compiler/core/common/type/Stamp;
            6   16     7  boundsCheck  Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            7   16     8        index  Lorg/graalvm/compiler/nodes/ValueNode;
           10   16     9      address  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
           11   16    10   memoryRead  Lorg/graalvm/compiler/nodes/memory/ReadNode;
           13   16    11    readValue  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
             Name  Flags
      loadIndexed  
      tool         

  protected void lowerStoreIndexedNode(org.graalvm.compiler.nodes.java.StoreIndexedNode, org.graalvm.compiler.nodes.spi.LoweringTool);
    descriptor: (Lorg/graalvm/compiler/nodes/java/StoreIndexedNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=9, locals=13, args_size=3
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // org.graalvm.compiler.nodes.java.StoreIndexedNode storeIndexed
        start local 2 // org.graalvm.compiler.nodes.spi.LoweringTool tool
         0: .line 568
            aload 1 /* storeIndexed */
            invokevirtual org.graalvm.compiler.nodes.java.StoreIndexedNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 3 /* graph */
        start local 3 // org.graalvm.compiler.nodes.StructuredGraph graph
         1: .line 570
            aload 1 /* storeIndexed */
            invokevirtual org.graalvm.compiler.nodes.java.StoreIndexedNode.value:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 4 /* value */
        start local 4 // org.graalvm.compiler.nodes.ValueNode value
         2: .line 571
            aload 1 /* storeIndexed */
            invokevirtual org.graalvm.compiler.nodes.java.StoreIndexedNode.array:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 5 /* array */
        start local 5 // org.graalvm.compiler.nodes.ValueNode array
         3: .line 573
            aload 0 /* this */
            aload 5 /* array */
            aload 1 /* storeIndexed */
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createNullCheckedValue:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 5 /* array */
         4: .line 575
            aload 0 /* this */
            aload 1 /* storeIndexed */
            aload 5 /* array */
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.getBoundsCheck:(Lorg/graalvm/compiler/nodes/java/AccessIndexedNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            astore 6 /* boundsCheck */
        start local 6 // org.graalvm.compiler.nodes.extended.GuardingNode boundsCheck
         5: .line 577
            aload 1 /* storeIndexed */
            invokevirtual org.graalvm.compiler.nodes.java.StoreIndexedNode.elementKind:()Ljdk/vm/ci/meta/JavaKind;
            astore 7 /* storageKind */
        start local 7 // jdk.vm.ci.meta.JavaKind storageKind
         6: .line 579
            aconst_null
            astore 8 /* condition */
        start local 8 // org.graalvm.compiler.nodes.LogicNode condition
         7: .line 580
            aload 1 /* storeIndexed */
            invokevirtual org.graalvm.compiler.nodes.java.StoreIndexedNode.getStoreCheck:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            ifnonnull 20
            aload 7 /* storageKind */
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 20
            aload 4 /* value */
            invokestatic org.graalvm.compiler.nodes.type.StampTool.isPointerAlwaysNull:(Lorg/graalvm/compiler/nodes/ValueNode;)Z
            ifne 20
         8: .line 582
            aload 5 /* array */
            invokestatic org.graalvm.compiler.nodes.type.StampTool.typeReferenceOrNull:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/common/type/TypeReference;
            astore 9 /* arrayType */
        start local 9 // org.graalvm.compiler.core.common.type.TypeReference arrayType
         9: .line 583
            aload 9 /* arrayType */
            ifnull 16
            aload 9 /* arrayType */
            invokevirtual org.graalvm.compiler.core.common.type.TypeReference.isExact:()Z
            ifeq 16
        10: .line 584
            aload 9 /* arrayType */
            invokevirtual org.graalvm.compiler.core.common.type.TypeReference.getType:()Ljdk/vm/ci/meta/ResolvedJavaType;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getComponentType:()Ljdk/vm/ci/meta/ResolvedJavaType;
            astore 10 /* elementType */
        start local 10 // jdk.vm.ci.meta.ResolvedJavaType elementType
        11: .line 585
            aload 10 /* elementType */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isJavaLangObject:()Z
            ifne 20
        12: .line 586
            aload 1 /* storeIndexed */
            invokevirtual org.graalvm.compiler.nodes.java.StoreIndexedNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getAssumptions:()Ljdk/vm/ci/meta/Assumptions;
            aload 10 /* elementType */
            invokestatic org.graalvm.compiler.core.common.type.TypeReference.createTrusted:(Ljdk/vm/ci/meta/Assumptions;Ljdk/vm/ci/meta/ResolvedJavaType;)Lorg/graalvm/compiler/core/common/type/TypeReference;
            astore 11 /* typeReference */
        start local 11 // org.graalvm.compiler.core.common.type.TypeReference typeReference
        13: .line 587
            aload 3 /* graph */
            aload 11 /* typeReference */
            aload 4 /* value */
            invokestatic org.graalvm.compiler.nodes.java.InstanceOfNode.create:(Lorg/graalvm/compiler/core/common/type/TypeReference;Lorg/graalvm/compiler/nodes/ValueNode;)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 12 /* typeTest */
        start local 12 // org.graalvm.compiler.nodes.LogicNode typeTest
        14: .line 588
            aload 3 /* graph */
            aload 4 /* value */
            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 12 /* typeTest */
            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 /* condition */
        end local 12 // org.graalvm.compiler.nodes.LogicNode typeTest
        end local 11 // org.graalvm.compiler.core.common.type.TypeReference typeReference
        end local 10 // jdk.vm.ci.meta.ResolvedJavaType elementType
        15: .line 590
            goto 20
        16: .line 595
      StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.java.StoreIndexedNode org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.extended.GuardingNode jdk.vm.ci.meta.JavaKind org.graalvm.compiler.nodes.LogicNode org.graalvm.compiler.core.common.type.TypeReference
      StackMap stack:
            aload 0 /* this */
            aload 3 /* graph */
            aload 5 /* array */
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createReadHub:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 10 /* arrayClass */
        start local 10 // org.graalvm.compiler.nodes.ValueNode arrayClass
        17: .line 596
            aload 0 /* this */
            aload 3 /* graph */
            aload 10 /* arrayClass */
            aload 1 /* storeIndexed */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createReadArrayComponentHub:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 11 /* componentHub */
        start local 11 // org.graalvm.compiler.nodes.ValueNode componentHub
        18: .line 597
            aload 3 /* graph */
            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 11 /* componentHub */
            aload 4 /* value */
            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;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.LogicNode
            astore 12 /* typeTest */
        start local 12 // org.graalvm.compiler.nodes.LogicNode typeTest
        19: .line 598
            aload 3 /* graph */
            aload 4 /* value */
            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 12 /* typeTest */
            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 /* condition */
        end local 12 // org.graalvm.compiler.nodes.LogicNode typeTest
        end local 11 // org.graalvm.compiler.nodes.ValueNode componentHub
        end local 10 // org.graalvm.compiler.nodes.ValueNode arrayClass
        end local 9 // org.graalvm.compiler.core.common.type.TypeReference arrayType
        20: .line 601
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.barrierSet:Lorg/graalvm/compiler/nodes/gc/BarrierSet;
            aload 7 /* storageKind */
            invokeinterface org.graalvm.compiler.nodes.gc.BarrierSet.arrayStoreBarrierType:(Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
            astore 9 /* barrierType */
        start local 9 // org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType barrierType
        21: .line 602
            aload 0 /* this */
            aload 3 /* graph */
            aload 5 /* array */
            aload 7 /* storageKind */
            aload 1 /* storeIndexed */
            invokevirtual org.graalvm.compiler.nodes.java.StoreIndexedNode.index:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 6 /* boundsCheck */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createArrayIndexAddress:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/extended/GuardingNode;)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            astore 10 /* address */
        start local 10 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        22: .line 603
            aload 3 /* graph */
            new org.graalvm.compiler.nodes.memory.WriteNode
            dup
            aload 10 /* address */
            aload 7 /* storageKind */
            invokestatic org.graalvm.compiler.nodes.NamedLocationIdentity.getArrayLocation:(Ljdk/vm/ci/meta/JavaKind;)Ljdk/internal/vm/compiler/word/LocationIdentity;
            aload 0 /* this */
            aload 3 /* graph */
            aload 7 /* storageKind */
            aload 4 /* value */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.implicitStoreConvert:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
        23: .line 604
            aload 9 /* barrierType */
            invokespecial org.graalvm.compiler.nodes.memory.WriteNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;)V
        24: .line 603
            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 11 /* memoryWrite */
        start local 11 // org.graalvm.compiler.nodes.memory.WriteNode memoryWrite
        25: .line 605
            aload 11 /* memoryWrite */
            aload 6 /* boundsCheck */
            invokevirtual org.graalvm.compiler.nodes.memory.WriteNode.setGuard:(Lorg/graalvm/compiler/nodes/extended/GuardingNode;)V
        26: .line 606
            aload 8 /* condition */
            ifnull 28
        27: .line 607
            aload 2 /* tool */
            aload 1 /* storeIndexed */
            aload 8 /* condition */
            getstatic jdk.vm.ci.meta.DeoptimizationReason.ArrayStoreException:Ljdk/vm/ci/meta/DeoptimizationReason;
            getstatic jdk.vm.ci.meta.DeoptimizationAction.InvalidateReprofile:Ljdk/vm/ci/meta/DeoptimizationAction;
            invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.createGuard:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/LogicNode;Ljdk/vm/ci/meta/DeoptimizationReason;Ljdk/vm/ci/meta/DeoptimizationAction;)Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            pop
        28: .line 609
      StackMap locals: org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType org.graalvm.compiler.nodes.memory.address.AddressNode org.graalvm.compiler.nodes.memory.WriteNode
      StackMap stack:
            aload 11 /* memoryWrite */
            aload 1 /* storeIndexed */
            invokevirtual org.graalvm.compiler.nodes.java.StoreIndexedNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
            invokevirtual org.graalvm.compiler.nodes.memory.WriteNode.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
        29: .line 610
            aload 3 /* graph */
            aload 1 /* storeIndexed */
            aload 11 /* memoryWrite */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
        30: .line 611
            return
        end local 11 // org.graalvm.compiler.nodes.memory.WriteNode memoryWrite
        end local 10 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        end local 9 // org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType barrierType
        end local 8 // org.graalvm.compiler.nodes.LogicNode condition
        end local 7 // jdk.vm.ci.meta.JavaKind storageKind
        end local 6 // org.graalvm.compiler.nodes.extended.GuardingNode boundsCheck
        end local 5 // org.graalvm.compiler.nodes.ValueNode array
        end local 4 // org.graalvm.compiler.nodes.ValueNode value
        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.java.StoreIndexedNode storeIndexed
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   31     0           this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0   31     1   storeIndexed  Lorg/graalvm/compiler/nodes/java/StoreIndexedNode;
            0   31     2           tool  Lorg/graalvm/compiler/nodes/spi/LoweringTool;
            1   31     3          graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            2   31     4          value  Lorg/graalvm/compiler/nodes/ValueNode;
            3   31     5          array  Lorg/graalvm/compiler/nodes/ValueNode;
            5   31     6    boundsCheck  Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            6   31     7    storageKind  Ljdk/vm/ci/meta/JavaKind;
            7   31     8      condition  Lorg/graalvm/compiler/nodes/LogicNode;
            9   20     9      arrayType  Lorg/graalvm/compiler/core/common/type/TypeReference;
           11   15    10    elementType  Ljdk/vm/ci/meta/ResolvedJavaType;
           13   15    11  typeReference  Lorg/graalvm/compiler/core/common/type/TypeReference;
           14   15    12       typeTest  Lorg/graalvm/compiler/nodes/LogicNode;
           17   20    10     arrayClass  Lorg/graalvm/compiler/nodes/ValueNode;
           18   20    11   componentHub  Lorg/graalvm/compiler/nodes/ValueNode;
           19   20    12       typeTest  Lorg/graalvm/compiler/nodes/LogicNode;
           21   31     9    barrierType  Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
           22   31    10        address  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
           25   31    11    memoryWrite  Lorg/graalvm/compiler/nodes/memory/WriteNode;
    MethodParameters:
              Name  Flags
      storeIndexed  
      tool          

  protected void lowerArrayLengthNode(org.graalvm.compiler.nodes.java.ArrayLengthNode, org.graalvm.compiler.nodes.spi.LoweringTool);
    descriptor: (Lorg/graalvm/compiler/nodes/java/ArrayLengthNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // org.graalvm.compiler.nodes.java.ArrayLengthNode arrayLengthNode
        start local 2 // org.graalvm.compiler.nodes.spi.LoweringTool tool
         0: .line 614
            aload 1 /* arrayLengthNode */
            aload 0 /* this */
            aload 1 /* arrayLengthNode */
            invokevirtual org.graalvm.compiler.nodes.java.ArrayLengthNode.array:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 1 /* arrayLengthNode */
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createReadArrayLength:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)Lorg/graalvm/compiler/nodes/memory/ReadNode;
            invokevirtual org.graalvm.compiler.nodes.java.ArrayLengthNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
         1: .line 615
            aload 1 /* arrayLengthNode */
            invokevirtual org.graalvm.compiler.nodes.java.ArrayLengthNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 3 /* graph */
        start local 3 // org.graalvm.compiler.nodes.StructuredGraph graph
         2: .line 616
            aload 3 /* graph */
            aload 1 /* arrayLengthNode */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.removeFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
         3: .line 617
            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.java.ArrayLengthNode arrayLengthNode
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0             this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0    4     1  arrayLengthNode  Lorg/graalvm/compiler/nodes/java/ArrayLengthNode;
            0    4     2             tool  Lorg/graalvm/compiler/nodes/spi/LoweringTool;
            2    4     3            graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
    MethodParameters:
                 Name  Flags
      arrayLengthNode  
      tool             

  protected org.graalvm.compiler.nodes.memory.ReadNode createReadArrayLength(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.FixedNode, org.graalvm.compiler.nodes.spi.LoweringTool);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)Lorg/graalvm/compiler/nodes/memory/ReadNode;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=8, args_size=4
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // org.graalvm.compiler.nodes.ValueNode array
        start local 2 // org.graalvm.compiler.nodes.FixedNode before
        start local 3 // org.graalvm.compiler.nodes.spi.LoweringTool tool
         0: .line 625
            aload 1 /* array */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 4 /* graph */
        start local 4 // org.graalvm.compiler.nodes.StructuredGraph graph
         1: .line 626
            aload 0 /* this */
            aload 1 /* array */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.skipPiWhileNonNull:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            aload 2 /* before */
            aload 3 /* tool */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createNullCheckedValue:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 5 /* canonicalArray */
        start local 5 // org.graalvm.compiler.nodes.ValueNode canonicalArray
         2: .line 627
            aload 0 /* this */
            aload 4 /* graph */
            aload 5 /* canonicalArray */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.arrayLengthOffset:()I
            i2l
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createOffsetAddress:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;J)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            astore 6 /* address */
        start local 6 // org.graalvm.compiler.nodes.memory.address.AddressNode address
         3: .line 628
            aload 4 /* graph */
            new org.graalvm.compiler.nodes.memory.ReadNode
            dup
            aload 6 /* address */
            getstatic org.graalvm.compiler.nodes.NamedLocationIdentity.ARRAY_LENGTH_LOCATION:Ljdk/internal/vm/compiler/word/LocationIdentity;
            invokestatic org.graalvm.compiler.core.common.type.StampFactory.positiveInt:()Lorg/graalvm/compiler/core/common/type/Stamp;
            getstatic org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
            invokespecial org.graalvm.compiler.nodes.memory.ReadNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$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 7 /* readArrayLength */
        start local 7 // org.graalvm.compiler.nodes.memory.ReadNode readArrayLength
         4: .line 629
            aload 4 /* graph */
            aload 2 /* before */
            aload 7 /* readArrayLength */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addBeforeFixed:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
         5: .line 630
            aload 7 /* readArrayLength */
            areturn
        end local 7 // org.graalvm.compiler.nodes.memory.ReadNode readArrayLength
        end local 6 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        end local 5 // org.graalvm.compiler.nodes.ValueNode canonicalArray
        end local 4 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 3 // org.graalvm.compiler.nodes.spi.LoweringTool tool
        end local 2 // org.graalvm.compiler.nodes.FixedNode before
        end local 1 // org.graalvm.compiler.nodes.ValueNode array
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    6     0             this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0    6     1            array  Lorg/graalvm/compiler/nodes/ValueNode;
            0    6     2           before  Lorg/graalvm/compiler/nodes/FixedNode;
            0    6     3             tool  Lorg/graalvm/compiler/nodes/spi/LoweringTool;
            1    6     4            graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            2    6     5   canonicalArray  Lorg/graalvm/compiler/nodes/ValueNode;
            3    6     6          address  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            4    6     7  readArrayLength  Lorg/graalvm/compiler/nodes/memory/ReadNode;
    MethodParameters:
        Name  Flags
      array   
      before  
      tool    

  protected void lowerLoadHubNode(org.graalvm.compiler.nodes.extended.LoadHubNode, org.graalvm.compiler.nodes.spi.LoweringTool);
    descriptor: (Lorg/graalvm/compiler/nodes/extended/LoadHubNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // org.graalvm.compiler.nodes.extended.LoadHubNode loadHub
        start local 2 // org.graalvm.compiler.nodes.spi.LoweringTool tool
         0: .line 634
            aload 1 /* loadHub */
            invokevirtual org.graalvm.compiler.nodes.extended.LoadHubNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 3 /* graph */
        start local 3 // org.graalvm.compiler.nodes.StructuredGraph graph
         1: .line 635
            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.LOW_TIER:Lorg/graalvm/compiler/nodes/spi/LoweringTool$StandardLoweringStage;
            if_acmpeq 3
         2: .line 636
            return
         3: .line 638
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph
      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.allowsFloatingGuards:()Z
            ifeq 5
         4: .line 639
            return
         5: .line 641
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* graph */
            aload 1 /* loadHub */
            invokevirtual org.graalvm.compiler.nodes.extended.LoadHubNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createReadHub:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 4 /* hub */
        start local 4 // org.graalvm.compiler.nodes.ValueNode hub
         6: .line 642
            aload 1 /* loadHub */
            aload 4 /* hub */
            invokevirtual org.graalvm.compiler.nodes.extended.LoadHubNode.replaceAtUsagesAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
         7: .line 643
            return
        end local 4 // org.graalvm.compiler.nodes.ValueNode hub
        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.LoadHubNode loadHub
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0    8     1  loadHub  Lorg/graalvm/compiler/nodes/extended/LoadHubNode;
            0    8     2     tool  Lorg/graalvm/compiler/nodes/spi/LoweringTool;
            1    8     3    graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            6    8     4      hub  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
         Name  Flags
      loadHub  
      tool     

  protected void lowerLoadHubOrNullNode(org.graalvm.compiler.nodes.extended.LoadHubOrNullNode, org.graalvm.compiler.nodes.spi.LoweringTool);
    descriptor: (Lorg/graalvm/compiler/nodes/extended/LoadHubOrNullNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=8, locals=19, args_size=3
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // org.graalvm.compiler.nodes.extended.LoadHubOrNullNode loadHubOrNullNode
        start local 2 // org.graalvm.compiler.nodes.spi.LoweringTool tool
         0: .line 646
            aload 1 /* loadHubOrNullNode */
            invokevirtual org.graalvm.compiler.nodes.extended.LoadHubOrNullNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 3 /* graph */
        start local 3 // org.graalvm.compiler.nodes.StructuredGraph graph
         1: .line 647
            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.LOW_TIER:Lorg/graalvm/compiler/nodes/spi/LoweringTool$StandardLoweringStage;
            if_acmpeq 3
         2: .line 648
            return
         3: .line 650
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph
      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.allowsFloatingGuards:()Z
            ifeq 5
         4: .line 651
            return
         5: .line 653
      StackMap locals:
      StackMap stack:
            aload 2 /* tool */
            invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.lastFixedNode:()Lorg/graalvm/compiler/nodes/FixedWithNextNode;
            astore 4 /* predecessor */
        start local 4 // org.graalvm.compiler.nodes.FixedWithNextNode predecessor
         6: .line 654
            aload 1 /* loadHubOrNullNode */
            invokevirtual org.graalvm.compiler.nodes.extended.LoadHubOrNullNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 5 /* value */
        start local 5 // org.graalvm.compiler.nodes.ValueNode value
         7: .line 655
            aload 5 /* value */
            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;
            checkcast org.graalvm.compiler.core.common.type.AbstractPointerStamp
            astore 6 /* stamp */
        start local 6 // org.graalvm.compiler.core.common.type.AbstractPointerStamp stamp
         8: .line 656
            aload 3 /* graph */
            aload 5 /* value */
            invokestatic org.graalvm.compiler.nodes.calc.IsNullNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;)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 7 /* isNull */
        start local 7 // org.graalvm.compiler.nodes.LogicNode isNull
         9: .line 657
            aload 3 /* graph */
            new org.graalvm.compiler.nodes.EndNode
            dup
            invokespecial org.graalvm.compiler.nodes.EndNode.<init>:()V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.EndNode
            astore 8 /* trueEnd */
        start local 8 // org.graalvm.compiler.nodes.EndNode trueEnd
        10: .line 658
            aload 3 /* graph */
            new org.graalvm.compiler.nodes.EndNode
            dup
            invokespecial org.graalvm.compiler.nodes.EndNode.<init>:()V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.EndNode
            astore 9 /* falseEnd */
        start local 9 // org.graalvm.compiler.nodes.EndNode falseEnd
        11: .line 659
            aload 3 /* graph */
            new org.graalvm.compiler.nodes.IfNode
            dup
            aload 7 /* isNull */
            aload 8 /* trueEnd */
            aload 9 /* falseEnd */
            ldc 0.5
            invokespecial org.graalvm.compiler.nodes.IfNode.<init>:(Lorg/graalvm/compiler/nodes/LogicNode;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/FixedNode;D)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.IfNode
            astore 10 /* ifNode */
        start local 10 // org.graalvm.compiler.nodes.IfNode ifNode
        12: .line 660
            aload 3 /* graph */
            new org.graalvm.compiler.nodes.MergeNode
            dup
            invokespecial org.graalvm.compiler.nodes.MergeNode.<init>:()V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.MergeNode
            astore 11 /* merge */
        start local 11 // org.graalvm.compiler.nodes.MergeNode merge
        13: .line 661
            aload 11 /* merge */
            aload 8 /* trueEnd */
            invokevirtual org.graalvm.compiler.nodes.MergeNode.addForwardEnd:(Lorg/graalvm/compiler/nodes/EndNode;)V
        14: .line 662
            aload 11 /* merge */
            aload 9 /* falseEnd */
            invokevirtual org.graalvm.compiler.nodes.MergeNode.addForwardEnd:(Lorg/graalvm/compiler/nodes/EndNode;)V
        15: .line 663
            aload 1 /* loadHubOrNullNode */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.nodes.extended.LoadHubOrNullNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            checkcast org.graalvm.compiler.core.common.type.AbstractPointerStamp
            astore 12 /* hubStamp */
        start local 12 // org.graalvm.compiler.core.common.type.AbstractPointerStamp hubStamp
        16: .line 664
            aload 12 /* hubStamp */
            invokevirtual org.graalvm.compiler.core.common.type.AbstractPointerStamp.asAlwaysNull:()Lorg/graalvm/compiler/core/common/type/Stamp;
            getstatic jdk.vm.ci.meta.JavaConstant.NULL_POINTER:Ljdk/vm/ci/meta/JavaConstant;
            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:(Lorg/graalvm/compiler/core/common/type/Stamp;Ljdk/vm/ci/meta/Constant;Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
            astore 13 /* nullHub */
        start local 13 // org.graalvm.compiler.nodes.ValueNode nullHub
        17: .line 665
            aload 3 /* graph */
            aload 5 /* value */
            aload 6 /* stamp */
            invokevirtual org.graalvm.compiler.core.common.type.AbstractPointerStamp.asNonNull:()Lorg/graalvm/compiler/core/common/type/AbstractPointerStamp;
            aload 10 /* ifNode */
            invokevirtual org.graalvm.compiler.nodes.IfNode.falseSuccessor:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            invokestatic org.graalvm.compiler.nodes.PiNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addOrUniqueWithInputs:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.ValueNode
            astore 14 /* nonNullValue */
        start local 14 // org.graalvm.compiler.nodes.ValueNode nonNullValue
        18: .line 666
            aload 0 /* this */
            aload 3 /* graph */
            aload 14 /* nonNullValue */
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createReadHub:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 15 /* hub */
        start local 15 // org.graalvm.compiler.nodes.ValueNode hub
        19: .line 667
            iconst_2
            anewarray org.graalvm.compiler.nodes.ValueNode
            dup
            iconst_0
            aload 13 /* nullHub */
            aastore
            dup
            iconst_1
            aload 15 /* hub */
            aastore
            astore 16 /* values */
        start local 16 // org.graalvm.compiler.nodes.ValueNode[] values
        20: .line 668
            aload 3 /* graph */
            new org.graalvm.compiler.nodes.ValuePhiNode
            dup
            aload 12 /* hubStamp */
            aload 11 /* merge */
            aload 16 /* values */
            invokespecial org.graalvm.compiler.nodes.ValuePhiNode.<init>:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/AbstractMergeNode;[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.PhiNode
            astore 17 /* hubPhi */
        start local 17 // org.graalvm.compiler.nodes.PhiNode hubPhi
        21: .line 669
            aload 4 /* predecessor */
            invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
            astore 18 /* oldNext */
        start local 18 // org.graalvm.compiler.nodes.FixedNode oldNext
        22: .line 670
            aload 4 /* predecessor */
            aload 10 /* ifNode */
            invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
        23: .line 671
            aload 11 /* merge */
            aload 18 /* oldNext */
            invokevirtual org.graalvm.compiler.nodes.MergeNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
        24: .line 672
            aload 1 /* loadHubOrNullNode */
            aload 17 /* hubPhi */
            invokevirtual org.graalvm.compiler.nodes.extended.LoadHubOrNullNode.replaceAtUsagesAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
        25: .line 673
            return
        end local 18 // org.graalvm.compiler.nodes.FixedNode oldNext
        end local 17 // org.graalvm.compiler.nodes.PhiNode hubPhi
        end local 16 // org.graalvm.compiler.nodes.ValueNode[] values
        end local 15 // org.graalvm.compiler.nodes.ValueNode hub
        end local 14 // org.graalvm.compiler.nodes.ValueNode nonNullValue
        end local 13 // org.graalvm.compiler.nodes.ValueNode nullHub
        end local 12 // org.graalvm.compiler.core.common.type.AbstractPointerStamp hubStamp
        end local 11 // org.graalvm.compiler.nodes.MergeNode merge
        end local 10 // org.graalvm.compiler.nodes.IfNode ifNode
        end local 9 // org.graalvm.compiler.nodes.EndNode falseEnd
        end local 8 // org.graalvm.compiler.nodes.EndNode trueEnd
        end local 7 // org.graalvm.compiler.nodes.LogicNode isNull
        end local 6 // org.graalvm.compiler.core.common.type.AbstractPointerStamp stamp
        end local 5 // org.graalvm.compiler.nodes.ValueNode value
        end local 4 // org.graalvm.compiler.nodes.FixedWithNextNode predecessor
        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.LoadHubOrNullNode loadHubOrNullNode
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   26     0               this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0   26     1  loadHubOrNullNode  Lorg/graalvm/compiler/nodes/extended/LoadHubOrNullNode;
            0   26     2               tool  Lorg/graalvm/compiler/nodes/spi/LoweringTool;
            1   26     3              graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            6   26     4        predecessor  Lorg/graalvm/compiler/nodes/FixedWithNextNode;
            7   26     5              value  Lorg/graalvm/compiler/nodes/ValueNode;
            8   26     6              stamp  Lorg/graalvm/compiler/core/common/type/AbstractPointerStamp;
            9   26     7             isNull  Lorg/graalvm/compiler/nodes/LogicNode;
           10   26     8            trueEnd  Lorg/graalvm/compiler/nodes/EndNode;
           11   26     9           falseEnd  Lorg/graalvm/compiler/nodes/EndNode;
           12   26    10             ifNode  Lorg/graalvm/compiler/nodes/IfNode;
           13   26    11              merge  Lorg/graalvm/compiler/nodes/MergeNode;
           16   26    12           hubStamp  Lorg/graalvm/compiler/core/common/type/AbstractPointerStamp;
           17   26    13            nullHub  Lorg/graalvm/compiler/nodes/ValueNode;
           18   26    14       nonNullValue  Lorg/graalvm/compiler/nodes/ValueNode;
           19   26    15                hub  Lorg/graalvm/compiler/nodes/ValueNode;
           20   26    16             values  [Lorg/graalvm/compiler/nodes/ValueNode;
           21   26    17             hubPhi  Lorg/graalvm/compiler/nodes/PhiNode;
           22   26    18            oldNext  Lorg/graalvm/compiler/nodes/FixedNode;
    MethodParameters:
                   Name  Flags
      loadHubOrNullNode  
      tool               

  protected void lowerLoadArrayComponentHubNode(org.graalvm.compiler.nodes.extended.LoadArrayComponentHubNode);
    descriptor: (Lorg/graalvm/compiler/nodes/extended/LoadArrayComponentHubNode;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // org.graalvm.compiler.nodes.extended.LoadArrayComponentHubNode loadHub
         0: .line 676
            aload 1 /* loadHub */
            invokevirtual org.graalvm.compiler.nodes.extended.LoadArrayComponentHubNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 2 /* graph */
        start local 2 // org.graalvm.compiler.nodes.StructuredGraph graph
         1: .line 677
            aload 0 /* this */
            aload 2 /* graph */
            aload 1 /* loadHub */
            invokevirtual org.graalvm.compiler.nodes.extended.LoadArrayComponentHubNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 1 /* loadHub */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createReadArrayComponentHub:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 3 /* hub */
        start local 3 // org.graalvm.compiler.nodes.ValueNode hub
         2: .line 678
            aload 2 /* graph */
            aload 1 /* loadHub */
            aload 3 /* hub */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/graph/Node;)V
         3: .line 679
            return
        end local 3 // org.graalvm.compiler.nodes.ValueNode hub
        end local 2 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 1 // org.graalvm.compiler.nodes.extended.LoadArrayComponentHubNode loadHub
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0    4     1  loadHub  Lorg/graalvm/compiler/nodes/extended/LoadArrayComponentHubNode;
            1    4     2    graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            2    4     3      hub  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
         Name  Flags
      loadHub  

  protected void lowerCompareAndSwapNode(org.graalvm.compiler.nodes.java.UnsafeCompareAndSwapNode);
    descriptor: (Lorg/graalvm/compiler/nodes/java/UnsafeCompareAndSwapNode;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=8, locals=9, args_size=2
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // org.graalvm.compiler.nodes.java.UnsafeCompareAndSwapNode cas
         0: .line 682
            aload 1 /* cas */
            invokevirtual org.graalvm.compiler.nodes.java.UnsafeCompareAndSwapNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 2 /* graph */
        start local 2 // org.graalvm.compiler.nodes.StructuredGraph graph
         1: .line 683
            aload 1 /* cas */
            invokevirtual org.graalvm.compiler.nodes.java.UnsafeCompareAndSwapNode.getValueKind:()Ljdk/vm/ci/meta/JavaKind;
            astore 3 /* valueKind */
        start local 3 // jdk.vm.ci.meta.JavaKind valueKind
         2: .line 685
            aload 0 /* this */
            aload 2 /* graph */
            aload 3 /* valueKind */
            aload 1 /* cas */
            invokevirtual org.graalvm.compiler.nodes.java.UnsafeCompareAndSwapNode.expected:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.implicitStoreConvert:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 4 /* expectedValue */
        start local 4 // org.graalvm.compiler.nodes.ValueNode expectedValue
         3: .line 686
            aload 0 /* this */
            aload 2 /* graph */
            aload 3 /* valueKind */
            aload 1 /* cas */
            invokevirtual org.graalvm.compiler.nodes.java.UnsafeCompareAndSwapNode.newValue:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.implicitStoreConvert:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 5 /* newValue */
        start local 5 // org.graalvm.compiler.nodes.ValueNode newValue
         4: .line 688
            aload 2 /* graph */
            new org.graalvm.compiler.nodes.memory.address.OffsetAddressNode
            dup
            aload 1 /* cas */
            invokevirtual org.graalvm.compiler.nodes.java.UnsafeCompareAndSwapNode.object:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 1 /* cas */
            invokevirtual org.graalvm.compiler.nodes.java.UnsafeCompareAndSwapNode.offset:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokespecial org.graalvm.compiler.nodes.memory.address.OffsetAddressNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;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.memory.address.AddressNode
            astore 6 /* address */
        start local 6 // org.graalvm.compiler.nodes.memory.address.AddressNode address
         5: .line 689
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.barrierSet:Lorg/graalvm/compiler/nodes/gc/BarrierSet;
            aload 1 /* cas */
            invokevirtual org.graalvm.compiler.nodes.java.UnsafeCompareAndSwapNode.object:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 5 /* newValue */
            invokeinterface org.graalvm.compiler.nodes.gc.BarrierSet.guessStoreBarrierType:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
            astore 7 /* barrierType */
        start local 7 // org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType barrierType
         6: .line 690
            aload 2 /* graph */
            new org.graalvm.compiler.nodes.java.LogicCompareAndSwapNode
            dup
            aload 6 /* address */
            aload 1 /* cas */
            invokevirtual org.graalvm.compiler.nodes.java.UnsafeCompareAndSwapNode.getKilledLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
            aload 4 /* expectedValue */
            aload 5 /* newValue */
            aload 7 /* barrierType */
            invokespecial org.graalvm.compiler.nodes.java.LogicCompareAndSwapNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.java.LogicCompareAndSwapNode
            astore 8 /* atomicNode */
        start local 8 // org.graalvm.compiler.nodes.java.LogicCompareAndSwapNode atomicNode
         7: .line 691
            aload 8 /* atomicNode */
            aload 1 /* cas */
            invokevirtual org.graalvm.compiler.nodes.java.UnsafeCompareAndSwapNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
            invokevirtual org.graalvm.compiler.nodes.java.LogicCompareAndSwapNode.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
         8: .line 692
            aload 2 /* graph */
            aload 1 /* cas */
            aload 8 /* atomicNode */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
         9: .line 693
            return
        end local 8 // org.graalvm.compiler.nodes.java.LogicCompareAndSwapNode atomicNode
        end local 7 // org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType barrierType
        end local 6 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        end local 5 // org.graalvm.compiler.nodes.ValueNode newValue
        end local 4 // org.graalvm.compiler.nodes.ValueNode expectedValue
        end local 3 // jdk.vm.ci.meta.JavaKind valueKind
        end local 2 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 1 // org.graalvm.compiler.nodes.java.UnsafeCompareAndSwapNode cas
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   10     0           this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0   10     1            cas  Lorg/graalvm/compiler/nodes/java/UnsafeCompareAndSwapNode;
            1   10     2          graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            2   10     3      valueKind  Ljdk/vm/ci/meta/JavaKind;
            3   10     4  expectedValue  Lorg/graalvm/compiler/nodes/ValueNode;
            4   10     5       newValue  Lorg/graalvm/compiler/nodes/ValueNode;
            5   10     6        address  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            6   10     7    barrierType  Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
            7   10     8     atomicNode  Lorg/graalvm/compiler/nodes/java/LogicCompareAndSwapNode;
    MethodParameters:
      Name  Flags
      cas   

  protected void lowerCompareAndExchangeNode(org.graalvm.compiler.nodes.java.UnsafeCompareAndExchangeNode);
    descriptor: (Lorg/graalvm/compiler/nodes/java/UnsafeCompareAndExchangeNode;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=8, locals=10, args_size=2
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // org.graalvm.compiler.nodes.java.UnsafeCompareAndExchangeNode cas
         0: .line 696
            aload 1 /* cas */
            invokevirtual org.graalvm.compiler.nodes.java.UnsafeCompareAndExchangeNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 2 /* graph */
        start local 2 // org.graalvm.compiler.nodes.StructuredGraph graph
         1: .line 697
            aload 1 /* cas */
            invokevirtual org.graalvm.compiler.nodes.java.UnsafeCompareAndExchangeNode.getValueKind:()Ljdk/vm/ci/meta/JavaKind;
            astore 3 /* valueKind */
        start local 3 // jdk.vm.ci.meta.JavaKind valueKind
         2: .line 699
            aload 0 /* this */
            aload 2 /* graph */
            aload 3 /* valueKind */
            aload 1 /* cas */
            invokevirtual org.graalvm.compiler.nodes.java.UnsafeCompareAndExchangeNode.expected:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.implicitStoreConvert:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 4 /* expectedValue */
        start local 4 // org.graalvm.compiler.nodes.ValueNode expectedValue
         3: .line 700
            aload 0 /* this */
            aload 2 /* graph */
            aload 3 /* valueKind */
            aload 1 /* cas */
            invokevirtual org.graalvm.compiler.nodes.java.UnsafeCompareAndExchangeNode.newValue:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.implicitStoreConvert:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 5 /* newValue */
        start local 5 // org.graalvm.compiler.nodes.ValueNode newValue
         4: .line 702
            aload 2 /* graph */
            new org.graalvm.compiler.nodes.memory.address.OffsetAddressNode
            dup
            aload 1 /* cas */
            invokevirtual org.graalvm.compiler.nodes.java.UnsafeCompareAndExchangeNode.object:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 1 /* cas */
            invokevirtual org.graalvm.compiler.nodes.java.UnsafeCompareAndExchangeNode.offset:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokespecial org.graalvm.compiler.nodes.memory.address.OffsetAddressNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;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.memory.address.AddressNode
            astore 6 /* address */
        start local 6 // org.graalvm.compiler.nodes.memory.address.AddressNode address
         5: .line 703
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.barrierSet:Lorg/graalvm/compiler/nodes/gc/BarrierSet;
            aload 1 /* cas */
            invokevirtual org.graalvm.compiler.nodes.java.UnsafeCompareAndExchangeNode.object:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 5 /* newValue */
            invokeinterface org.graalvm.compiler.nodes.gc.BarrierSet.guessStoreBarrierType:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
            astore 7 /* barrierType */
        start local 7 // org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType barrierType
         6: .line 704
            aload 2 /* graph */
            new org.graalvm.compiler.nodes.java.ValueCompareAndSwapNode
            dup
            aload 6 /* address */
            aload 4 /* expectedValue */
            aload 5 /* newValue */
            aload 1 /* cas */
            invokevirtual org.graalvm.compiler.nodes.java.UnsafeCompareAndExchangeNode.getKilledLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
            aload 7 /* barrierType */
            invokespecial org.graalvm.compiler.nodes.java.ValueCompareAndSwapNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.java.ValueCompareAndSwapNode
            astore 8 /* atomicNode */
        start local 8 // org.graalvm.compiler.nodes.java.ValueCompareAndSwapNode atomicNode
         7: .line 705
            aload 0 /* this */
            aload 2 /* graph */
            aload 3 /* valueKind */
            aload 8 /* atomicNode */
            iconst_1
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.implicitLoadConvert:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;Z)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 9 /* coercedNode */
        start local 9 // org.graalvm.compiler.nodes.ValueNode coercedNode
         8: .line 706
            aload 8 /* atomicNode */
            aload 1 /* cas */
            invokevirtual org.graalvm.compiler.nodes.java.UnsafeCompareAndExchangeNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
            invokevirtual org.graalvm.compiler.nodes.java.ValueCompareAndSwapNode.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
         9: .line 707
            aload 1 /* cas */
            aload 9 /* coercedNode */
            invokevirtual org.graalvm.compiler.nodes.java.UnsafeCompareAndExchangeNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
        10: .line 708
            aload 2 /* graph */
            aload 1 /* cas */
            aload 8 /* atomicNode */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
        11: .line 709
            return
        end local 9 // org.graalvm.compiler.nodes.ValueNode coercedNode
        end local 8 // org.graalvm.compiler.nodes.java.ValueCompareAndSwapNode atomicNode
        end local 7 // org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType barrierType
        end local 6 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        end local 5 // org.graalvm.compiler.nodes.ValueNode newValue
        end local 4 // org.graalvm.compiler.nodes.ValueNode expectedValue
        end local 3 // jdk.vm.ci.meta.JavaKind valueKind
        end local 2 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 1 // org.graalvm.compiler.nodes.java.UnsafeCompareAndExchangeNode cas
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   12     0           this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0   12     1            cas  Lorg/graalvm/compiler/nodes/java/UnsafeCompareAndExchangeNode;
            1   12     2          graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            2   12     3      valueKind  Ljdk/vm/ci/meta/JavaKind;
            3   12     4  expectedValue  Lorg/graalvm/compiler/nodes/ValueNode;
            4   12     5       newValue  Lorg/graalvm/compiler/nodes/ValueNode;
            5   12     6        address  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            6   12     7    barrierType  Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
            7   12     8     atomicNode  Lorg/graalvm/compiler/nodes/java/ValueCompareAndSwapNode;
            8   12     9    coercedNode  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
      Name  Flags
      cas   

  protected void lowerAtomicReadAndWriteNode(org.graalvm.compiler.nodes.java.AtomicReadAndWriteNode);
    descriptor: (Lorg/graalvm/compiler/nodes/java/AtomicReadAndWriteNode;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=8, locals=10, args_size=2
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // org.graalvm.compiler.nodes.java.AtomicReadAndWriteNode n
         0: .line 712
            aload 1 /* n */
            invokevirtual org.graalvm.compiler.nodes.java.AtomicReadAndWriteNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 2 /* graph */
        start local 2 // org.graalvm.compiler.nodes.StructuredGraph graph
         1: .line 713
            aload 1 /* n */
            invokevirtual org.graalvm.compiler.nodes.java.AtomicReadAndWriteNode.getValueKind:()Ljdk/vm/ci/meta/JavaKind;
            astore 3 /* valueKind */
        start local 3 // jdk.vm.ci.meta.JavaKind valueKind
         2: .line 715
            aload 0 /* this */
            aload 2 /* graph */
            aload 3 /* valueKind */
            aload 1 /* n */
            invokevirtual org.graalvm.compiler.nodes.java.AtomicReadAndWriteNode.newValue:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.implicitStoreConvert:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 4 /* newValue */
        start local 4 // org.graalvm.compiler.nodes.ValueNode newValue
         3: .line 717
            aload 2 /* graph */
            new org.graalvm.compiler.nodes.memory.address.OffsetAddressNode
            dup
            aload 1 /* n */
            invokevirtual org.graalvm.compiler.nodes.java.AtomicReadAndWriteNode.object:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 1 /* n */
            invokevirtual org.graalvm.compiler.nodes.java.AtomicReadAndWriteNode.offset:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokespecial org.graalvm.compiler.nodes.memory.address.OffsetAddressNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;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.memory.address.AddressNode
            astore 5 /* address */
        start local 5 // org.graalvm.compiler.nodes.memory.address.AddressNode address
         4: .line 718
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.barrierSet:Lorg/graalvm/compiler/nodes/gc/BarrierSet;
            aload 1 /* n */
            invokevirtual org.graalvm.compiler.nodes.java.AtomicReadAndWriteNode.object:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 4 /* newValue */
            invokeinterface org.graalvm.compiler.nodes.gc.BarrierSet.guessStoreBarrierType:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
            astore 6 /* barrierType */
        start local 6 // org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType barrierType
         5: .line 719
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.target:Ljdk/vm/ci/code/TargetDescription;
            getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
            aload 3 /* valueKind */
            invokestatic org.graalvm.compiler.core.common.LIRKind.fromJavaKind:(Ljdk/vm/ci/code/Architecture;Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            astore 7 /* lirAccessKind */
        start local 7 // org.graalvm.compiler.core.common.LIRKind lirAccessKind
         6: .line 720
            aload 2 /* graph */
            new org.graalvm.compiler.nodes.java.LoweredAtomicReadAndWriteNode
            dup
            aload 5 /* address */
            aload 1 /* n */
            invokevirtual org.graalvm.compiler.nodes.java.AtomicReadAndWriteNode.getKilledLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
            aload 4 /* newValue */
            aload 7 /* lirAccessKind */
            aload 6 /* barrierType */
            invokespecial org.graalvm.compiler.nodes.java.LoweredAtomicReadAndWriteNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/ValueKind;Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.java.LoweredAtomicReadAndWriteNode
            astore 8 /* memoryRead */
        start local 8 // org.graalvm.compiler.nodes.java.LoweredAtomicReadAndWriteNode memoryRead
         7: .line 721
            aload 8 /* memoryRead */
            aload 1 /* n */
            invokevirtual org.graalvm.compiler.nodes.java.AtomicReadAndWriteNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
            invokevirtual org.graalvm.compiler.nodes.java.LoweredAtomicReadAndWriteNode.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
         8: .line 723
            aload 0 /* this */
            aload 2 /* graph */
            aload 3 /* valueKind */
            aload 8 /* memoryRead */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.implicitLoadConvert:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 9 /* readValue */
        start local 9 // org.graalvm.compiler.nodes.ValueNode readValue
         9: .line 724
            aload 1 /* n */
            invokevirtual org.graalvm.compiler.nodes.java.AtomicReadAndWriteNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
            aload 1 /* n */
            aload 8 /* memoryRead */
            invokevirtual org.graalvm.compiler.nodes.FrameState.replaceFirstInput:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)V
        10: .line 725
            aload 1 /* n */
            aload 9 /* readValue */
            invokevirtual org.graalvm.compiler.nodes.java.AtomicReadAndWriteNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
        11: .line 726
            aload 2 /* graph */
            aload 1 /* n */
            aload 8 /* memoryRead */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
        12: .line 727
            return
        end local 9 // org.graalvm.compiler.nodes.ValueNode readValue
        end local 8 // org.graalvm.compiler.nodes.java.LoweredAtomicReadAndWriteNode memoryRead
        end local 7 // org.graalvm.compiler.core.common.LIRKind lirAccessKind
        end local 6 // org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType barrierType
        end local 5 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        end local 4 // org.graalvm.compiler.nodes.ValueNode newValue
        end local 3 // jdk.vm.ci.meta.JavaKind valueKind
        end local 2 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 1 // org.graalvm.compiler.nodes.java.AtomicReadAndWriteNode n
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   13     0           this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0   13     1              n  Lorg/graalvm/compiler/nodes/java/AtomicReadAndWriteNode;
            1   13     2          graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            2   13     3      valueKind  Ljdk/vm/ci/meta/JavaKind;
            3   13     4       newValue  Lorg/graalvm/compiler/nodes/ValueNode;
            4   13     5        address  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            5   13     6    barrierType  Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
            6   13     7  lirAccessKind  Lorg/graalvm/compiler/core/common/LIRKind;
            7   13     8     memoryRead  Lorg/graalvm/compiler/nodes/java/LoweredAtomicReadAndWriteNode;
            9   13     9      readValue  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
      Name  Flags
      n     

  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=4, locals=7, args_size=3
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // org.graalvm.compiler.nodes.extended.RawLoadNode load
        start local 2 // org.graalvm.compiler.nodes.spi.LoweringTool tool
         0: .line 733
            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 734
            aload 1 /* load */
            instanceof org.graalvm.compiler.nodes.extended.GuardedUnsafeLoadNode
            ifeq 12
         2: .line 735
            aload 1 /* load */
            checkcast org.graalvm.compiler.nodes.extended.GuardedUnsafeLoadNode
            astore 4 /* guardedLoad */
        start local 4 // org.graalvm.compiler.nodes.extended.GuardedUnsafeLoadNode guardedLoad
         3: .line 736
            aload 4 /* guardedLoad */
            invokevirtual org.graalvm.compiler.nodes.extended.GuardedUnsafeLoadNode.getGuard:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            astore 5 /* guard */
        start local 5 // org.graalvm.compiler.nodes.extended.GuardingNode guard
         4: .line 737
            aload 5 /* guard */
            ifnonnull 9
         5: .line 739
            aload 0 /* this */
            aload 3 /* graph */
            aload 1 /* load */
            aconst_null
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createUnsafeRead:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/extended/RawLoadNode;Lorg/graalvm/compiler/nodes/extended/GuardingNode;)Lorg/graalvm/compiler/nodes/memory/ReadNode;
            astore 6 /* memoryRead */
        start local 6 // org.graalvm.compiler.nodes.memory.ReadNode memoryRead
         6: .line 740
            aload 6 /* memoryRead */
            iconst_0
            invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.setForceFixed:(Z)V
         7: .line 741
            aload 3 /* graph */
            aload 1 /* load */
            aload 6 /* memoryRead */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
        end local 6 // org.graalvm.compiler.nodes.memory.ReadNode memoryRead
         8: .line 742
            goto 14
         9: .line 744
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.extended.GuardedUnsafeLoadNode org.graalvm.compiler.nodes.extended.GuardingNode
      StackMap stack:
            aload 0 /* this */
            aload 3 /* graph */
            aload 1 /* load */
            aload 5 /* guard */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createUnsafeRead:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/extended/RawLoadNode;Lorg/graalvm/compiler/nodes/extended/GuardingNode;)Lorg/graalvm/compiler/nodes/memory/ReadNode;
            astore 6 /* memoryRead */
        start local 6 // org.graalvm.compiler.nodes.memory.ReadNode memoryRead
        10: .line 745
            aload 3 /* graph */
            aload 1 /* load */
            aload 6 /* memoryRead */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
        end local 6 // org.graalvm.compiler.nodes.memory.ReadNode memoryRead
        end local 5 // org.graalvm.compiler.nodes.extended.GuardingNode guard
        end local 4 // org.graalvm.compiler.nodes.extended.GuardedUnsafeLoadNode guardedLoad
        11: .line 747
            goto 14
        12: .line 750
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* graph */
            aload 1 /* load */
            aconst_null
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createUnsafeRead:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/extended/RawLoadNode;Lorg/graalvm/compiler/nodes/extended/GuardingNode;)Lorg/graalvm/compiler/nodes/memory/ReadNode;
            astore 4 /* memoryRead */
        start local 4 // org.graalvm.compiler.nodes.memory.ReadNode memoryRead
        13: .line 751
            aload 3 /* graph */
            aload 1 /* load */
            aload 4 /* memoryRead */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
        end local 4 // org.graalvm.compiler.nodes.memory.ReadNode memoryRead
        14: .line 753
      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.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   15     0         this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0   15     1         load  Lorg/graalvm/compiler/nodes/extended/RawLoadNode;
            0   15     2         tool  Lorg/graalvm/compiler/nodes/spi/LoweringTool;
            1   15     3        graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            3   11     4  guardedLoad  Lorg/graalvm/compiler/nodes/extended/GuardedUnsafeLoadNode;
            4   11     5        guard  Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            6    8     6   memoryRead  Lorg/graalvm/compiler/nodes/memory/ReadNode;
           10   11     6   memoryRead  Lorg/graalvm/compiler/nodes/memory/ReadNode;
           13   14     4   memoryRead  Lorg/graalvm/compiler/nodes/memory/ReadNode;
    MethodParameters:
      Name  Flags
      load  
      tool  

  protected org.graalvm.compiler.nodes.memory.address.AddressNode createUnsafeAddress(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/address/AddressNode;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider 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 offset
         0: .line 756
            aload 2 /* object */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifeq 2
            aload 2 /* object */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.asConstant:()Ljdk/vm/ci/meta/Constant;
            invokeinterface jdk.vm.ci.meta.Constant.isDefaultForKind:()Z
            ifeq 2
         1: .line 757
            aload 1 /* graph */
            aload 3 /* offset */
            invokestatic org.graalvm.compiler.nodes.memory.address.OffsetAddressNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/memory/address/OffsetAddressNode;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addOrUniqueWithInputs:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.memory.address.AddressNode
            areturn
         2: .line 759
      StackMap locals:
      StackMap stack:
            aload 1 /* graph */
            new org.graalvm.compiler.nodes.memory.address.OffsetAddressNode
            dup
            aload 2 /* object */
            aload 3 /* offset */
            invokespecial org.graalvm.compiler.nodes.memory.address.OffsetAddressNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;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.memory.address.AddressNode
            areturn
        end local 3 // org.graalvm.compiler.nodes.ValueNode offset
        end local 2 // org.graalvm.compiler.nodes.ValueNode object
        end local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0    3     1   graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0    3     2  object  Lorg/graalvm/compiler/nodes/ValueNode;
            0    3     3  offset  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
        Name  Flags
      graph   
      object  
      offset  

  protected org.graalvm.compiler.nodes.memory.ReadNode createUnsafeRead(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.nodes.extended.RawLoadNode, org.graalvm.compiler.nodes.extended.GuardingNode);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/extended/RawLoadNode;Lorg/graalvm/compiler/nodes/extended/GuardingNode;)Lorg/graalvm/compiler/nodes/memory/ReadNode;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=10, args_size=4
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        start local 2 // org.graalvm.compiler.nodes.extended.RawLoadNode load
        start local 3 // org.graalvm.compiler.nodes.extended.GuardingNode guard
         0: .line 764
            aload 2 /* 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 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: istore 4 /* compressible */
        start local 4 // boolean compressible
         3: .line 765
            aload 2 /* load */
            invokevirtual org.graalvm.compiler.nodes.extended.RawLoadNode.accessKind:()Ljdk/vm/ci/meta/JavaKind;
            astore 5 /* readKind */
        start local 5 // jdk.vm.ci.meta.JavaKind readKind
         4: .line 766
            aload 0 /* this */
            aload 2 /* load */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.nodes.extended.RawLoadNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            aload 5 /* readKind */
            iload 4 /* compressible */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.loadStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;Ljdk/vm/ci/meta/JavaKind;Z)Lorg/graalvm/compiler/core/common/type/Stamp;
            astore 6 /* loadStamp */
        start local 6 // org.graalvm.compiler.core.common.type.Stamp loadStamp
         5: .line 767
            aload 0 /* this */
            aload 1 /* graph */
            aload 2 /* load */
            invokevirtual org.graalvm.compiler.nodes.extended.RawLoadNode.object:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 2 /* load */
            invokevirtual org.graalvm.compiler.nodes.extended.RawLoadNode.offset:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createUnsafeAddress:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            astore 7 /* address */
        start local 7 // org.graalvm.compiler.nodes.memory.address.AddressNode address
         6: .line 768
            aconst_null
            astore 8 /* memoryRead */
        start local 8 // org.graalvm.compiler.nodes.memory.ReadNode memoryRead
         7: .line 769
            aload 2 /* load */
            invokevirtual org.graalvm.compiler.nodes.extended.RawLoadNode.isVolatile:()Z
            ifeq 10
         8: .line 770
            new org.graalvm.compiler.nodes.memory.VolatileReadNode
            dup
            aload 7 /* address */
            aload 6 /* loadStamp */
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.barrierSet:Lorg/graalvm/compiler/nodes/gc/BarrierSet;
            aload 2 /* load */
            invokeinterface org.graalvm.compiler.nodes.gc.BarrierSet.readBarrierType:(Lorg/graalvm/compiler/nodes/extended/RawLoadNode;)Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
            invokespecial org.graalvm.compiler.nodes.memory.VolatileReadNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;)V
            astore 8 /* memoryRead */
         9: .line 771
            goto 11
        10: .line 772
      StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.extended.RawLoadNode org.graalvm.compiler.nodes.extended.GuardingNode int jdk.vm.ci.meta.JavaKind org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.nodes.memory.address.AddressNode org.graalvm.compiler.nodes.memory.ReadNode
      StackMap stack:
            new org.graalvm.compiler.nodes.memory.ReadNode
            dup
            aload 7 /* address */
            aload 2 /* load */
            invokevirtual org.graalvm.compiler.nodes.extended.RawLoadNode.getLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
            aload 6 /* loadStamp */
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.barrierSet:Lorg/graalvm/compiler/nodes/gc/BarrierSet;
            aload 2 /* load */
            invokeinterface org.graalvm.compiler.nodes.gc.BarrierSet.readBarrierType:(Lorg/graalvm/compiler/nodes/extended/RawLoadNode;)Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
            invokespecial org.graalvm.compiler.nodes.memory.ReadNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;)V
            astore 8 /* memoryRead */
        11: .line 774
      StackMap locals:
      StackMap stack:
            aload 1 /* graph */
            aload 8 /* memoryRead */
            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 8 /* memoryRead */
        12: .line 775
            aload 3 /* guard */
            ifnonnull 15
        13: .line 778
            aload 8 /* memoryRead */
            iconst_1
            invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.setForceFixed:(Z)V
        14: .line 779
            goto 16
        15: .line 780
      StackMap locals:
      StackMap stack:
            aload 8 /* memoryRead */
            aload 3 /* guard */
            invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.setGuard:(Lorg/graalvm/compiler/nodes/extended/GuardingNode;)V
        16: .line 782
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* graph */
            aload 5 /* readKind */
            aload 8 /* memoryRead */
            iload 4 /* compressible */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.implicitLoadConvert:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;Z)Lorg/graalvm/compiler/nodes/ValueNode;
            aload 5 /* readKind */
            invokestatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.performBooleanCoercionIfNecessary:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 9 /* readValue */
        start local 9 // org.graalvm.compiler.nodes.ValueNode readValue
        17: .line 783
            aload 2 /* load */
            aload 9 /* readValue */
            invokevirtual org.graalvm.compiler.nodes.extended.RawLoadNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
        18: .line 784
            aload 8 /* memoryRead */
            areturn
        end local 9 // org.graalvm.compiler.nodes.ValueNode readValue
        end local 8 // org.graalvm.compiler.nodes.memory.ReadNode memoryRead
        end local 7 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        end local 6 // org.graalvm.compiler.core.common.type.Stamp loadStamp
        end local 5 // jdk.vm.ci.meta.JavaKind readKind
        end local 4 // boolean compressible
        end local 3 // org.graalvm.compiler.nodes.extended.GuardingNode guard
        end local 2 // org.graalvm.compiler.nodes.extended.RawLoadNode load
        end local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   19     0          this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0   19     1         graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0   19     2          load  Lorg/graalvm/compiler/nodes/extended/RawLoadNode;
            0   19     3         guard  Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            3   19     4  compressible  Z
            4   19     5      readKind  Ljdk/vm/ci/meta/JavaKind;
            5   19     6     loadStamp  Lorg/graalvm/compiler/core/common/type/Stamp;
            6   19     7       address  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            7   19     8    memoryRead  Lorg/graalvm/compiler/nodes/memory/ReadNode;
           17   19     9     readValue  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
       Name  Flags
      graph  
      load   
      guard  

  protected void lowerUnsafeMemoryLoadNode(org.graalvm.compiler.nodes.extended.UnsafeMemoryLoadNode);
    descriptor: (Lorg/graalvm/compiler/nodes/extended/UnsafeMemoryLoadNode;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=8, args_size=2
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // org.graalvm.compiler.nodes.extended.UnsafeMemoryLoadNode load
         0: .line 788
            aload 1 /* load */
            invokevirtual org.graalvm.compiler.nodes.extended.UnsafeMemoryLoadNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 2 /* graph */
        start local 2 // org.graalvm.compiler.nodes.StructuredGraph graph
         1: .line 789
            aload 1 /* load */
            invokevirtual org.graalvm.compiler.nodes.extended.UnsafeMemoryLoadNode.getKind:()Ljdk/vm/ci/meta/JavaKind;
            astore 3 /* readKind */
        start local 3 // jdk.vm.ci.meta.JavaKind readKind
         2: .line 790
            getstatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.$assertionsDisabled:Z
            ifne 3
            aload 3 /* readKind */
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 791
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.JavaKind
      StackMap stack:
            aload 0 /* this */
            aload 1 /* load */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.nodes.extended.UnsafeMemoryLoadNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            aload 3 /* readKind */
            iconst_0
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.loadStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;Ljdk/vm/ci/meta/JavaKind;Z)Lorg/graalvm/compiler/core/common/type/Stamp;
            astore 4 /* loadStamp */
        start local 4 // org.graalvm.compiler.core.common.type.Stamp loadStamp
         4: .line 792
            aload 2 /* graph */
            aload 1 /* load */
            invokevirtual org.graalvm.compiler.nodes.extended.UnsafeMemoryLoadNode.getAddress:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokestatic org.graalvm.compiler.nodes.memory.address.OffsetAddressNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/memory/address/OffsetAddressNode;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addOrUniqueWithInputs:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.memory.address.AddressNode
            astore 5 /* address */
        start local 5 // org.graalvm.compiler.nodes.memory.address.AddressNode address
         5: .line 793
            aload 2 /* graph */
            new org.graalvm.compiler.nodes.memory.ReadNode
            dup
            aload 5 /* address */
            aload 1 /* load */
            invokevirtual org.graalvm.compiler.nodes.extended.UnsafeMemoryLoadNode.getLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
            aload 4 /* loadStamp */
            getstatic org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
            invokespecial org.graalvm.compiler.nodes.memory.ReadNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$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 /* memoryRead */
        start local 6 // org.graalvm.compiler.nodes.memory.ReadNode memoryRead
         6: .line 796
            aload 6 /* memoryRead */
            iconst_1
            invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.setForceFixed:(Z)V
         7: .line 797
            aload 0 /* this */
            aload 2 /* graph */
            aload 3 /* readKind */
            aload 6 /* memoryRead */
            iconst_0
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.implicitLoadConvert:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;Z)Lorg/graalvm/compiler/nodes/ValueNode;
            aload 3 /* readKind */
            invokestatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.performBooleanCoercionIfNecessary:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 7 /* readValue */
        start local 7 // org.graalvm.compiler.nodes.ValueNode readValue
         8: .line 798
            aload 1 /* load */
            aload 7 /* readValue */
            invokevirtual org.graalvm.compiler.nodes.extended.UnsafeMemoryLoadNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
         9: .line 799
            aload 2 /* graph */
            aload 1 /* load */
            aload 6 /* memoryRead */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
        10: .line 800
            return
        end local 7 // org.graalvm.compiler.nodes.ValueNode readValue
        end local 6 // org.graalvm.compiler.nodes.memory.ReadNode memoryRead
        end local 5 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        end local 4 // org.graalvm.compiler.core.common.type.Stamp loadStamp
        end local 3 // jdk.vm.ci.meta.JavaKind readKind
        end local 2 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 1 // org.graalvm.compiler.nodes.extended.UnsafeMemoryLoadNode load
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0        this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0   11     1        load  Lorg/graalvm/compiler/nodes/extended/UnsafeMemoryLoadNode;
            1   11     2       graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            2   11     3    readKind  Ljdk/vm/ci/meta/JavaKind;
            4   11     4   loadStamp  Lorg/graalvm/compiler/core/common/type/Stamp;
            5   11     5     address  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            6   11     6  memoryRead  Lorg/graalvm/compiler/nodes/memory/ReadNode;
            8   11     7   readValue  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
      Name  Flags
      load  

  private static org.graalvm.compiler.nodes.ValueNode performBooleanCoercionIfNecessary(org.graalvm.compiler.nodes.ValueNode, jdk.vm.ci.meta.JavaKind);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=4, args_size=2
        start local 0 // org.graalvm.compiler.nodes.ValueNode readValue
        start local 1 // jdk.vm.ci.meta.JavaKind readKind
         0: .line 803
            aload 1 /* readKind */
            getstatic jdk.vm.ci.meta.JavaKind.Boolean:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 4
         1: .line 804
            aload 0 /* readValue */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 2 /* graph */
        start local 2 // org.graalvm.compiler.nodes.StructuredGraph graph
         2: .line 805
            aload 2 /* graph */
            new org.graalvm.compiler.nodes.calc.IntegerEqualsNode
            dup
            aload 0 /* readValue */
            iconst_0
            aload 2 /* graph */
            invokestatic org.graalvm.compiler.nodes.ConstantNode.forInt:(ILorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
            invokespecial org.graalvm.compiler.nodes.calc.IntegerEqualsNode.<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.IntegerEqualsNode
            astore 3 /* eq */
        start local 3 // org.graalvm.compiler.nodes.calc.IntegerEqualsNode eq
         3: .line 806
            aload 2 /* graph */
            new org.graalvm.compiler.nodes.calc.ConditionalNode
            dup
            aload 3 /* eq */
            iconst_0
            aload 2 /* graph */
            invokestatic org.graalvm.compiler.nodes.ConstantNode.forBoolean:(ZLorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
            iconst_1
            aload 2 /* graph */
            invokestatic org.graalvm.compiler.nodes.ConstantNode.forBoolean:(ZLorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
            invokespecial org.graalvm.compiler.nodes.calc.ConditionalNode.<init>:(Lorg/graalvm/compiler/nodes/LogicNode;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.ValueNode
            areturn
        end local 3 // org.graalvm.compiler.nodes.calc.IntegerEqualsNode eq
        end local 2 // org.graalvm.compiler.nodes.StructuredGraph graph
         4: .line 808
      StackMap locals:
      StackMap stack:
            aload 0 /* readValue */
            areturn
        end local 1 // jdk.vm.ci.meta.JavaKind readKind
        end local 0 // org.graalvm.compiler.nodes.ValueNode readValue
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0  readValue  Lorg/graalvm/compiler/nodes/ValueNode;
            0    5     1   readKind  Ljdk/vm/ci/meta/JavaKind;
            2    4     2      graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            3    4     3         eq  Lorg/graalvm/compiler/nodes/calc/IntegerEqualsNode;
    MethodParameters:
           Name  Flags
      readValue  
      readKind   

  protected void lowerUnsafeStoreNode(org.graalvm.compiler.nodes.extended.RawStoreNode);
    descriptor: (Lorg/graalvm/compiler/nodes/extended/RawStoreNode;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=8, args_size=2
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // org.graalvm.compiler.nodes.extended.RawStoreNode store
         0: .line 812
            aload 1 /* store */
            invokevirtual org.graalvm.compiler.nodes.extended.RawStoreNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 2 /* graph */
        start local 2 // org.graalvm.compiler.nodes.StructuredGraph graph
         1: .line 813
            aload 1 /* store */
            invokevirtual org.graalvm.compiler.nodes.extended.RawStoreNode.value:()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 2
            iconst_1
            goto 3
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: istore 3 /* compressible */
        start local 3 // boolean compressible
         4: .line 814
            aload 1 /* store */
            invokevirtual org.graalvm.compiler.nodes.extended.RawStoreNode.accessKind:()Ljdk/vm/ci/meta/JavaKind;
            astore 4 /* valueKind */
        start local 4 // jdk.vm.ci.meta.JavaKind valueKind
         5: .line 815
            aload 0 /* this */
            aload 2 /* graph */
            aload 4 /* valueKind */
            aload 1 /* store */
            invokevirtual org.graalvm.compiler.nodes.extended.RawStoreNode.value:()Lorg/graalvm/compiler/nodes/ValueNode;
            iload 3 /* compressible */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.implicitStoreConvert:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;Z)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 5 /* value */
        start local 5 // org.graalvm.compiler.nodes.ValueNode value
         6: .line 816
            aload 0 /* this */
            aload 2 /* graph */
            aload 1 /* store */
            invokevirtual org.graalvm.compiler.nodes.extended.RawStoreNode.object:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 1 /* store */
            invokevirtual org.graalvm.compiler.nodes.extended.RawStoreNode.offset:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createUnsafeAddress:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            astore 6 /* address */
        start local 6 // org.graalvm.compiler.nodes.memory.address.AddressNode address
         7: .line 817
            aconst_null
            astore 7 /* write */
        start local 7 // org.graalvm.compiler.nodes.memory.WriteNode write
         8: .line 818
            aload 1 /* store */
            invokevirtual org.graalvm.compiler.nodes.extended.RawStoreNode.isVolatile:()Z
            ifeq 11
         9: .line 819
            new org.graalvm.compiler.nodes.memory.VolatileWriteNode
            dup
            aload 6 /* address */
            aload 1 /* store */
            invokevirtual org.graalvm.compiler.nodes.extended.RawStoreNode.getLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
            aload 5 /* value */
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.barrierSet:Lorg/graalvm/compiler/nodes/gc/BarrierSet;
            aload 1 /* store */
            invokeinterface org.graalvm.compiler.nodes.gc.BarrierSet.storeBarrierType:(Lorg/graalvm/compiler/nodes/extended/RawStoreNode;)Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
            invokespecial org.graalvm.compiler.nodes.memory.VolatileWriteNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;)V
            astore 7 /* write */
        10: .line 820
            goto 12
        11: .line 821
      StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.extended.RawStoreNode org.graalvm.compiler.nodes.StructuredGraph int jdk.vm.ci.meta.JavaKind org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.memory.address.AddressNode org.graalvm.compiler.nodes.memory.WriteNode
      StackMap stack:
            new org.graalvm.compiler.nodes.memory.WriteNode
            dup
            aload 6 /* address */
            aload 1 /* store */
            invokevirtual org.graalvm.compiler.nodes.extended.RawStoreNode.getLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
            aload 5 /* value */
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.barrierSet:Lorg/graalvm/compiler/nodes/gc/BarrierSet;
            aload 1 /* store */
            invokeinterface org.graalvm.compiler.nodes.gc.BarrierSet.storeBarrierType:(Lorg/graalvm/compiler/nodes/extended/RawStoreNode;)Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
            invokespecial org.graalvm.compiler.nodes.memory.WriteNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;)V
            astore 7 /* write */
        12: .line 823
      StackMap locals:
      StackMap stack:
            aload 2 /* graph */
            aload 7 /* write */
            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 7 /* write */
        13: .line 824
            aload 7 /* write */
            aload 1 /* store */
            invokevirtual org.graalvm.compiler.nodes.extended.RawStoreNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
            invokevirtual org.graalvm.compiler.nodes.memory.WriteNode.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
        14: .line 825
            aload 2 /* graph */
            aload 1 /* store */
            aload 7 /* write */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
        15: .line 826
            return
        end local 7 // org.graalvm.compiler.nodes.memory.WriteNode write
        end local 6 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        end local 5 // org.graalvm.compiler.nodes.ValueNode value
        end local 4 // jdk.vm.ci.meta.JavaKind valueKind
        end local 3 // boolean compressible
        end local 2 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 1 // org.graalvm.compiler.nodes.extended.RawStoreNode store
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   16     0          this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0   16     1         store  Lorg/graalvm/compiler/nodes/extended/RawStoreNode;
            1   16     2         graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            4   16     3  compressible  Z
            5   16     4     valueKind  Ljdk/vm/ci/meta/JavaKind;
            6   16     5         value  Lorg/graalvm/compiler/nodes/ValueNode;
            7   16     6       address  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            8   16     7         write  Lorg/graalvm/compiler/nodes/memory/WriteNode;
    MethodParameters:
       Name  Flags
      store  

  protected void lowerUnsafeMemoryStoreNode(org.graalvm.compiler.nodes.extended.UnsafeMemoryStoreNode);
    descriptor: (Lorg/graalvm/compiler/nodes/extended/UnsafeMemoryStoreNode;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=7, args_size=2
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // org.graalvm.compiler.nodes.extended.UnsafeMemoryStoreNode store
         0: .line 829
            aload 1 /* store */
            invokevirtual org.graalvm.compiler.nodes.extended.UnsafeMemoryStoreNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 2 /* graph */
        start local 2 // org.graalvm.compiler.nodes.StructuredGraph graph
         1: .line 830
            getstatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.$assertionsDisabled:Z
            ifne 2
            aload 1 /* store */
            invokevirtual org.graalvm.compiler.nodes.extended.UnsafeMemoryStoreNode.getValue:()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 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 831
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph
      StackMap stack:
            aload 1 /* store */
            invokevirtual org.graalvm.compiler.nodes.extended.UnsafeMemoryStoreNode.getKind:()Ljdk/vm/ci/meta/JavaKind;
            astore 3 /* valueKind */
        start local 3 // jdk.vm.ci.meta.JavaKind valueKind
         3: .line 832
            aload 0 /* this */
            aload 2 /* graph */
            aload 3 /* valueKind */
            aload 1 /* store */
            invokevirtual org.graalvm.compiler.nodes.extended.UnsafeMemoryStoreNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
            iconst_0
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.implicitStoreConvert:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;Z)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 4 /* value */
        start local 4 // org.graalvm.compiler.nodes.ValueNode value
         4: .line 833
            aload 2 /* graph */
            aload 1 /* store */
            invokevirtual org.graalvm.compiler.nodes.extended.UnsafeMemoryStoreNode.getAddress:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokestatic org.graalvm.compiler.nodes.memory.address.OffsetAddressNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/memory/address/OffsetAddressNode;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addOrUniqueWithInputs:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.memory.address.AddressNode
            astore 5 /* address */
        start local 5 // org.graalvm.compiler.nodes.memory.address.AddressNode address
         5: .line 834
            aload 2 /* graph */
            new org.graalvm.compiler.nodes.memory.WriteNode
            dup
            aload 5 /* address */
            aload 1 /* store */
            invokevirtual org.graalvm.compiler.nodes.extended.UnsafeMemoryStoreNode.getKilledLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
            aload 4 /* value */
            getstatic org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
            invokespecial org.graalvm.compiler.nodes.memory.WriteNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$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 6 /* write */
        start local 6 // org.graalvm.compiler.nodes.memory.WriteNode write
         6: .line 835
            aload 6 /* write */
            aload 1 /* store */
            invokevirtual org.graalvm.compiler.nodes.extended.UnsafeMemoryStoreNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
            invokevirtual org.graalvm.compiler.nodes.memory.WriteNode.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
         7: .line 836
            aload 2 /* graph */
            aload 1 /* store */
            aload 6 /* write */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
         8: .line 837
            return
        end local 6 // org.graalvm.compiler.nodes.memory.WriteNode write
        end local 5 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        end local 4 // org.graalvm.compiler.nodes.ValueNode value
        end local 3 // jdk.vm.ci.meta.JavaKind valueKind
        end local 2 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 1 // org.graalvm.compiler.nodes.extended.UnsafeMemoryStoreNode store
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0    9     1      store  Lorg/graalvm/compiler/nodes/extended/UnsafeMemoryStoreNode;
            1    9     2      graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            3    9     3  valueKind  Ljdk/vm/ci/meta/JavaKind;
            4    9     4      value  Lorg/graalvm/compiler/nodes/ValueNode;
            5    9     5    address  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            6    9     6      write  Lorg/graalvm/compiler/nodes/memory/WriteNode;
    MethodParameters:
       Name  Flags
      store  

  protected void lowerJavaReadNode(org.graalvm.compiler.nodes.extended.JavaReadNode);
    descriptor: (Lorg/graalvm/compiler/nodes/extended/JavaReadNode;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=8, args_size=2
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // org.graalvm.compiler.nodes.extended.JavaReadNode read
         0: .line 840
            aload 1 /* read */
            invokevirtual org.graalvm.compiler.nodes.extended.JavaReadNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 2 /* graph */
        start local 2 // org.graalvm.compiler.nodes.StructuredGraph graph
         1: .line 841
            aload 1 /* read */
            invokevirtual org.graalvm.compiler.nodes.extended.JavaReadNode.getReadKind:()Ljdk/vm/ci/meta/JavaKind;
            astore 3 /* valueKind */
        start local 3 // jdk.vm.ci.meta.JavaKind valueKind
         2: .line 842
            aload 0 /* this */
            aload 1 /* read */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.nodes.extended.JavaReadNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            aload 3 /* valueKind */
            aload 1 /* read */
            invokevirtual org.graalvm.compiler.nodes.extended.JavaReadNode.isCompressible:()Z
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.loadStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;Ljdk/vm/ci/meta/JavaKind;Z)Lorg/graalvm/compiler/core/common/type/Stamp;
            astore 4 /* loadStamp */
        start local 4 // org.graalvm.compiler.core.common.type.Stamp loadStamp
         3: .line 844
            aload 2 /* graph */
            new org.graalvm.compiler.nodes.memory.ReadNode
            dup
            aload 1 /* read */
            invokevirtual org.graalvm.compiler.nodes.extended.JavaReadNode.getAddress:()Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            aload 1 /* read */
            invokevirtual org.graalvm.compiler.nodes.extended.JavaReadNode.getLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
            aload 4 /* loadStamp */
            aload 1 /* read */
            invokevirtual org.graalvm.compiler.nodes.extended.JavaReadNode.getBarrierType:()Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
            invokespecial org.graalvm.compiler.nodes.memory.ReadNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$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 5 /* memoryRead */
        start local 5 // org.graalvm.compiler.nodes.memory.ReadNode memoryRead
         4: .line 845
            aload 1 /* read */
            invokevirtual org.graalvm.compiler.nodes.extended.JavaReadNode.getGuard:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            astore 6 /* guard */
        start local 6 // org.graalvm.compiler.nodes.extended.GuardingNode guard
         5: .line 846
            aload 0 /* this */
            aload 2 /* graph */
            aload 3 /* valueKind */
            aload 5 /* memoryRead */
            aload 1 /* read */
            invokevirtual org.graalvm.compiler.nodes.extended.JavaReadNode.isCompressible:()Z
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.implicitLoadConvert:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;Z)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 7 /* readValue */
        start local 7 // org.graalvm.compiler.nodes.ValueNode readValue
         6: .line 847
            aload 6 /* guard */
            ifnonnull 9
         7: .line 850
            aload 5 /* memoryRead */
            iconst_1
            invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.setForceFixed:(Z)V
         8: .line 851
            goto 10
         9: .line 852
      StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.extended.JavaReadNode org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.JavaKind org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.nodes.memory.ReadNode org.graalvm.compiler.nodes.extended.GuardingNode org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 5 /* memoryRead */
            aload 6 /* guard */
            invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.setGuard:(Lorg/graalvm/compiler/nodes/extended/GuardingNode;)V
        10: .line 854
      StackMap locals:
      StackMap stack:
            aload 1 /* read */
            aload 7 /* readValue */
            invokevirtual org.graalvm.compiler.nodes.extended.JavaReadNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
        11: .line 855
            aload 2 /* graph */
            aload 1 /* read */
            aload 5 /* memoryRead */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/graph/Node;)V
        12: .line 856
            return
        end local 7 // org.graalvm.compiler.nodes.ValueNode readValue
        end local 6 // org.graalvm.compiler.nodes.extended.GuardingNode guard
        end local 5 // org.graalvm.compiler.nodes.memory.ReadNode memoryRead
        end local 4 // org.graalvm.compiler.core.common.type.Stamp loadStamp
        end local 3 // jdk.vm.ci.meta.JavaKind valueKind
        end local 2 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 1 // org.graalvm.compiler.nodes.extended.JavaReadNode read
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   13     0        this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0   13     1        read  Lorg/graalvm/compiler/nodes/extended/JavaReadNode;
            1   13     2       graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            2   13     3   valueKind  Ljdk/vm/ci/meta/JavaKind;
            3   13     4   loadStamp  Lorg/graalvm/compiler/core/common/type/Stamp;
            4   13     5  memoryRead  Lorg/graalvm/compiler/nodes/memory/ReadNode;
            5   13     6       guard  Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            6   13     7   readValue  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
      Name  Flags
      read  

  protected void lowerJavaWriteNode(org.graalvm.compiler.nodes.extended.JavaWriteNode);
    descriptor: (Lorg/graalvm/compiler/nodes/extended/JavaWriteNode;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=5, args_size=2
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // org.graalvm.compiler.nodes.extended.JavaWriteNode write
         0: .line 859
            aload 1 /* write */
            invokevirtual org.graalvm.compiler.nodes.extended.JavaWriteNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 2 /* graph */
        start local 2 // org.graalvm.compiler.nodes.StructuredGraph graph
         1: .line 860
            aload 0 /* this */
            aload 2 /* graph */
            aload 1 /* write */
            invokevirtual org.graalvm.compiler.nodes.extended.JavaWriteNode.getWriteKind:()Ljdk/vm/ci/meta/JavaKind;
            aload 1 /* write */
            invokevirtual org.graalvm.compiler.nodes.extended.JavaWriteNode.value:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 1 /* write */
            invokevirtual org.graalvm.compiler.nodes.extended.JavaWriteNode.isCompressible:()Z
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.implicitStoreConvert:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;Z)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 3 /* value */
        start local 3 // org.graalvm.compiler.nodes.ValueNode value
         2: .line 861
            aconst_null
            astore 4 /* memoryWrite */
        start local 4 // org.graalvm.compiler.nodes.memory.WriteNode memoryWrite
         3: .line 862
            aload 1 /* write */
            invokevirtual org.graalvm.compiler.nodes.extended.JavaWriteNode.hasSideEffect:()Z
            ifeq 6
         4: .line 863
            aload 2 /* graph */
            new org.graalvm.compiler.nodes.memory.WriteNode
            dup
            aload 1 /* write */
            invokevirtual org.graalvm.compiler.nodes.extended.JavaWriteNode.getAddress:()Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            aload 1 /* write */
            invokevirtual org.graalvm.compiler.nodes.extended.JavaWriteNode.getKilledLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
            aload 3 /* value */
            aload 1 /* write */
            invokevirtual org.graalvm.compiler.nodes.extended.JavaWriteNode.getBarrierType:()Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
            invokespecial org.graalvm.compiler.nodes.memory.WriteNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$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 4 /* memoryWrite */
         5: .line 864
            goto 7
         6: .line 865
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.memory.WriteNode
      StackMap stack:
            aload 2 /* graph */
            new org.graalvm.compiler.nodes.memory.SideEffectFreeWrite
            dup
            aload 1 /* write */
            invokevirtual org.graalvm.compiler.nodes.extended.JavaWriteNode.getAddress:()Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            aload 1 /* write */
            invokevirtual org.graalvm.compiler.nodes.extended.JavaWriteNode.getKilledLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
            aload 3 /* value */
            aload 1 /* write */
            invokevirtual org.graalvm.compiler.nodes.extended.JavaWriteNode.getBarrierType:()Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
            invokespecial org.graalvm.compiler.nodes.memory.SideEffectFreeWrite.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$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 4 /* memoryWrite */
         7: .line 867
      StackMap locals:
      StackMap stack:
            aload 4 /* memoryWrite */
            aload 1 /* write */
            invokevirtual org.graalvm.compiler.nodes.extended.JavaWriteNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
            invokevirtual org.graalvm.compiler.nodes.memory.WriteNode.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
         8: .line 868
            aload 2 /* graph */
            aload 1 /* write */
            aload 4 /* memoryWrite */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
         9: .line 869
            aload 4 /* memoryWrite */
            aload 1 /* write */
            invokevirtual org.graalvm.compiler.nodes.extended.JavaWriteNode.getGuard:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            invokevirtual org.graalvm.compiler.nodes.memory.WriteNode.setGuard:(Lorg/graalvm/compiler/nodes/extended/GuardingNode;)V
        10: .line 870
            return
        end local 4 // org.graalvm.compiler.nodes.memory.WriteNode memoryWrite
        end local 3 // org.graalvm.compiler.nodes.ValueNode value
        end local 2 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 1 // org.graalvm.compiler.nodes.extended.JavaWriteNode write
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0         this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0   11     1        write  Lorg/graalvm/compiler/nodes/extended/JavaWriteNode;
            1   11     2        graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            2   11     3        value  Lorg/graalvm/compiler/nodes/ValueNode;
            3   11     4  memoryWrite  Lorg/graalvm/compiler/nodes/memory/WriteNode;
    MethodParameters:
       Name  Flags
      write  

  protected void lowerCommitAllocationNode(org.graalvm.compiler.nodes.virtual.CommitAllocationNode, org.graalvm.compiler.nodes.spi.LoweringTool);
    descriptor: (Lorg/graalvm/compiler/nodes/virtual/CommitAllocationNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=11, locals=24, args_size=3
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // org.graalvm.compiler.nodes.virtual.CommitAllocationNode commit
        start local 2 // org.graalvm.compiler.nodes.spi.LoweringTool tool
         0: .line 874
            aload 1 /* commit */
            invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 3 /* graph */
        start local 3 // org.graalvm.compiler.nodes.StructuredGraph graph
         1: .line 875
            aload 3 /* 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 108
         2: .line 876
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* recursiveLowerings */
        start local 4 // java.util.List recursiveLowerings
         3: .line 878
            aload 1 /* commit */
            invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.getVirtualObjects:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            anewarray org.graalvm.compiler.nodes.ValueNode
            astore 5 /* allocations */
        start local 5 // org.graalvm.compiler.nodes.ValueNode[] allocations
         4: .line 879
            new java.util.BitSet
            dup
            invokespecial java.util.BitSet.<init>:()V
            astore 6 /* omittedValues */
        start local 6 // java.util.BitSet omittedValues
         5: .line 880
            iconst_0
            istore 7 /* valuePos */
        start local 7 // int valuePos
         6: .line 881
            iconst_0
            istore 8 /* objIndex */
        start local 8 // int objIndex
         7: goto 61
         8: .line 882
      StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.virtual.CommitAllocationNode org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.StructuredGraph java.util.List org.graalvm.compiler.nodes.ValueNode[] java.util.BitSet int int
      StackMap stack:
            aload 1 /* commit */
            invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.getVirtualObjects:()Ljava/util/List;
            iload 8 /* objIndex */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.virtual.VirtualObjectNode
            astore 9 /* virtual */
        start local 9 // org.graalvm.compiler.nodes.virtual.VirtualObjectNode virtual
         9: .line 883
            aconst_null
            astore 10
            aconst_null
            astore 11
        10: aload 3 /* graph */
            aload 9 /* virtual */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.withNodeSourcePosition:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/debug/DebugCloseable;
            astore 12 /* nsp */
        start local 12 // org.graalvm.compiler.debug.DebugCloseable nsp
        11: .line 884
            aload 9 /* virtual */
            invokevirtual org.graalvm.compiler.nodes.virtual.VirtualObjectNode.entryCount:()I
            istore 13 /* entryCount */
        start local 13 // int entryCount
        12: .line 886
            aload 9 /* virtual */
            instanceof org.graalvm.compiler.nodes.virtual.VirtualInstanceNode
            ifeq 15
        13: .line 887
            aload 3 /* graph */
            new org.graalvm.compiler.nodes.java.NewInstanceNode
            dup
            aload 9 /* virtual */
            invokevirtual org.graalvm.compiler.nodes.virtual.VirtualObjectNode.type:()Ljdk/vm/ci/meta/ResolvedJavaType;
            iconst_1
            invokespecial org.graalvm.compiler.nodes.java.NewInstanceNode.<init>:(Ljdk/vm/ci/meta/ResolvedJavaType;Z)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.java.AbstractNewObjectNode
            astore 14 /* newObject */
        start local 14 // org.graalvm.compiler.nodes.java.AbstractNewObjectNode newObject
        14: .line 888
            goto 17
        end local 14 // org.graalvm.compiler.nodes.java.AbstractNewObjectNode newObject
        15: .line 889
      StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.virtual.CommitAllocationNode org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.StructuredGraph java.util.List org.graalvm.compiler.nodes.ValueNode[] java.util.BitSet int int org.graalvm.compiler.nodes.virtual.VirtualObjectNode java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable int
      StackMap stack:
            getstatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.$assertionsDisabled:Z
            ifne 16
            aload 9 /* virtual */
            instanceof org.graalvm.compiler.nodes.virtual.VirtualArrayNode
            ifne 16
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        16: .line 890
      StackMap locals:
      StackMap stack:
            aload 3 /* graph */
            new org.graalvm.compiler.nodes.java.NewArrayNode
            dup
            aload 9 /* virtual */
            checkcast org.graalvm.compiler.nodes.virtual.VirtualArrayNode
            invokevirtual org.graalvm.compiler.nodes.virtual.VirtualArrayNode.componentType:()Ljdk/vm/ci/meta/ResolvedJavaType;
            iload 13 /* entryCount */
            aload 3 /* graph */
            invokestatic org.graalvm.compiler.nodes.ConstantNode.forInt:(ILorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
            iconst_1
            invokespecial org.graalvm.compiler.nodes.java.NewArrayNode.<init>:(Ljdk/vm/ci/meta/ResolvedJavaType;Lorg/graalvm/compiler/nodes/ValueNode;Z)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.java.AbstractNewObjectNode
            astore 14 /* newObject */
        start local 14 // org.graalvm.compiler.nodes.java.AbstractNewObjectNode newObject
        17: .line 893
      StackMap locals: org.graalvm.compiler.nodes.java.AbstractNewObjectNode
      StackMap stack:
            aload 14 /* newObject */
            invokevirtual org.graalvm.compiler.nodes.java.AbstractNewObjectNode.clearEmitMemoryBarrier:()V
        18: .line 895
            aload 4 /* recursiveLowerings */
            aload 14 /* newObject */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        19: .line 896
            aload 3 /* graph */
            aload 1 /* commit */
            aload 14 /* newObject */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addBeforeFixed:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
        20: .line 897
            aload 5 /* allocations */
            iload 8 /* objIndex */
            aload 14 /* newObject */
            aastore
        21: .line 898
            iconst_0
            istore 15 /* i */
        start local 15 // int i
        22: goto 53
        23: .line 899
      StackMap locals: int
      StackMap stack:
            aload 1 /* commit */
            invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.getValues:()Ljava/util/List;
            iload 7 /* valuePos */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.ValueNode
            astore 16 /* value */
        start local 16 // org.graalvm.compiler.nodes.ValueNode value
        24: .line 900
            aload 16 /* value */
            instanceof org.graalvm.compiler.nodes.virtual.VirtualObjectNode
            ifeq 26
        25: .line 901
            aload 5 /* allocations */
            aload 1 /* commit */
            invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.getVirtualObjects:()Ljava/util/List;
            aload 16 /* value */
            invokeinterface java.util.List.indexOf:(Ljava/lang/Object;)I
            aaload
            astore 16 /* value */
        26: .line 903
      StackMap locals: org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 16 /* value */
            ifnonnull 29
        27: .line 904
            aload 6 /* omittedValues */
            iload 7 /* valuePos */
            invokevirtual java.util.BitSet.set:(I)V
        28: .line 905
            goto 51
      StackMap locals:
      StackMap stack:
        29: aload 16 /* value */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifeq 30
            aload 16 /* value */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.asConstant:()Ljdk/vm/ci/meta/Constant;
            invokeinterface jdk.vm.ci.meta.Constant.isDefaultForKind:()Z
            ifne 51
        30: .line 907
      StackMap locals:
      StackMap stack:
            aload 16 /* value */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
            astore 17 /* valueKind */
        start local 17 // jdk.vm.ci.meta.JavaKind valueKind
        31: .line 908
            aload 9 /* virtual */
            aload 2 /* tool */
            invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.getProviders:()Lorg/graalvm/compiler/nodes/spi/CoreProviders;
            invokeinterface org.graalvm.compiler.nodes.spi.CoreProviders.getMetaAccessExtensionProvider:()Lorg/graalvm/compiler/core/common/spi/MetaAccessExtensionProvider;
            iload 15 /* i */
            invokevirtual org.graalvm.compiler.nodes.virtual.VirtualObjectNode.entryKind:(Lorg/graalvm/compiler/core/common/spi/MetaAccessExtensionProvider;I)Ljdk/vm/ci/meta/JavaKind;
            astore 18 /* storageKind */
        start local 18 // jdk.vm.ci.meta.JavaKind storageKind
        32: .line 911
            getstatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.$assertionsDisabled:Z
            ifne 36
            aload 17 /* valueKind */
            invokevirtual jdk.vm.ci.meta.JavaKind.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
            aload 18 /* storageKind */
            invokevirtual jdk.vm.ci.meta.JavaKind.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
            if_acmpeq 36
        33: .line 912
            aload 17 /* valueKind */
            getstatic jdk.vm.ci.meta.JavaKind.Long:Ljdk/vm/ci/meta/JavaKind;
            if_acmpeq 36
            aload 17 /* valueKind */
            getstatic jdk.vm.ci.meta.JavaKind.Double:Ljdk/vm/ci/meta/JavaKind;
            if_acmpeq 36
            aload 17 /* valueKind */
            getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 34
            aload 9 /* virtual */
            instanceof org.graalvm.compiler.nodes.virtual.VirtualArrayNode
            ifne 36
        34: .line 913
      StackMap locals: jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.JavaKind
      StackMap stack:
            aload 17 /* valueKind */
            getstatic jdk.vm.ci.meta.JavaKind.Float:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 35
            aload 9 /* virtual */
            instanceof org.graalvm.compiler.nodes.virtual.VirtualArrayNode
            ifne 36
      StackMap locals:
      StackMap stack:
        35: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        36: .line 914
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 19 /* address */
        start local 19 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        37: .line 915
            aconst_null
            astore 20 /* barrierType */
        start local 20 // org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType barrierType
        38: .line 916
            aload 9 /* virtual */
            instanceof org.graalvm.compiler.nodes.virtual.VirtualInstanceNode
            ifeq 45
        39: .line 917
            aload 9 /* virtual */
            checkcast org.graalvm.compiler.nodes.virtual.VirtualInstanceNode
            iload 15 /* i */
            invokevirtual org.graalvm.compiler.nodes.virtual.VirtualInstanceNode.field:(I)Ljdk/vm/ci/meta/ResolvedJavaField;
            astore 21 /* field */
        start local 21 // jdk.vm.ci.meta.ResolvedJavaField field
        40: .line 918
            aload 0 /* this */
            aload 21 /* field */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.fieldOffset:(Ljdk/vm/ci/meta/ResolvedJavaField;)I
            i2l
            lstore 22 /* offset */
        start local 22 // long offset
        41: .line 919
            lload 22 /* offset */
            lconst_0
            lcmp
            iflt 48
        42: .line 920
            aload 0 /* this */
            aload 3 /* graph */
            aload 14 /* newObject */
            lload 22 /* offset */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createOffsetAddress:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;J)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            astore 19 /* address */
        43: .line 921
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.barrierSet:Lorg/graalvm/compiler/nodes/gc/BarrierSet;
            aload 21 /* field */
            aload 0 /* this */
            aload 21 /* field */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.getStorageKind:(Ljdk/vm/ci/meta/ResolvedJavaField;)Ljdk/vm/ci/meta/JavaKind;
            invokeinterface org.graalvm.compiler.nodes.gc.BarrierSet.fieldStoreBarrierType:(Ljdk/vm/ci/meta/ResolvedJavaField;Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
            astore 20 /* barrierType */
        end local 22 // long offset
        end local 21 // jdk.vm.ci.meta.ResolvedJavaField field
        44: .line 923
            goto 48
        45: .line 924
      StackMap locals: org.graalvm.compiler.nodes.memory.address.AddressNode org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType
      StackMap stack:
            getstatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.$assertionsDisabled:Z
            ifne 46
            aload 9 /* virtual */
            instanceof org.graalvm.compiler.nodes.virtual.VirtualArrayNode
            ifne 46
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        46: .line 925
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* graph */
            aload 14 /* newObject */
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.metaAccess:Ljdk/vm/ci/meta/MetaAccessProvider;
            aload 18 /* storageKind */
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.getArrayBaseOffset:(Ljdk/vm/ci/meta/JavaKind;)I
            iload 15 /* i */
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.metaAccess:Ljdk/vm/ci/meta/MetaAccessProvider;
            aload 18 /* storageKind */
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.getArrayIndexScale:(Ljdk/vm/ci/meta/JavaKind;)I
            imul
            iadd
            i2l
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createOffsetAddress:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;J)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            astore 19 /* address */
        47: .line 926
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.barrierSet:Lorg/graalvm/compiler/nodes/gc/BarrierSet;
            aload 18 /* storageKind */
            invokeinterface org.graalvm.compiler.nodes.gc.BarrierSet.arrayStoreBarrierType:(Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
            astore 20 /* barrierType */
        48: .line 928
      StackMap locals:
      StackMap stack:
            aload 19 /* address */
            ifnull 51
        49: .line 929
            new org.graalvm.compiler.nodes.memory.WriteNode
            dup
            aload 19 /* address */
            invokestatic jdk.internal.vm.compiler.word.LocationIdentity.init:()Ljdk/internal/vm/compiler/word/LocationIdentity;
            aload 0 /* this */
            aload 3 /* graph */
            aload 18 /* storageKind */
            aload 16 /* value */
            aload 1 /* commit */
            aload 9 /* virtual */
            iload 7 /* valuePos */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.arrayImplicitStoreConvert:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/virtual/CommitAllocationNode;Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;I)Lorg/graalvm/compiler/nodes/ValueNode;
            aload 20 /* barrierType */
            invokespecial org.graalvm.compiler.nodes.memory.WriteNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;)V
            astore 21 /* write */
        start local 21 // org.graalvm.compiler.nodes.memory.WriteNode write
        50: .line 930
            aload 3 /* graph */
            aload 14 /* newObject */
            aload 3 /* graph */
            aload 21 /* write */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.FixedNode
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addAfterFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedNode;)V
        end local 21 // org.graalvm.compiler.nodes.memory.WriteNode write
        end local 20 // org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType barrierType
        end local 19 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        end local 18 // jdk.vm.ci.meta.JavaKind storageKind
        end local 17 // jdk.vm.ci.meta.JavaKind valueKind
        51: .line 933
      StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.virtual.CommitAllocationNode org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.StructuredGraph java.util.List org.graalvm.compiler.nodes.ValueNode[] java.util.BitSet int int org.graalvm.compiler.nodes.virtual.VirtualObjectNode java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable int org.graalvm.compiler.nodes.java.AbstractNewObjectNode int org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            iinc 7 /* valuePos */ 1
        end local 16 // org.graalvm.compiler.nodes.ValueNode value
        52: .line 898
            iinc 15 /* i */ 1
      StackMap locals:
      StackMap stack:
        53: iload 15 /* i */
            iload 13 /* entryCount */
            if_icmplt 23
        end local 15 // int i
        end local 14 // org.graalvm.compiler.nodes.java.AbstractNewObjectNode newObject
        end local 13 // int entryCount
        54: .line 935
            aload 12 /* nsp */
            ifnull 60
            aload 12 /* nsp */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
            goto 60
      StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.virtual.CommitAllocationNode org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.StructuredGraph java.util.List org.graalvm.compiler.nodes.ValueNode[] java.util.BitSet int int org.graalvm.compiler.nodes.virtual.VirtualObjectNode java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable
      StackMap stack: java.lang.Throwable
        55: astore 10
            aload 12 /* nsp */
            ifnull 56
            aload 12 /* nsp */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
        end local 12 // org.graalvm.compiler.debug.DebugCloseable nsp
      StackMap locals:
      StackMap stack:
        56: aload 10
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        57: astore 11
            aload 10
            ifnonnull 58
            aload 11
            astore 10
            goto 59
      StackMap locals:
      StackMap stack:
        58: aload 10
            aload 11
            if_acmpeq 59
            aload 10
            aload 11
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        59: aload 10
            athrow
        end local 9 // org.graalvm.compiler.nodes.virtual.VirtualObjectNode virtual
        60: .line 881
      StackMap locals:
      StackMap stack:
            iinc 8 /* objIndex */ 1
      StackMap locals:
      StackMap stack:
        61: iload 8 /* objIndex */
            aload 1 /* commit */
            invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.getVirtualObjects:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmplt 8
        end local 8 // int objIndex
        62: .line 937
            iconst_0
            istore 7 /* valuePos */
        63: .line 939
            iconst_0
            istore 8 /* objIndex */
        start local 8 // int objIndex
        64: goto 101
        65: .line 940
      StackMap locals:
      StackMap stack:
            aload 1 /* commit */
            invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.getVirtualObjects:()Ljava/util/List;
            iload 8 /* objIndex */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.virtual.VirtualObjectNode
            astore 9 /* virtual */
        start local 9 // org.graalvm.compiler.nodes.virtual.VirtualObjectNode virtual
        66: .line 941
            aconst_null
            astore 10
            aconst_null
            astore 11
        67: aload 3 /* graph */
            aload 9 /* virtual */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.withNodeSourcePosition:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/debug/DebugCloseable;
            astore 12 /* nsp */
        start local 12 // org.graalvm.compiler.debug.DebugCloseable nsp
        68: .line 942
            aload 9 /* virtual */
            invokevirtual org.graalvm.compiler.nodes.virtual.VirtualObjectNode.entryCount:()I
            istore 13 /* entryCount */
        start local 13 // int entryCount
        69: .line 943
            aload 5 /* allocations */
            iload 8 /* objIndex */
            aaload
            astore 14 /* newObject */
        start local 14 // org.graalvm.compiler.nodes.ValueNode newObject
        70: .line 944
            iconst_0
            istore 15 /* i */
        start local 15 // int i
        71: goto 93
        72: .line 945
      StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.virtual.CommitAllocationNode org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.StructuredGraph java.util.List org.graalvm.compiler.nodes.ValueNode[] java.util.BitSet int int org.graalvm.compiler.nodes.virtual.VirtualObjectNode java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable int org.graalvm.compiler.nodes.ValueNode int
      StackMap stack:
            aload 6 /* omittedValues */
            iload 7 /* valuePos */
            invokevirtual java.util.BitSet.get:(I)Z
            ifeq 91
        73: .line 946
            aload 1 /* commit */
            invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.getValues:()Ljava/util/List;
            iload 7 /* valuePos */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.ValueNode
            astore 16 /* value */
        start local 16 // org.graalvm.compiler.nodes.ValueNode value
        74: .line 947
            getstatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.$assertionsDisabled:Z
            ifne 75
            aload 16 /* value */
            instanceof org.graalvm.compiler.nodes.virtual.VirtualObjectNode
            ifne 75
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        75: .line 948
      StackMap locals: org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 5 /* allocations */
            aload 1 /* commit */
            invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.getVirtualObjects:()Ljava/util/List;
            aload 16 /* value */
            invokeinterface java.util.List.indexOf:(Ljava/lang/Object;)I
            aaload
            astore 17 /* allocValue */
        start local 17 // org.graalvm.compiler.nodes.ValueNode allocValue
        76: .line 949
            aload 17 /* allocValue */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifeq 77
            aload 17 /* allocValue */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.asConstant:()Ljdk/vm/ci/meta/Constant;
            invokeinterface jdk.vm.ci.meta.Constant.isDefaultForKind:()Z
            ifne 91
        77: .line 950
      StackMap locals: org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            getstatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.$assertionsDisabled:Z
            ifne 79
            aload 9 /* virtual */
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.metaAccessExtensionProvider:Lorg/graalvm/compiler/core/common/spi/MetaAccessExtensionProvider;
            iload 15 /* i */
            invokevirtual org.graalvm.compiler.nodes.virtual.VirtualObjectNode.entryKind:(Lorg/graalvm/compiler/core/common/spi/MetaAccessExtensionProvider;I)Ljdk/vm/ci/meta/JavaKind;
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 78
            aload 17 /* allocValue */
            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_acmpeq 79
      StackMap locals:
      StackMap stack:
        78: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        79: .line 953
      StackMap locals:
      StackMap stack:
            aload 9 /* virtual */
            instanceof org.graalvm.compiler.nodes.virtual.VirtualInstanceNode
            ifeq 85
        80: .line 954
            aload 9 /* virtual */
            checkcast org.graalvm.compiler.nodes.virtual.VirtualInstanceNode
            astore 20 /* virtualInstance */
        start local 20 // org.graalvm.compiler.nodes.virtual.VirtualInstanceNode virtualInstance
        81: .line 955
            aload 20 /* virtualInstance */
            iload 15 /* i */
            invokevirtual org.graalvm.compiler.nodes.virtual.VirtualInstanceNode.field:(I)Ljdk/vm/ci/meta/ResolvedJavaField;
            astore 21 /* field */
        start local 21 // jdk.vm.ci.meta.ResolvedJavaField field
        82: .line 956
            aload 0 /* this */
            aload 3 /* graph */
            aload 14 /* newObject */
            aload 21 /* field */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createFieldAddress:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/ResolvedJavaField;)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            astore 18 /* address */
        start local 18 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        83: .line 957
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.barrierSet:Lorg/graalvm/compiler/nodes/gc/BarrierSet;
            aload 21 /* field */
            aload 0 /* this */
            aload 21 /* field */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.getStorageKind:(Ljdk/vm/ci/meta/ResolvedJavaField;)Ljdk/vm/ci/meta/JavaKind;
            invokeinterface org.graalvm.compiler.nodes.gc.BarrierSet.fieldStoreBarrierType:(Ljdk/vm/ci/meta/ResolvedJavaField;Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
            astore 19 /* barrierType */
        end local 21 // jdk.vm.ci.meta.ResolvedJavaField field
        end local 20 // org.graalvm.compiler.nodes.virtual.VirtualInstanceNode virtualInstance
        start local 19 // org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType barrierType
        84: .line 958
            goto 88
        end local 19 // org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType barrierType
        end local 18 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        85: .line 959
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.$assertionsDisabled:Z
            ifne 86
            aload 9 /* virtual */
            instanceof org.graalvm.compiler.nodes.virtual.VirtualArrayNode
            ifne 86
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        86: .line 960
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* graph */
            aload 14 /* newObject */
            aload 9 /* virtual */
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.metaAccessExtensionProvider:Lorg/graalvm/compiler/core/common/spi/MetaAccessExtensionProvider;
            iload 15 /* i */
            invokevirtual org.graalvm.compiler.nodes.virtual.VirtualObjectNode.entryKind:(Lorg/graalvm/compiler/core/common/spi/MetaAccessExtensionProvider;I)Ljdk/vm/ci/meta/JavaKind;
            iload 15 /* i */
            aload 3 /* graph */
            invokestatic org.graalvm.compiler.nodes.ConstantNode.forInt:(ILorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createArrayAddress:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            astore 18 /* address */
        start local 18 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        87: .line 961
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.barrierSet:Lorg/graalvm/compiler/nodes/gc/BarrierSet;
            aload 9 /* virtual */
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.metaAccessExtensionProvider:Lorg/graalvm/compiler/core/common/spi/MetaAccessExtensionProvider;
            iload 15 /* i */
            invokevirtual org.graalvm.compiler.nodes.virtual.VirtualObjectNode.entryKind:(Lorg/graalvm/compiler/core/common/spi/MetaAccessExtensionProvider;I)Ljdk/vm/ci/meta/JavaKind;
            invokeinterface org.graalvm.compiler.nodes.gc.BarrierSet.arrayStoreBarrierType:(Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
            astore 19 /* barrierType */
        start local 19 // org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType barrierType
        88: .line 963
      StackMap locals: org.graalvm.compiler.nodes.memory.address.AddressNode org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType
      StackMap stack:
            aload 18 /* address */
            ifnull 91
        89: .line 964
            new org.graalvm.compiler.nodes.memory.WriteNode
            dup
            aload 18 /* address */
            invokestatic jdk.internal.vm.compiler.word.LocationIdentity.init:()Ljdk/internal/vm/compiler/word/LocationIdentity;
            aload 0 /* this */
            aload 3 /* graph */
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            aload 17 /* allocValue */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.implicitStoreConvert:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            aload 19 /* barrierType */
            invokespecial org.graalvm.compiler.nodes.memory.WriteNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;)V
            astore 20 /* write */
        start local 20 // org.graalvm.compiler.nodes.memory.WriteNode write
        90: .line 965
            aload 3 /* graph */
            aload 1 /* commit */
            aload 3 /* graph */
            aload 20 /* write */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.FixedWithNextNode
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addBeforeFixed:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
        end local 20 // org.graalvm.compiler.nodes.memory.WriteNode write
        end local 19 // org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType barrierType
        end local 18 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        end local 17 // org.graalvm.compiler.nodes.ValueNode allocValue
        end local 16 // org.graalvm.compiler.nodes.ValueNode value
        91: .line 969
      StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.virtual.CommitAllocationNode org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.StructuredGraph java.util.List org.graalvm.compiler.nodes.ValueNode[] java.util.BitSet int int org.graalvm.compiler.nodes.virtual.VirtualObjectNode java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable int org.graalvm.compiler.nodes.ValueNode int
      StackMap stack:
            iinc 7 /* valuePos */ 1
        92: .line 944
            iinc 15 /* i */ 1
      StackMap locals:
      StackMap stack:
        93: iload 15 /* i */
            iload 13 /* entryCount */
            if_icmplt 72
        end local 15 // int i
        end local 14 // org.graalvm.compiler.nodes.ValueNode newObject
        end local 13 // int entryCount
        94: .line 971
            aload 12 /* nsp */
            ifnull 100
            aload 12 /* nsp */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
            goto 100
      StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.virtual.CommitAllocationNode org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.StructuredGraph java.util.List org.graalvm.compiler.nodes.ValueNode[] java.util.BitSet int int org.graalvm.compiler.nodes.virtual.VirtualObjectNode java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable
      StackMap stack: java.lang.Throwable
        95: astore 10
            aload 12 /* nsp */
            ifnull 96
            aload 12 /* nsp */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
        end local 12 // org.graalvm.compiler.debug.DebugCloseable nsp
      StackMap locals:
      StackMap stack:
        96: aload 10
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        97: astore 11
            aload 10
            ifnonnull 98
            aload 11
            astore 10
            goto 99
      StackMap locals:
      StackMap stack:
        98: aload 10
            aload 11
            if_acmpeq 99
            aload 10
            aload 11
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        99: aload 10
            athrow
        end local 9 // org.graalvm.compiler.nodes.virtual.VirtualObjectNode virtual
       100: .line 939
      StackMap locals:
      StackMap stack:
            iinc 8 /* objIndex */ 1
      StackMap locals:
      StackMap stack:
       101: iload 8 /* objIndex */
            aload 1 /* commit */
            invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.getVirtualObjects:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmplt 65
        end local 8 // int objIndex
       102: .line 974
            aload 0 /* this */
            aload 2 /* tool */
            aload 1 /* commit */
            aload 1 /* commit */
            aload 5 /* allocations */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.finishAllocatedObjects:(Lorg/graalvm/compiler/nodes/spi/LoweringTool;Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/virtual/CommitAllocationNode;[Lorg/graalvm/compiler/nodes/ValueNode;)V
       103: .line 975
            aload 3 /* graph */
            aload 1 /* commit */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.removeFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
       104: .line 977
            aload 4 /* recursiveLowerings */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 9
            goto 107
      StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.virtual.CommitAllocationNode org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.StructuredGraph java.util.List org.graalvm.compiler.nodes.ValueNode[] java.util.BitSet int top java.util.Iterator
      StackMap stack:
       105: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.java.AbstractNewObjectNode
            astore 8 /* recursiveLowering */
        start local 8 // org.graalvm.compiler.nodes.java.AbstractNewObjectNode recursiveLowering
       106: .line 978
            aload 8 /* recursiveLowering */
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.nodes.java.AbstractNewObjectNode.lower:(Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
        end local 8 // org.graalvm.compiler.nodes.java.AbstractNewObjectNode recursiveLowering
       107: .line 977
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 105
        end local 7 // int valuePos
        end local 6 // java.util.BitSet omittedValues
        end local 5 // org.graalvm.compiler.nodes.ValueNode[] allocations
        end local 4 // java.util.List recursiveLowerings
       108: .line 982
      StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.virtual.CommitAllocationNode 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.virtual.CommitAllocationNode commit
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0  109     0                this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0  109     1              commit  Lorg/graalvm/compiler/nodes/virtual/CommitAllocationNode;
            0  109     2                tool  Lorg/graalvm/compiler/nodes/spi/LoweringTool;
            1  109     3               graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            3  108     4  recursiveLowerings  Ljava/util/List<Lorg/graalvm/compiler/nodes/java/AbstractNewObjectNode;>;
            4  108     5         allocations  [Lorg/graalvm/compiler/nodes/ValueNode;
            5  108     6       omittedValues  Ljava/util/BitSet;
            6  108     7            valuePos  I
            7   62     8            objIndex  I
            9   60     9             virtual  Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;
           11   56    12                 nsp  Lorg/graalvm/compiler/debug/DebugCloseable;
           12   54    13          entryCount  I
           14   15    14           newObject  Lorg/graalvm/compiler/nodes/java/AbstractNewObjectNode;
           17   54    14           newObject  Lorg/graalvm/compiler/nodes/java/AbstractNewObjectNode;
           22   54    15                   i  I
           24   52    16               value  Lorg/graalvm/compiler/nodes/ValueNode;
           31   51    17           valueKind  Ljdk/vm/ci/meta/JavaKind;
           32   51    18         storageKind  Ljdk/vm/ci/meta/JavaKind;
           37   51    19             address  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
           38   51    20         barrierType  Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
           40   44    21               field  Ljdk/vm/ci/meta/ResolvedJavaField;
           41   44    22              offset  J
           50   51    21               write  Lorg/graalvm/compiler/nodes/memory/WriteNode;
           64  102     8            objIndex  I
           66  100     9             virtual  Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;
           68   96    12                 nsp  Lorg/graalvm/compiler/debug/DebugCloseable;
           69   94    13          entryCount  I
           70   94    14           newObject  Lorg/graalvm/compiler/nodes/ValueNode;
           71   94    15                   i  I
           74   91    16               value  Lorg/graalvm/compiler/nodes/ValueNode;
           76   91    17          allocValue  Lorg/graalvm/compiler/nodes/ValueNode;
           83   85    18             address  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
           87   91    18             address  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
           84   85    19         barrierType  Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
           88   91    19         barrierType  Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
           81   84    20     virtualInstance  Lorg/graalvm/compiler/nodes/virtual/VirtualInstanceNode;
           82   84    21               field  Ljdk/vm/ci/meta/ResolvedJavaField;
           90   91    20               write  Lorg/graalvm/compiler/nodes/memory/WriteNode;
          106  107     8   recursiveLowering  Lorg/graalvm/compiler/nodes/java/AbstractNewObjectNode;
      Exception table:
        from    to  target  type
          11    54      55  any
          10    57      57  any
          68    94      95  any
          67    97      97  any
    MethodParameters:
        Name  Flags
      commit  
      tool    

  public void finishAllocatedObjects(org.graalvm.compiler.nodes.spi.LoweringTool, org.graalvm.compiler.nodes.FixedWithNextNode, org.graalvm.compiler.nodes.virtual.CommitAllocationNode, org.graalvm.compiler.nodes.ValueNode[]);
    descriptor: (Lorg/graalvm/compiler/nodes/spi/LoweringTool;Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/virtual/CommitAllocationNode;[Lorg/graalvm/compiler/nodes/ValueNode;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=15, args_size=5
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // org.graalvm.compiler.nodes.spi.LoweringTool tool
        start local 2 // org.graalvm.compiler.nodes.FixedWithNextNode insertAfter
        start local 3 // org.graalvm.compiler.nodes.virtual.CommitAllocationNode commit
        start local 4 // org.graalvm.compiler.nodes.ValueNode[] allocations
         0: .line 985
            aload 2 /* insertAfter */
            astore 5 /* insertionPoint */
        start local 5 // org.graalvm.compiler.nodes.FixedWithNextNode insertionPoint
         1: .line 986
            aload 3 /* commit */
            invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 6 /* graph */
        start local 6 // org.graalvm.compiler.nodes.StructuredGraph graph
         2: .line 987
            iconst_0
            istore 7 /* objIndex */
        start local 7 // int objIndex
         3: goto 9
         4: .line 988
      StackMap locals: org.graalvm.compiler.nodes.FixedWithNextNode org.graalvm.compiler.nodes.StructuredGraph int
      StackMap stack:
            aload 6 /* graph */
            new org.graalvm.compiler.nodes.extended.FixedValueAnchorNode
            dup
            aload 4 /* allocations */
            iload 7 /* objIndex */
            aaload
            invokespecial org.graalvm.compiler.nodes.extended.FixedValueAnchorNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.extended.FixedValueAnchorNode
            astore 8 /* anchor */
        start local 8 // org.graalvm.compiler.nodes.extended.FixedValueAnchorNode anchor
         5: .line 989
            aload 4 /* allocations */
            iload 7 /* objIndex */
            aload 8 /* anchor */
            aastore
         6: .line 990
            aload 6 /* graph */
            aload 5 /* insertionPoint */
            aload 8 /* anchor */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addAfterFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedNode;)V
         7: .line 991
            aload 8 /* anchor */
            astore 5 /* insertionPoint */
        end local 8 // org.graalvm.compiler.nodes.extended.FixedValueAnchorNode anchor
         8: .line 987
            iinc 7 /* objIndex */ 1
      StackMap locals:
      StackMap stack:
         9: iload 7 /* objIndex */
            aload 3 /* commit */
            invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.getVirtualObjects:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmplt 4
        end local 7 // int objIndex
        10: .line 1003
            aconst_null
            astore 7 /* enters */
        start local 7 // java.util.ArrayList enters
        11: .line 1004
            aload 5 /* insertionPoint */
            invokestatic org.graalvm.compiler.replacements.SnippetTemplate.findLastFrameState:(Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/nodes/FrameState;
            astore 8 /* stateBefore */
        start local 8 // org.graalvm.compiler.nodes.FrameState stateBefore
        12: .line 1005
            iconst_0
            istore 9 /* objIndex */
        start local 9 // int objIndex
        13: goto 33
        14: .line 1006
      StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.FixedWithNextNode org.graalvm.compiler.nodes.virtual.CommitAllocationNode org.graalvm.compiler.nodes.ValueNode[] org.graalvm.compiler.nodes.FixedWithNextNode org.graalvm.compiler.nodes.StructuredGraph java.util.ArrayList org.graalvm.compiler.nodes.FrameState int
      StackMap stack:
            aload 3 /* commit */
            iload 9 /* objIndex */
            invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.getLocks:(I)Ljava/util/List;
            astore 10 /* locks */
        start local 10 // java.util.List locks
        15: .line 1007
            aload 10 /* locks */
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmple 19
        16: .line 1009
            new java.util.ArrayList
            dup
            aload 10 /* locks */
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 11 /* newList */
        start local 11 // java.util.ArrayList newList
        17: .line 1010
            aload 11 /* newList */
            invokedynamic compare()Ljava/util/Comparator;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)I
                  org/graalvm/compiler/replacements/DefaultJavaLoweringProvider.lambda$0(Lorg/graalvm/compiler/nodes/java/MonitorIdNode;Lorg/graalvm/compiler/nodes/java/MonitorIdNode;)I (6)
                  (Lorg/graalvm/compiler/nodes/java/MonitorIdNode;Lorg/graalvm/compiler/nodes/java/MonitorIdNode;)I
            invokevirtual java.util.ArrayList.sort:(Ljava/util/Comparator;)V
        18: .line 1011
            aload 11 /* newList */
            astore 10 /* locks */
        end local 11 // java.util.ArrayList newList
        19: .line 1013
      StackMap locals: java.util.List
      StackMap stack:
            iconst_m1
            istore 11 /* lastDepth */
        start local 11 // int lastDepth
        20: .line 1014
            aload 10 /* locks */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 13
            goto 31
      StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.FixedWithNextNode org.graalvm.compiler.nodes.virtual.CommitAllocationNode org.graalvm.compiler.nodes.ValueNode[] org.graalvm.compiler.nodes.FixedWithNextNode org.graalvm.compiler.nodes.StructuredGraph java.util.ArrayList org.graalvm.compiler.nodes.FrameState int java.util.List int top java.util.Iterator
      StackMap stack:
        21: aload 13
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.java.MonitorIdNode
            astore 12 /* monitorId */
        start local 12 // org.graalvm.compiler.nodes.java.MonitorIdNode monitorId
        22: .line 1015
            getstatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.$assertionsDisabled:Z
            ifne 23
            iload 11 /* lastDepth */
            aload 12 /* monitorId */
            invokevirtual org.graalvm.compiler.nodes.java.MonitorIdNode.getLockDepth:()I
            if_icmplt 23
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        23: .line 1016
      StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.FixedWithNextNode org.graalvm.compiler.nodes.virtual.CommitAllocationNode org.graalvm.compiler.nodes.ValueNode[] org.graalvm.compiler.nodes.FixedWithNextNode org.graalvm.compiler.nodes.StructuredGraph java.util.ArrayList org.graalvm.compiler.nodes.FrameState int java.util.List int org.graalvm.compiler.nodes.java.MonitorIdNode java.util.Iterator
      StackMap stack:
            aload 12 /* monitorId */
            invokevirtual org.graalvm.compiler.nodes.java.MonitorIdNode.getLockDepth:()I
            istore 11 /* lastDepth */
        24: .line 1017
            aload 6 /* graph */
            new org.graalvm.compiler.nodes.java.MonitorEnterNode
            dup
            aload 4 /* allocations */
            iload 9 /* objIndex */
            aaload
            aload 12 /* monitorId */
            invokespecial org.graalvm.compiler.nodes.java.MonitorEnterNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/java/MonitorIdNode;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.java.MonitorEnterNode
            astore 14 /* enter */
        start local 14 // org.graalvm.compiler.nodes.java.MonitorEnterNode enter
        25: .line 1018
            aload 6 /* graph */
            aload 5 /* insertionPoint */
            aload 14 /* enter */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addAfterFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedNode;)V
        26: .line 1019
            aload 14 /* enter */
            aload 8 /* stateBefore */
            invokevirtual org.graalvm.compiler.nodes.FrameState.duplicate:()Lorg/graalvm/compiler/nodes/FrameState;
            invokevirtual org.graalvm.compiler.nodes.java.MonitorEnterNode.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
        27: .line 1020
            aload 14 /* enter */
            astore 5 /* insertionPoint */
        28: .line 1021
            aload 7 /* enters */
            ifnonnull 30
        29: .line 1022
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 7 /* enters */
        30: .line 1024
      StackMap locals: org.graalvm.compiler.nodes.java.MonitorEnterNode
      StackMap stack:
            aload 7 /* enters */
            aload 14 /* enter */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 14 // org.graalvm.compiler.nodes.java.MonitorEnterNode enter
        end local 12 // org.graalvm.compiler.nodes.java.MonitorIdNode monitorId
        31: .line 1014
      StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.FixedWithNextNode org.graalvm.compiler.nodes.virtual.CommitAllocationNode org.graalvm.compiler.nodes.ValueNode[] org.graalvm.compiler.nodes.FixedWithNextNode org.graalvm.compiler.nodes.StructuredGraph java.util.ArrayList org.graalvm.compiler.nodes.FrameState int java.util.List int top java.util.Iterator
      StackMap stack:
            aload 13
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 21
        end local 11 // int lastDepth
        end local 10 // java.util.List locks
        32: .line 1005
            iinc 9 /* objIndex */ 1
      StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.FixedWithNextNode org.graalvm.compiler.nodes.virtual.CommitAllocationNode org.graalvm.compiler.nodes.ValueNode[] org.graalvm.compiler.nodes.FixedWithNextNode org.graalvm.compiler.nodes.StructuredGraph java.util.ArrayList org.graalvm.compiler.nodes.FrameState int
      StackMap stack:
        33: iload 9 /* objIndex */
            aload 3 /* commit */
            invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.getVirtualObjects:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmplt 14
        end local 9 // int objIndex
        34: .line 1027
            aload 3 /* commit */
            invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.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 10
            goto 43
      StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.FixedWithNextNode org.graalvm.compiler.nodes.virtual.CommitAllocationNode org.graalvm.compiler.nodes.ValueNode[] org.graalvm.compiler.nodes.FixedWithNextNode org.graalvm.compiler.nodes.StructuredGraph java.util.ArrayList org.graalvm.compiler.nodes.FrameState top java.util.Iterator
      StackMap stack:
        35: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.Node
            astore 9 /* usage */
        start local 9 // org.graalvm.compiler.graph.Node usage
        36: .line 1028
            aload 9 /* usage */
            instanceof org.graalvm.compiler.nodes.virtual.AllocatedObjectNode
            ifeq 41
        37: .line 1029
            aload 9 /* usage */
            checkcast org.graalvm.compiler.nodes.virtual.AllocatedObjectNode
            astore 11 /* addObject */
        start local 11 // org.graalvm.compiler.nodes.virtual.AllocatedObjectNode addObject
        38: .line 1030
            aload 3 /* commit */
            invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.getVirtualObjects:()Ljava/util/List;
            aload 11 /* addObject */
            invokevirtual org.graalvm.compiler.nodes.virtual.AllocatedObjectNode.getVirtualObject:()Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;
            invokeinterface java.util.List.indexOf:(Ljava/lang/Object;)I
            istore 12 /* index */
        start local 12 // int index
        39: .line 1031
            aload 11 /* addObject */
            aload 4 /* allocations */
            iload 12 /* index */
            aaload
            invokevirtual org.graalvm.compiler.nodes.virtual.AllocatedObjectNode.replaceAtUsagesAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
        end local 12 // int index
        end local 11 // org.graalvm.compiler.nodes.virtual.AllocatedObjectNode addObject
        40: .line 1032
            goto 43
        41: .line 1033
      StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.FixedWithNextNode org.graalvm.compiler.nodes.virtual.CommitAllocationNode org.graalvm.compiler.nodes.ValueNode[] org.graalvm.compiler.nodes.FixedWithNextNode org.graalvm.compiler.nodes.StructuredGraph java.util.ArrayList org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.graph.Node java.util.Iterator
      StackMap stack:
            getstatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.$assertionsDisabled:Z
            ifne 42
            aload 7 /* enters */
            ifnonnull 42
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        42: .line 1034
      StackMap locals:
      StackMap stack:
            aload 3 /* commit */
            aload 7 /* enters */
            aload 7 /* enters */
            invokevirtual java.util.ArrayList.size:()I
            iconst_1
            isub
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.Node
            getstatic org.graalvm.compiler.nodeinfo.InputType.Memory:Lorg/graalvm/compiler/nodeinfo/InputType;
            invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/nodeinfo/InputType;)V
        end local 9 // org.graalvm.compiler.graph.Node usage
        43: .line 1027
      StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.FixedWithNextNode org.graalvm.compiler.nodes.virtual.CommitAllocationNode org.graalvm.compiler.nodes.ValueNode[] org.graalvm.compiler.nodes.FixedWithNextNode org.graalvm.compiler.nodes.StructuredGraph java.util.ArrayList org.graalvm.compiler.nodes.FrameState top java.util.Iterator
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 35
        44: .line 1037
            aload 7 /* enters */
            ifnull 49
        45: .line 1038
            aload 7 /* enters */
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 10
            goto 48
      StackMap locals:
      StackMap stack:
        46: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.java.MonitorEnterNode
            astore 9 /* enter */
        start local 9 // org.graalvm.compiler.nodes.java.MonitorEnterNode enter
        47: .line 1039
            aload 9 /* enter */
            aload 1 /* tool */
            invokevirtual org.graalvm.compiler.nodes.java.MonitorEnterNode.lower:(Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
        end local 9 // org.graalvm.compiler.nodes.java.MonitorEnterNode enter
        48: .line 1038
      StackMap locals:
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 46
        49: .line 1042
      StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.FixedWithNextNode org.graalvm.compiler.nodes.virtual.CommitAllocationNode org.graalvm.compiler.nodes.ValueNode[] org.graalvm.compiler.nodes.FixedWithNextNode org.graalvm.compiler.nodes.StructuredGraph java.util.ArrayList org.graalvm.compiler.nodes.FrameState
      StackMap stack:
            getstatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.$assertionsDisabled:Z
            ifne 50
            aload 3 /* commit */
            invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.hasNoUsages:()Z
            ifne 50
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        50: .line 1043
      StackMap locals:
      StackMap stack:
            aload 2 /* insertAfter */
            aload 3 /* commit */
            aload 6 /* graph */
            invokestatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.insertAllocationBarrier:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/virtual/CommitAllocationNode;Lorg/graalvm/compiler/nodes/StructuredGraph;)V
        51: .line 1044
            return
        end local 8 // org.graalvm.compiler.nodes.FrameState stateBefore
        end local 7 // java.util.ArrayList enters
        end local 6 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 5 // org.graalvm.compiler.nodes.FixedWithNextNode insertionPoint
        end local 4 // org.graalvm.compiler.nodes.ValueNode[] allocations
        end local 3 // org.graalvm.compiler.nodes.virtual.CommitAllocationNode commit
        end local 2 // org.graalvm.compiler.nodes.FixedWithNextNode insertAfter
        end local 1 // org.graalvm.compiler.nodes.spi.LoweringTool tool
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   52     0            this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0   52     1            tool  Lorg/graalvm/compiler/nodes/spi/LoweringTool;
            0   52     2     insertAfter  Lorg/graalvm/compiler/nodes/FixedWithNextNode;
            0   52     3          commit  Lorg/graalvm/compiler/nodes/virtual/CommitAllocationNode;
            0   52     4     allocations  [Lorg/graalvm/compiler/nodes/ValueNode;
            1   52     5  insertionPoint  Lorg/graalvm/compiler/nodes/FixedWithNextNode;
            2   52     6           graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            3   10     7        objIndex  I
            5    8     8          anchor  Lorg/graalvm/compiler/nodes/extended/FixedValueAnchorNode;
           11   52     7          enters  Ljava/util/ArrayList<Lorg/graalvm/compiler/nodes/java/MonitorEnterNode;>;
           12   52     8     stateBefore  Lorg/graalvm/compiler/nodes/FrameState;
           13   34     9        objIndex  I
           15   32    10           locks  Ljava/util/List<Lorg/graalvm/compiler/nodes/java/MonitorIdNode;>;
           17   19    11         newList  Ljava/util/ArrayList<Lorg/graalvm/compiler/nodes/java/MonitorIdNode;>;
           20   32    11       lastDepth  I
           22   31    12       monitorId  Lorg/graalvm/compiler/nodes/java/MonitorIdNode;
           25   31    14           enter  Lorg/graalvm/compiler/nodes/java/MonitorEnterNode;
           36   43     9           usage  Lorg/graalvm/compiler/graph/Node;
           38   40    11       addObject  Lorg/graalvm/compiler/nodes/virtual/AllocatedObjectNode;
           39   40    12           index  I
           47   48     9           enter  Lorg/graalvm/compiler/nodes/java/MonitorEnterNode;
    MethodParameters:
             Name  Flags
      tool         
      insertAfter  
      commit       
      allocations  

  private static void insertAllocationBarrier(org.graalvm.compiler.nodes.FixedWithNextNode, org.graalvm.compiler.nodes.virtual.CommitAllocationNode, org.graalvm.compiler.nodes.StructuredGraph);
    descriptor: (Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/virtual/CommitAllocationNode;Lorg/graalvm/compiler/nodes/StructuredGraph;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=10, args_size=3
        start local 0 // org.graalvm.compiler.nodes.FixedWithNextNode insertAfter
        start local 1 // org.graalvm.compiler.nodes.virtual.CommitAllocationNode commit
        start local 2 // org.graalvm.compiler.nodes.StructuredGraph graph
         0: .line 1052
            bipush 8
            istore 3 /* barrier */
        start local 3 // int barrier
         1: .line 1053
            aload 1 /* commit */
            invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.getVirtualObjects:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 10
      StackMap locals: org.graalvm.compiler.nodes.FixedWithNextNode org.graalvm.compiler.nodes.virtual.CommitAllocationNode org.graalvm.compiler.nodes.StructuredGraph int top java.util.Iterator
      StackMap stack:
         2: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.virtual.VirtualObjectNode
            astore 4 /* vobj */
        start local 4 // org.graalvm.compiler.nodes.virtual.VirtualObjectNode vobj
         3: .line 1054
            aload 4 /* vobj */
            invokevirtual org.graalvm.compiler.nodes.virtual.VirtualObjectNode.type:()Ljdk/vm/ci/meta/ResolvedJavaType;
            iconst_1
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getInstanceFields:(Z)[Ljdk/vm/ci/meta/ResolvedJavaField;
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 9
      StackMap locals: org.graalvm.compiler.nodes.FixedWithNextNode org.graalvm.compiler.nodes.virtual.CommitAllocationNode org.graalvm.compiler.nodes.StructuredGraph int org.graalvm.compiler.nodes.virtual.VirtualObjectNode java.util.Iterator top int int jdk.vm.ci.meta.ResolvedJavaField[]
      StackMap stack:
         4: aload 9
            iload 7
            aaload
            astore 6 /* field */
        start local 6 // jdk.vm.ci.meta.ResolvedJavaField field
         5: .line 1055
            aload 6 /* field */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaField.isFinal:()Z
            ifeq 8
         6: .line 1056
            iload 3 /* barrier */
            iconst_2
            ior
            istore 3 /* barrier */
         7: .line 1057
            goto 11
        end local 6 // jdk.vm.ci.meta.ResolvedJavaField field
         8: .line 1054
      StackMap locals:
      StackMap stack:
            iinc 7 1
      StackMap locals:
      StackMap stack:
         9: iload 7
            iload 8
            if_icmplt 4
        end local 4 // org.graalvm.compiler.nodes.virtual.VirtualObjectNode vobj
        10: .line 1053
      StackMap locals: org.graalvm.compiler.nodes.FixedWithNextNode org.graalvm.compiler.nodes.virtual.CommitAllocationNode org.graalvm.compiler.nodes.StructuredGraph int top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        11: .line 1061
      StackMap locals: org.graalvm.compiler.nodes.FixedWithNextNode org.graalvm.compiler.nodes.virtual.CommitAllocationNode org.graalvm.compiler.nodes.StructuredGraph int
      StackMap stack:
            aload 2 /* graph */
            aload 0 /* insertAfter */
            aload 2 /* graph */
            new org.graalvm.compiler.nodes.extended.MembarNode
            dup
            iload 3 /* barrier */
            invokestatic jdk.internal.vm.compiler.word.LocationIdentity.init:()Ljdk/internal/vm/compiler/word/LocationIdentity;
            invokespecial org.graalvm.compiler.nodes.extended.MembarNode.<init>:(ILjdk/internal/vm/compiler/word/LocationIdentity;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.FixedNode
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addAfterFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedNode;)V
        12: .line 1062
            return
        end local 3 // int barrier
        end local 2 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 1 // org.graalvm.compiler.nodes.virtual.CommitAllocationNode commit
        end local 0 // org.graalvm.compiler.nodes.FixedWithNextNode insertAfter
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   13     0  insertAfter  Lorg/graalvm/compiler/nodes/FixedWithNextNode;
            0   13     1       commit  Lorg/graalvm/compiler/nodes/virtual/CommitAllocationNode;
            0   13     2        graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            1   13     3      barrier  I
            3   10     4         vobj  Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;
            5    8     6        field  Ljdk/vm/ci/meta/ResolvedJavaField;
    MethodParameters:
             Name  Flags
      insertAfter  
      commit       
      graph        

  public abstract int fieldOffset(jdk.vm.ci.meta.ResolvedJavaField);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaField;)I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
       Name  Flags
      field  

  public org.graalvm.compiler.nodes.FieldLocationIdentity fieldLocationIdentity(jdk.vm.ci.meta.ResolvedJavaField);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaField;)Lorg/graalvm/compiler/nodes/FieldLocationIdentity;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // jdk.vm.ci.meta.ResolvedJavaField field
         0: .line 1067
            new org.graalvm.compiler.nodes.FieldLocationIdentity
            dup
            aload 1 /* field */
            invokespecial org.graalvm.compiler.nodes.FieldLocationIdentity.<init>:(Ljdk/vm/ci/meta/ResolvedJavaField;)V
            areturn
        end local 1 // jdk.vm.ci.meta.ResolvedJavaField field
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0    1     1  field  Ljdk/vm/ci/meta/ResolvedJavaField;
    MethodParameters:
       Name  Flags
      field  

  public abstract 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: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
       Name  Flags
      graph  
      field  

  public abstract int arrayLengthOffset();
    descriptor: ()I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public org.graalvm.compiler.core.common.type.Stamp loadStamp(org.graalvm.compiler.core.common.type.Stamp, jdk.vm.ci.meta.JavaKind);
    descriptor: (Lorg/graalvm/compiler/core/common/type/Stamp;Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/core/common/type/Stamp;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // org.graalvm.compiler.core.common.type.Stamp stamp
        start local 2 // jdk.vm.ci.meta.JavaKind kind
         0: .line 1075
            aload 0 /* this */
            aload 1 /* stamp */
            aload 2 /* kind */
            iconst_1
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.loadStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;Ljdk/vm/ci/meta/JavaKind;Z)Lorg/graalvm/compiler/core/common/type/Stamp;
            areturn
        end local 2 // jdk.vm.ci.meta.JavaKind kind
        end local 1 // org.graalvm.compiler.core.common.type.Stamp stamp
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0    1     1  stamp  Lorg/graalvm/compiler/core/common/type/Stamp;
            0    1     2   kind  Ljdk/vm/ci/meta/JavaKind;
    MethodParameters:
       Name  Flags
      stamp  
      kind   

  private boolean useCompressedOops(jdk.vm.ci.meta.JavaKind, boolean);
    descriptor: (Ljdk/vm/ci/meta/JavaKind;Z)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // jdk.vm.ci.meta.JavaKind kind
        start local 2 // boolean compressible
         0: .line 1079
            aload 1 /* kind */
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 1
            iload 2 /* compressible */
            ifeq 1
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.useCompressedOops:Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 2 // boolean compressible
        end local 1 // jdk.vm.ci.meta.JavaKind kind
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0    2     1          kind  Ljdk/vm/ci/meta/JavaKind;
            0    2     2  compressible  Z
    MethodParameters:
              Name  Flags
      kind          
      compressible  

  protected abstract 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: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
       Name  Flags
      stamp  

  protected org.graalvm.compiler.core.common.type.Stamp loadStamp(org.graalvm.compiler.core.common.type.Stamp, jdk.vm.ci.meta.JavaKind, boolean);
    descriptor: (Lorg/graalvm/compiler/core/common/type/Stamp;Ljdk/vm/ci/meta/JavaKind;Z)Lorg/graalvm/compiler/core/common/type/Stamp;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // org.graalvm.compiler.core.common.type.Stamp stamp
        start local 2 // jdk.vm.ci.meta.JavaKind kind
        start local 3 // boolean compressible
         0: .line 1088
            aload 0 /* this */
            aload 2 /* kind */
            iload 3 /* compressible */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.useCompressedOops:(Ljdk/vm/ci/meta/JavaKind;Z)Z
            ifeq 2
         1: .line 1089
            aload 0 /* this */
            aload 1 /* stamp */
            checkcast org.graalvm.compiler.core.common.type.ObjectStamp
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.loadCompressedStamp:(Lorg/graalvm/compiler/core/common/type/ObjectStamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
            areturn
         2: .line 1092
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:()[I
            aload 2 /* kind */
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iaload
            tableswitch { // 1 - 4
                    1: 3
                    2: 3
                    3: 4
                    4: 4
              default: 5
          }
         3: .line 1095
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.core.common.type.IntegerStamp.OPS:Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable;
            invokevirtual org.graalvm.compiler.core.common.type.ArithmeticOpTable.getNarrow:()Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable$IntegerConvertOp;
            bipush 32
            bipush 8
            aload 1 /* stamp */
            invokevirtual org.graalvm.compiler.core.common.type.ArithmeticOpTable$IntegerConvertOp.foldStamp:(IILorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
            areturn
         4: .line 1098
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.core.common.type.IntegerStamp.OPS:Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable;
            invokevirtual org.graalvm.compiler.core.common.type.ArithmeticOpTable.getNarrow:()Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable$IntegerConvertOp;
            bipush 32
            bipush 16
            aload 1 /* stamp */
            invokevirtual org.graalvm.compiler.core.common.type.ArithmeticOpTable$IntegerConvertOp.foldStamp:(IILorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
            areturn
         5: .line 1100
      StackMap locals:
      StackMap stack:
            aload 1 /* stamp */
            areturn
        end local 3 // boolean compressible
        end local 2 // jdk.vm.ci.meta.JavaKind kind
        end local 1 // org.graalvm.compiler.core.common.type.Stamp stamp
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0    6     1         stamp  Lorg/graalvm/compiler/core/common/type/Stamp;
            0    6     2          kind  Ljdk/vm/ci/meta/JavaKind;
            0    6     3  compressible  Z
    MethodParameters:
              Name  Flags
      stamp         
      kind          
      compressible  

  public final org.graalvm.compiler.nodes.ValueNode implicitLoadConvert(org.graalvm.compiler.nodes.StructuredGraph, jdk.vm.ci.meta.JavaKind, org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        start local 2 // jdk.vm.ci.meta.JavaKind kind
        start local 3 // org.graalvm.compiler.nodes.ValueNode value
         0: .line 1104
            aload 0 /* this */
            aload 1 /* graph */
            aload 2 /* kind */
            aload 3 /* value */
            iconst_1
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.implicitLoadConvert:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;Z)Lorg/graalvm/compiler/nodes/ValueNode;
            areturn
        end local 3 // org.graalvm.compiler.nodes.ValueNode value
        end local 2 // jdk.vm.ci.meta.JavaKind kind
        end local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0    1     1  graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0    1     2   kind  Ljdk/vm/ci/meta/JavaKind;
            0    1     3  value  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
       Name  Flags
      graph  
      kind   
      value  

  public org.graalvm.compiler.nodes.ValueNode implicitLoadConvert(jdk.vm.ci.meta.JavaKind, org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // jdk.vm.ci.meta.JavaKind kind
        start local 2 // org.graalvm.compiler.nodes.ValueNode value
         0: .line 1108
            aload 0 /* this */
            aload 1 /* kind */
            aload 2 /* value */
            iconst_1
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.implicitLoadConvert:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;Z)Lorg/graalvm/compiler/nodes/ValueNode;
            areturn
        end local 2 // org.graalvm.compiler.nodes.ValueNode value
        end local 1 // jdk.vm.ci.meta.JavaKind kind
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0    1     1   kind  Ljdk/vm/ci/meta/JavaKind;
            0    1     2  value  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
       Name  Flags
      kind   
      value  

  protected final org.graalvm.compiler.nodes.ValueNode implicitLoadConvert(org.graalvm.compiler.nodes.StructuredGraph, jdk.vm.ci.meta.JavaKind, org.graalvm.compiler.nodes.ValueNode, boolean);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;Z)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=4, locals=6, args_size=5
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        start local 2 // jdk.vm.ci.meta.JavaKind kind
        start local 3 // org.graalvm.compiler.nodes.ValueNode value
        start local 4 // boolean compressible
         0: .line 1112
            aload 0 /* this */
            aload 2 /* kind */
            aload 3 /* value */
            iload 4 /* compressible */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.implicitLoadConvert:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;Z)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 5 /* ret */
        start local 5 // org.graalvm.compiler.nodes.ValueNode ret
         1: .line 1113
            aload 5 /* ret */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isAlive:()Z
            ifne 3
         2: .line 1114
            aload 1 /* graph */
            aload 5 /* ret */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addOrUnique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.ValueNode
            astore 5 /* ret */
         3: .line 1116
      StackMap locals: org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 5 /* ret */
            areturn
        end local 5 // org.graalvm.compiler.nodes.ValueNode ret
        end local 4 // boolean compressible
        end local 3 // org.graalvm.compiler.nodes.ValueNode value
        end local 2 // jdk.vm.ci.meta.JavaKind kind
        end local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0    4     1         graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0    4     2          kind  Ljdk/vm/ci/meta/JavaKind;
            0    4     3         value  Lorg/graalvm/compiler/nodes/ValueNode;
            0    4     4  compressible  Z
            1    4     5           ret  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
              Name  Flags
      graph         
      kind          
      value         
      compressible  

  protected abstract 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: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
       Name  Flags
      op     
      value  

  protected org.graalvm.compiler.nodes.ValueNode implicitLoadConvert(jdk.vm.ci.meta.JavaKind, org.graalvm.compiler.nodes.ValueNode, boolean);
    descriptor: (Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;Z)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // jdk.vm.ci.meta.JavaKind kind
        start local 2 // org.graalvm.compiler.nodes.ValueNode value
        start local 3 // boolean compressible
         0: .line 1125
            aload 0 /* this */
            aload 1 /* kind */
            iload 3 /* compressible */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.useCompressedOops:(Ljdk/vm/ci/meta/JavaKind;Z)Z
            ifeq 2
         1: .line 1126
            aload 0 /* this */
            getstatic org.graalvm.compiler.nodes.CompressionNode$CompressionOp.Uncompress:Lorg/graalvm/compiler/nodes/CompressionNode$CompressionOp;
            aload 2 /* value */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.newCompressionNode:(Lorg/graalvm/compiler/nodes/CompressionNode$CompressionOp;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            areturn
         2: .line 1129
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:()[I
            aload 1 /* kind */
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iaload
            tableswitch { // 1 - 4
                    1: 4
                    2: 3
                    3: 3
                    4: 4
              default: 5
          }
         3: .line 1132
      StackMap locals:
      StackMap stack:
            new org.graalvm.compiler.nodes.calc.SignExtendNode
            dup
            aload 2 /* value */
            bipush 32
            invokespecial org.graalvm.compiler.nodes.calc.SignExtendNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;I)V
            areturn
         4: .line 1135
      StackMap locals:
      StackMap stack:
            new org.graalvm.compiler.nodes.calc.ZeroExtendNode
            dup
            aload 2 /* value */
            bipush 32
            invokespecial org.graalvm.compiler.nodes.calc.ZeroExtendNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;I)V
            areturn
         5: .line 1137
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            areturn
        end local 3 // boolean compressible
        end local 2 // org.graalvm.compiler.nodes.ValueNode value
        end local 1 // jdk.vm.ci.meta.JavaKind kind
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0    6     1          kind  Ljdk/vm/ci/meta/JavaKind;
            0    6     2         value  Lorg/graalvm/compiler/nodes/ValueNode;
            0    6     3  compressible  Z
    MethodParameters:
              Name  Flags
      kind          
      value         
      compressible  

  public org.graalvm.compiler.nodes.ValueNode arrayImplicitStoreConvert(org.graalvm.compiler.nodes.StructuredGraph, jdk.vm.ci.meta.JavaKind, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.virtual.CommitAllocationNode, org.graalvm.compiler.nodes.virtual.VirtualObjectNode, int);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/virtual/CommitAllocationNode;Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;I)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=10, args_size=7
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        start local 2 // jdk.vm.ci.meta.JavaKind entryKind
        start local 3 // org.graalvm.compiler.nodes.ValueNode value
        start local 4 // org.graalvm.compiler.nodes.virtual.CommitAllocationNode commit
        start local 5 // org.graalvm.compiler.nodes.virtual.VirtualObjectNode virtual
        start local 6 // int valuePos
         0: .line 1146
            aload 5 /* virtual */
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.metaAccessExtensionProvider:Lorg/graalvm/compiler/core/common/spi/MetaAccessExtensionProvider;
            invokevirtual org.graalvm.compiler.nodes.virtual.VirtualObjectNode.isVirtualByteArray:(Lorg/graalvm/compiler/core/common/spi/MetaAccessExtensionProvider;)Z
            ifne 2
         1: .line 1147
            aload 0 /* this */
            aload 1 /* graph */
            aload 2 /* entryKind */
            aload 3 /* value */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.implicitStoreConvert:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            areturn
         2: .line 1151
      StackMap locals:
      StackMap stack:
            iload 6 /* valuePos */
            iconst_1
            iadd
            istore 7 /* entryIndex */
        start local 7 // int entryIndex
         3: .line 1152
            iconst_1
            istore 8 /* bytes */
        start local 8 // int bytes
         4: .line 1153
            goto 7
         5: .line 1154
      StackMap locals: int int
      StackMap stack:
            iinc 8 /* bytes */ 1
         6: .line 1155
            iinc 7 /* entryIndex */ 1
         7: .line 1153
      StackMap locals:
      StackMap stack:
            iload 7 /* entryIndex */
            aload 4 /* commit */
            invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.getValues:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmpge 8
            aload 4 /* commit */
            invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.getValues:()Ljava/util/List;
            iload 7 /* entryIndex */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.ValueNode
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isIllegalConstant:()Z
            ifne 5
         8: .line 1157
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.$assertionsDisabled:Z
            ifne 9
            iload 8 /* bytes */
            aload 3 /* value */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.getByteCount:()I
            if_icmple 9
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         9: .line 1158
      StackMap locals:
      StackMap stack:
            aload 3 /* value */
            astore 9 /* entry */
        start local 9 // org.graalvm.compiler.nodes.ValueNode entry
        10: .line 1159
            aload 3 /* value */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
            getstatic jdk.vm.ci.meta.JavaKind.Float:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 13
        11: .line 1160
            aload 1 /* graph */
            getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
            aload 9 /* entry */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokestatic org.graalvm.compiler.nodes.calc.ReinterpretNode.create:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addOrUnique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.ValueNode
            astore 9 /* entry */
        12: .line 1161
            goto 15
      StackMap locals: org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
        13: aload 3 /* value */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
            getstatic jdk.vm.ci.meta.JavaKind.Double:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 15
        14: .line 1162
            aload 1 /* graph */
            getstatic jdk.vm.ci.meta.JavaKind.Long:Ljdk/vm/ci/meta/JavaKind;
            aload 9 /* entry */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokestatic org.graalvm.compiler.nodes.calc.ReinterpretNode.create:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addOrUnique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.ValueNode
            astore 9 /* entry */
        15: .line 1164
      StackMap locals:
      StackMap stack:
            iload 8 /* bytes */
            aload 3 /* value */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.getByteCount:()I
            if_icmpge 17
        16: .line 1165
            aload 1 /* graph */
            new org.graalvm.compiler.nodes.calc.NarrowNode
            dup
            aload 9 /* entry */
            iload 8 /* bytes */
            iconst_3
            ishl
            invokespecial org.graalvm.compiler.nodes.calc.NarrowNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;I)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.ValueNode
            astore 9 /* entry */
        17: .line 1167
      StackMap locals:
      StackMap stack:
            aload 9 /* entry */
            areturn
        end local 9 // org.graalvm.compiler.nodes.ValueNode entry
        end local 8 // int bytes
        end local 7 // int entryIndex
        end local 6 // int valuePos
        end local 5 // org.graalvm.compiler.nodes.virtual.VirtualObjectNode virtual
        end local 4 // org.graalvm.compiler.nodes.virtual.CommitAllocationNode commit
        end local 3 // org.graalvm.compiler.nodes.ValueNode value
        end local 2 // jdk.vm.ci.meta.JavaKind entryKind
        end local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   18     0        this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0   18     1       graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0   18     2   entryKind  Ljdk/vm/ci/meta/JavaKind;
            0   18     3       value  Lorg/graalvm/compiler/nodes/ValueNode;
            0   18     4      commit  Lorg/graalvm/compiler/nodes/virtual/CommitAllocationNode;
            0   18     5     virtual  Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;
            0   18     6    valuePos  I
            3   18     7  entryIndex  I
            4   18     8       bytes  I
           10   18     9       entry  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
           Name  Flags
      graph      
      entryKind  
      value      
      commit     
      virtual    
      valuePos   

  public final org.graalvm.compiler.nodes.ValueNode implicitStoreConvert(org.graalvm.compiler.nodes.StructuredGraph, jdk.vm.ci.meta.JavaKind, org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        start local 2 // jdk.vm.ci.meta.JavaKind kind
        start local 3 // org.graalvm.compiler.nodes.ValueNode value
         0: .line 1171
            aload 0 /* this */
            aload 1 /* graph */
            aload 2 /* kind */
            aload 3 /* value */
            iconst_1
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.implicitStoreConvert:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;Z)Lorg/graalvm/compiler/nodes/ValueNode;
            areturn
        end local 3 // org.graalvm.compiler.nodes.ValueNode value
        end local 2 // jdk.vm.ci.meta.JavaKind kind
        end local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0    1     1  graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0    1     2   kind  Ljdk/vm/ci/meta/JavaKind;
            0    1     3  value  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
       Name  Flags
      graph  
      kind   
      value  

  public org.graalvm.compiler.nodes.ValueNode implicitStoreConvert(jdk.vm.ci.meta.JavaKind, org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // jdk.vm.ci.meta.JavaKind kind
        start local 2 // org.graalvm.compiler.nodes.ValueNode value
         0: .line 1175
            aload 0 /* this */
            aload 1 /* kind */
            aload 2 /* value */
            iconst_1
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.implicitStoreConvert:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;Z)Lorg/graalvm/compiler/nodes/ValueNode;
            areturn
        end local 2 // org.graalvm.compiler.nodes.ValueNode value
        end local 1 // jdk.vm.ci.meta.JavaKind kind
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0    1     1   kind  Ljdk/vm/ci/meta/JavaKind;
            0    1     2  value  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
       Name  Flags
      kind   
      value  

  protected final org.graalvm.compiler.nodes.ValueNode implicitStoreConvert(org.graalvm.compiler.nodes.StructuredGraph, jdk.vm.ci.meta.JavaKind, org.graalvm.compiler.nodes.ValueNode, boolean);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;Z)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=4, locals=6, args_size=5
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        start local 2 // jdk.vm.ci.meta.JavaKind kind
        start local 3 // org.graalvm.compiler.nodes.ValueNode value
        start local 4 // boolean compressible
         0: .line 1179
            aload 0 /* this */
            aload 2 /* kind */
            aload 3 /* value */
            iload 4 /* compressible */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.implicitStoreConvert:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;Z)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 5 /* ret */
        start local 5 // org.graalvm.compiler.nodes.ValueNode ret
         1: .line 1180
            aload 5 /* ret */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isAlive:()Z
            ifne 3
         2: .line 1181
            aload 1 /* graph */
            aload 5 /* ret */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addOrUnique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.ValueNode
            astore 5 /* ret */
         3: .line 1183
      StackMap locals: org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 5 /* ret */
            areturn
        end local 5 // org.graalvm.compiler.nodes.ValueNode ret
        end local 4 // boolean compressible
        end local 3 // org.graalvm.compiler.nodes.ValueNode value
        end local 2 // jdk.vm.ci.meta.JavaKind kind
        end local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0    4     1         graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0    4     2          kind  Ljdk/vm/ci/meta/JavaKind;
            0    4     3         value  Lorg/graalvm/compiler/nodes/ValueNode;
            0    4     4  compressible  Z
            1    4     5           ret  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
              Name  Flags
      graph         
      kind          
      value         
      compressible  

  protected org.graalvm.compiler.nodes.ValueNode implicitStoreConvert(jdk.vm.ci.meta.JavaKind, org.graalvm.compiler.nodes.ValueNode, boolean);
    descriptor: (Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;Z)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // jdk.vm.ci.meta.JavaKind kind
        start local 2 // org.graalvm.compiler.nodes.ValueNode value
        start local 3 // boolean compressible
         0: .line 1190
            aload 0 /* this */
            aload 1 /* kind */
            iload 3 /* compressible */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.useCompressedOops:(Ljdk/vm/ci/meta/JavaKind;Z)Z
            ifeq 2
         1: .line 1191
            aload 0 /* this */
            getstatic org.graalvm.compiler.nodes.CompressionNode$CompressionOp.Compress:Lorg/graalvm/compiler/nodes/CompressionNode$CompressionOp;
            aload 2 /* value */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.newCompressionNode:(Lorg/graalvm/compiler/nodes/CompressionNode$CompressionOp;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            areturn
         2: .line 1194
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:()[I
            aload 1 /* kind */
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iaload
            tableswitch { // 1 - 4
                    1: 3
                    2: 3
                    3: 4
                    4: 4
              default: 5
          }
         3: .line 1197
      StackMap locals:
      StackMap stack:
            new org.graalvm.compiler.nodes.calc.NarrowNode
            dup
            aload 2 /* value */
            bipush 8
            invokespecial org.graalvm.compiler.nodes.calc.NarrowNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;I)V
            areturn
         4: .line 1200
      StackMap locals:
      StackMap stack:
            new org.graalvm.compiler.nodes.calc.NarrowNode
            dup
            aload 2 /* value */
            bipush 16
            invokespecial org.graalvm.compiler.nodes.calc.NarrowNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;I)V
            areturn
         5: .line 1202
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            areturn
        end local 3 // boolean compressible
        end local 2 // org.graalvm.compiler.nodes.ValueNode value
        end local 1 // jdk.vm.ci.meta.JavaKind kind
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0    6     1          kind  Ljdk/vm/ci/meta/JavaKind;
            0    6     2         value  Lorg/graalvm/compiler/nodes/ValueNode;
            0    6     3  compressible  Z
    MethodParameters:
              Name  Flags
      kind          
      value         
      compressible  

  protected abstract 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: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      graph   
      object  
      tool    

  protected abstract 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: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
          Name  Flags
      graph     
      arrayHub  
      anchor    

  protected org.graalvm.compiler.nodes.ValueNode proxyIndex(org.graalvm.compiler.nodes.java.AccessIndexedNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.spi.LoweringTool);
    descriptor: (Lorg/graalvm/compiler/nodes/java/AccessIndexedNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=8, args_size=5
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // org.graalvm.compiler.nodes.java.AccessIndexedNode n
        start local 2 // org.graalvm.compiler.nodes.ValueNode index
        start local 3 // org.graalvm.compiler.nodes.ValueNode array
        start local 4 // org.graalvm.compiler.nodes.spi.LoweringTool tool
         0: .line 1210
            aload 2 /* index */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 5 /* graph */
        start local 5 // org.graalvm.compiler.nodes.StructuredGraph graph
         1: .line 1211
            aload 0 /* this */
            aload 1 /* n */
            aload 3 /* array */
            aload 4 /* tool */
            aload 5 /* graph */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.readOrCreateArrayLength:(Lorg/graalvm/compiler/nodes/java/AccessIndexedNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;Lorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 6 /* arrayLength */
        start local 6 // org.graalvm.compiler.nodes.ValueNode arrayLength
         2: .line 1212
            aload 6 /* arrayLength */
            iconst_1
            invokestatic org.graalvm.compiler.nodes.ConstantNode.forInt:(I)Lorg/graalvm/compiler/nodes/ConstantNode;
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokestatic org.graalvm.compiler.nodes.calc.SubNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 7 /* lengthMinusOne */
        start local 7 // org.graalvm.compiler.nodes.ValueNode lengthMinusOne
         3: .line 1213
            aload 2 /* index */
            aload 7 /* lengthMinusOne */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokestatic org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.branchlessMin:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
            iconst_0
            invokestatic org.graalvm.compiler.nodes.ConstantNode.forInt:(I)Lorg/graalvm/compiler/nodes/ConstantNode;
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokestatic org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.branchlessMax:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
            areturn
        end local 7 // org.graalvm.compiler.nodes.ValueNode lengthMinusOne
        end local 6 // org.graalvm.compiler.nodes.ValueNode arrayLength
        end local 5 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 4 // org.graalvm.compiler.nodes.spi.LoweringTool tool
        end local 3 // org.graalvm.compiler.nodes.ValueNode array
        end local 2 // org.graalvm.compiler.nodes.ValueNode index
        end local 1 // org.graalvm.compiler.nodes.java.AccessIndexedNode n
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    4     0            this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0    4     1               n  Lorg/graalvm/compiler/nodes/java/AccessIndexedNode;
            0    4     2           index  Lorg/graalvm/compiler/nodes/ValueNode;
            0    4     3           array  Lorg/graalvm/compiler/nodes/ValueNode;
            0    4     4            tool  Lorg/graalvm/compiler/nodes/spi/LoweringTool;
            1    4     5           graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            2    4     6     arrayLength  Lorg/graalvm/compiler/nodes/ValueNode;
            3    4     7  lengthMinusOne  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
       Name  Flags
      n      
      index  
      array  
      tool   

  protected org.graalvm.compiler.nodes.extended.GuardingNode getBoundsCheck(org.graalvm.compiler.nodes.java.AccessIndexedNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.spi.LoweringTool);
    descriptor: (Lorg/graalvm/compiler/nodes/java/AccessIndexedNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)Lorg/graalvm/compiler/nodes/extended/GuardingNode;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // org.graalvm.compiler.nodes.java.AccessIndexedNode n
        start local 2 // org.graalvm.compiler.nodes.ValueNode array
        start local 3 // org.graalvm.compiler.nodes.spi.LoweringTool tool
         0: .line 1217
            aload 1 /* n */
            invokevirtual org.graalvm.compiler.nodes.java.AccessIndexedNode.getBoundsCheck:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            ifnull 2
         1: .line 1218
            aload 1 /* n */
            invokevirtual org.graalvm.compiler.nodes.java.AccessIndexedNode.getBoundsCheck:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            areturn
         2: .line 1221
      StackMap locals:
      StackMap stack:
            aload 1 /* n */
            invokevirtual org.graalvm.compiler.nodes.java.AccessIndexedNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 4 /* graph */
        start local 4 // org.graalvm.compiler.nodes.StructuredGraph graph
         3: .line 1222
            aload 0 /* this */
            aload 1 /* n */
            aload 2 /* array */
            aload 3 /* tool */
            aload 4 /* graph */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.readOrCreateArrayLength:(Lorg/graalvm/compiler/nodes/java/AccessIndexedNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;Lorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 5 /* arrayLength */
        start local 5 // org.graalvm.compiler.nodes.ValueNode arrayLength
         4: .line 1224
            aload 1 /* n */
            invokevirtual org.graalvm.compiler.nodes.java.AccessIndexedNode.index:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 5 /* arrayLength */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokestatic org.graalvm.compiler.nodes.calc.IntegerBelowNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/LogicNode;
            astore 6 /* boundsCheck */
        start local 6 // org.graalvm.compiler.nodes.LogicNode boundsCheck
         5: .line 1225
            aload 6 /* boundsCheck */
            invokevirtual org.graalvm.compiler.nodes.LogicNode.isTautology:()Z
            ifeq 7
         6: .line 1226
            aconst_null
            areturn
         7: .line 1228
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.LogicNode
      StackMap stack:
            aload 3 /* tool */
            aload 1 /* n */
            aload 4 /* graph */
            aload 6 /* boundsCheck */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addOrUniqueWithInputs:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.LogicNode
            getstatic jdk.vm.ci.meta.DeoptimizationReason.BoundsCheckException:Ljdk/vm/ci/meta/DeoptimizationReason;
            getstatic jdk.vm.ci.meta.DeoptimizationAction.InvalidateReprofile:Ljdk/vm/ci/meta/DeoptimizationAction;
            invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.createGuard:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/LogicNode;Ljdk/vm/ci/meta/DeoptimizationReason;Ljdk/vm/ci/meta/DeoptimizationAction;)Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            areturn
        end local 6 // org.graalvm.compiler.nodes.LogicNode boundsCheck
        end local 5 // org.graalvm.compiler.nodes.ValueNode arrayLength
        end local 4 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 3 // org.graalvm.compiler.nodes.spi.LoweringTool tool
        end local 2 // org.graalvm.compiler.nodes.ValueNode array
        end local 1 // org.graalvm.compiler.nodes.java.AccessIndexedNode n
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0         this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0    8     1            n  Lorg/graalvm/compiler/nodes/java/AccessIndexedNode;
            0    8     2        array  Lorg/graalvm/compiler/nodes/ValueNode;
            0    8     3         tool  Lorg/graalvm/compiler/nodes/spi/LoweringTool;
            3    8     4        graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            4    8     5  arrayLength  Lorg/graalvm/compiler/nodes/ValueNode;
            5    8     6  boundsCheck  Lorg/graalvm/compiler/nodes/LogicNode;
    MethodParameters:
       Name  Flags
      n      
      array  
      tool   

  private org.graalvm.compiler.nodes.ValueNode readOrCreateArrayLength(org.graalvm.compiler.nodes.java.AccessIndexedNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.spi.LoweringTool, org.graalvm.compiler.nodes.StructuredGraph);
    descriptor: (Lorg/graalvm/compiler/nodes/java/AccessIndexedNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;Lorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=5
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // org.graalvm.compiler.nodes.java.AccessIndexedNode n
        start local 2 // org.graalvm.compiler.nodes.ValueNode array
        start local 3 // org.graalvm.compiler.nodes.spi.LoweringTool tool
        start local 4 // org.graalvm.compiler.nodes.StructuredGraph graph
         0: .line 1232
            aload 2 /* array */
            aload 3 /* tool */
            invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.getConstantReflection:()Ljdk/vm/ci/meta/ConstantReflectionProvider;
            invokestatic org.graalvm.compiler.nodes.java.ArrayLengthNode.readArrayLength:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/ConstantReflectionProvider;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 5 /* arrayLength */
        start local 5 // org.graalvm.compiler.nodes.ValueNode arrayLength
         1: .line 1233
            aload 5 /* arrayLength */
            ifnonnull 4
         2: .line 1234
            aload 0 /* this */
            aload 2 /* array */
            aload 1 /* n */
            aload 3 /* tool */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createReadArrayLength:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)Lorg/graalvm/compiler/nodes/memory/ReadNode;
            astore 5 /* arrayLength */
         3: .line 1235
            goto 7
         4: .line 1236
      StackMap locals: org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 5 /* arrayLength */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isAlive:()Z
            ifeq 5
            aload 5 /* arrayLength */
            goto 6
      StackMap locals:
      StackMap stack:
         5: aload 4 /* graph */
            aload 5 /* arrayLength */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addOrUniqueWithInputs:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.ValueNode
      StackMap locals:
      StackMap stack: org.graalvm.compiler.nodes.ValueNode
         6: astore 5 /* arrayLength */
         7: .line 1238
      StackMap locals:
      StackMap stack:
            aload 5 /* arrayLength */
            areturn
        end local 5 // org.graalvm.compiler.nodes.ValueNode arrayLength
        end local 4 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 3 // org.graalvm.compiler.nodes.spi.LoweringTool tool
        end local 2 // org.graalvm.compiler.nodes.ValueNode array
        end local 1 // org.graalvm.compiler.nodes.java.AccessIndexedNode n
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0         this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0    8     1            n  Lorg/graalvm/compiler/nodes/java/AccessIndexedNode;
            0    8     2        array  Lorg/graalvm/compiler/nodes/ValueNode;
            0    8     3         tool  Lorg/graalvm/compiler/nodes/spi/LoweringTool;
            0    8     4        graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            1    8     5  arrayLength  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
       Name  Flags
      n      
      array  
      tool   
      graph  

  protected org.graalvm.compiler.nodes.extended.GuardingNode createNullCheck(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.FixedNode, org.graalvm.compiler.nodes.spi.LoweringTool);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)Lorg/graalvm/compiler/nodes/extended/GuardingNode;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=8, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // org.graalvm.compiler.nodes.ValueNode object
        start local 2 // org.graalvm.compiler.nodes.FixedNode before
        start local 3 // org.graalvm.compiler.nodes.spi.LoweringTool tool
         0: .line 1242
            aload 1 /* object */
            invokestatic org.graalvm.compiler.nodes.type.StampTool.isPointerNonNull:(Lorg/graalvm/compiler/nodes/ValueNode;)Z
            ifeq 2
         1: .line 1243
            aconst_null
            areturn
         2: .line 1245
      StackMap locals:
      StackMap stack:
            aload 3 /* tool */
            aload 2 /* before */
            aload 2 /* before */
            invokevirtual org.graalvm.compiler.nodes.FixedNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            aload 1 /* 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
            getstatic jdk.vm.ci.meta.DeoptimizationReason.NullCheckException:Ljdk/vm/ci/meta/DeoptimizationReason;
            getstatic jdk.vm.ci.meta.DeoptimizationAction.InvalidateReprofile:Ljdk/vm/ci/meta/DeoptimizationAction;
            getstatic jdk.vm.ci.meta.SpeculationLog.NO_SPECULATION:Ljdk/vm/ci/meta/SpeculationLog$Speculation;
            iconst_1
            aconst_null
            invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.createGuard:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/LogicNode;Ljdk/vm/ci/meta/DeoptimizationReason;Ljdk/vm/ci/meta/DeoptimizationAction;Ljdk/vm/ci/meta/SpeculationLog$Speculation;ZLorg/graalvm/compiler/graph/NodeSourcePosition;)Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            areturn
        end local 3 // org.graalvm.compiler.nodes.spi.LoweringTool tool
        end local 2 // org.graalvm.compiler.nodes.FixedNode before
        end local 1 // org.graalvm.compiler.nodes.ValueNode object
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0    3     1  object  Lorg/graalvm/compiler/nodes/ValueNode;
            0    3     2  before  Lorg/graalvm/compiler/nodes/FixedNode;
            0    3     3    tool  Lorg/graalvm/compiler/nodes/spi/LoweringTool;
    MethodParameters:
        Name  Flags
      object  
      before  
      tool    

  protected org.graalvm.compiler.nodes.ValueNode createNullCheckedValue(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.FixedNode, org.graalvm.compiler.nodes.spi.LoweringTool);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // org.graalvm.compiler.nodes.ValueNode object
        start local 2 // org.graalvm.compiler.nodes.FixedNode before
        start local 3 // org.graalvm.compiler.nodes.spi.LoweringTool tool
         0: .line 1249
            aload 0 /* this */
            aload 1 /* object */
            aload 2 /* before */
            aload 3 /* tool */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createNullCheck:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            astore 4 /* nullCheck */
        start local 4 // org.graalvm.compiler.nodes.extended.GuardingNode nullCheck
         1: .line 1250
            aload 4 /* nullCheck */
            ifnonnull 3
         2: .line 1251
            aload 1 /* object */
            areturn
         3: .line 1253
      StackMap locals: org.graalvm.compiler.nodes.extended.GuardingNode
      StackMap stack:
            aload 2 /* before */
            invokevirtual org.graalvm.compiler.nodes.FixedNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            aload 1 /* object */
            aload 1 /* object */
            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;
            invokestatic org.graalvm.compiler.core.common.type.StampFactory.objectNonNull:()Lorg/graalvm/compiler/core/common/type/Stamp;
            invokevirtual org.graalvm.compiler.core.common.type.Stamp.join:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
            aload 4 /* nullCheck */
            checkcast org.graalvm.compiler.nodes.ValueNode
            invokestatic org.graalvm.compiler.nodes.PiNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.maybeAddOrUnique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.ValueNode
            areturn
        end local 4 // org.graalvm.compiler.nodes.extended.GuardingNode nullCheck
        end local 3 // org.graalvm.compiler.nodes.spi.LoweringTool tool
        end local 2 // org.graalvm.compiler.nodes.FixedNode before
        end local 1 // org.graalvm.compiler.nodes.ValueNode object
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0    4     1     object  Lorg/graalvm/compiler/nodes/ValueNode;
            0    4     2     before  Lorg/graalvm/compiler/nodes/FixedNode;
            0    4     3       tool  Lorg/graalvm/compiler/nodes/spi/LoweringTool;
            1    4     4  nullCheck  Lorg/graalvm/compiler/nodes/extended/GuardingNode;
    MethodParameters:
        Name  Flags
      object  
      before  
      tool    

  public org.graalvm.compiler.nodes.ValueNode reconstructArrayIndex(jdk.vm.ci.meta.JavaKind, org.graalvm.compiler.nodes.memory.address.AddressNode);
    descriptor: (Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/memory/address/AddressNode;)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=9, args_size=3
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // jdk.vm.ci.meta.JavaKind elementKind
        start local 2 // org.graalvm.compiler.nodes.memory.address.AddressNode address
         0: .line 1258
            aload 2 /* address */
            invokevirtual org.graalvm.compiler.nodes.memory.address.AddressNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 3 /* graph */
        start local 3 // org.graalvm.compiler.nodes.StructuredGraph graph
         1: .line 1259
            aload 2 /* address */
            checkcast org.graalvm.compiler.nodes.memory.address.OffsetAddressNode
            invokevirtual org.graalvm.compiler.nodes.memory.address.OffsetAddressNode.getOffset:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 4 /* offset */
        start local 4 // org.graalvm.compiler.nodes.ValueNode offset
         2: .line 1261
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.metaAccess:Ljdk/vm/ci/meta/MetaAccessProvider;
            aload 1 /* elementKind */
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.getArrayBaseOffset:(Ljdk/vm/ci/meta/JavaKind;)I
            istore 5 /* base */
        start local 5 // int base
         3: .line 1262
            aload 3 /* graph */
            new org.graalvm.compiler.nodes.calc.SubNode
            dup
            aload 4 /* offset */
            aload 4 /* offset */
            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;
            iload 5 /* base */
            i2l
            aload 3 /* graph */
            invokestatic org.graalvm.compiler.nodes.ConstantNode.forIntegerStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;JLorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
            invokespecial org.graalvm.compiler.nodes.calc.SubNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;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
            astore 6 /* scaledIndex */
        start local 6 // org.graalvm.compiler.nodes.ValueNode scaledIndex
         4: .line 1264
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.metaAccess:Ljdk/vm/ci/meta/MetaAccessProvider;
            aload 1 /* elementKind */
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.getArrayIndexScale:(Ljdk/vm/ci/meta/JavaKind;)I
            invokestatic jdk.vm.ci.code.CodeUtil.log2:(I)I
            istore 7 /* shift */
        start local 7 // int shift
         5: .line 1265
            aload 3 /* graph */
            new org.graalvm.compiler.nodes.calc.RightShiftNode
            dup
            aload 6 /* scaledIndex */
            iload 7 /* shift */
            aload 3 /* graph */
            invokestatic org.graalvm.compiler.nodes.ConstantNode.forInt:(ILorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
            invokespecial org.graalvm.compiler.nodes.calc.RightShiftNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;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
            astore 8 /* ret */
        start local 8 // org.graalvm.compiler.nodes.ValueNode ret
         6: .line 1266
            aload 8 /* ret */
            getstatic jdk.vm.ci.meta.JavaKind.Int: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;
            aload 3 /* graph */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokestatic org.graalvm.compiler.nodes.calc.IntegerConvertNode.convert:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
            areturn
        end local 8 // org.graalvm.compiler.nodes.ValueNode ret
        end local 7 // int shift
        end local 6 // org.graalvm.compiler.nodes.ValueNode scaledIndex
        end local 5 // int base
        end local 4 // org.graalvm.compiler.nodes.ValueNode offset
        end local 3 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 2 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        end local 1 // jdk.vm.ci.meta.JavaKind elementKind
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0    7     1  elementKind  Ljdk/vm/ci/meta/JavaKind;
            0    7     2      address  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            1    7     3        graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            2    7     4       offset  Lorg/graalvm/compiler/nodes/ValueNode;
            3    7     5         base  I
            4    7     6  scaledIndex  Lorg/graalvm/compiler/nodes/ValueNode;
            5    7     7        shift  I
            6    7     8          ret  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
             Name  Flags
      elementKind  
      address      

  private static void lowerVolatileRead(org.graalvm.compiler.nodes.memory.VolatileReadNode, org.graalvm.compiler.nodes.spi.LoweringTool);
    descriptor: (Lorg/graalvm/compiler/nodes/memory/VolatileReadNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=6, args_size=2
        start local 0 // org.graalvm.compiler.nodes.memory.VolatileReadNode n
        start local 1 // org.graalvm.compiler.nodes.spi.LoweringTool tool
         0: .line 1270
            aload 1 /* 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 1271
            return
         2: .line 1273
      StackMap locals:
      StackMap stack:
            aload 0 /* n */
            invokevirtual org.graalvm.compiler.nodes.memory.VolatileReadNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 2 /* graph */
        start local 2 // org.graalvm.compiler.nodes.StructuredGraph graph
         3: .line 1274
            aload 2 /* graph */
            new org.graalvm.compiler.nodes.extended.MembarNode
            dup
            iconst_0
            invokespecial org.graalvm.compiler.nodes.extended.MembarNode.<init>:(I)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.extended.MembarNode
            astore 3 /* preMembar */
        start local 3 // org.graalvm.compiler.nodes.extended.MembarNode preMembar
         4: .line 1275
            aload 2 /* graph */
            aload 0 /* n */
            aload 3 /* preMembar */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addBeforeFixed:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
         5: .line 1276
            aload 2 /* graph */
            new org.graalvm.compiler.nodes.extended.MembarNode
            dup
            iconst_3
            invokespecial org.graalvm.compiler.nodes.extended.MembarNode.<init>:(I)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.extended.MembarNode
            astore 4 /* postMembar */
        start local 4 // org.graalvm.compiler.nodes.extended.MembarNode postMembar
         6: .line 1277
            aload 2 /* graph */
            aload 0 /* n */
            aload 4 /* postMembar */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addAfterFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedNode;)V
         7: .line 1278
            aload 0 /* n */
            aload 4 /* postMembar */
            getstatic org.graalvm.compiler.nodeinfo.InputType.Memory:Lorg/graalvm/compiler/nodeinfo/InputType;
            invokevirtual org.graalvm.compiler.nodes.memory.VolatileReadNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/nodeinfo/InputType;)V
         8: .line 1279
            aload 2 /* graph */
            new org.graalvm.compiler.nodes.memory.ReadNode
            dup
            aload 0 /* n */
            invokevirtual org.graalvm.compiler.nodes.memory.VolatileReadNode.getAddress:()Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            aload 0 /* n */
            invokevirtual org.graalvm.compiler.nodes.memory.VolatileReadNode.getLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
            aload 0 /* n */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.nodes.memory.VolatileReadNode.getAccessStamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            aload 0 /* n */
            invokevirtual org.graalvm.compiler.nodes.memory.VolatileReadNode.getBarrierType:()Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
            invokespecial org.graalvm.compiler.nodes.memory.ReadNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$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 5 /* nonVolatileRead */
        start local 5 // org.graalvm.compiler.nodes.memory.ReadNode nonVolatileRead
         9: .line 1280
            aload 2 /* graph */
            aload 0 /* n */
            aload 5 /* nonVolatileRead */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
        10: .line 1281
            return
        end local 5 // org.graalvm.compiler.nodes.memory.ReadNode nonVolatileRead
        end local 4 // org.graalvm.compiler.nodes.extended.MembarNode postMembar
        end local 3 // org.graalvm.compiler.nodes.extended.MembarNode preMembar
        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.memory.VolatileReadNode n
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   11     0                n  Lorg/graalvm/compiler/nodes/memory/VolatileReadNode;
            0   11     1             tool  Lorg/graalvm/compiler/nodes/spi/LoweringTool;
            3   11     2            graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            4   11     3        preMembar  Lorg/graalvm/compiler/nodes/extended/MembarNode;
            6   11     4       postMembar  Lorg/graalvm/compiler/nodes/extended/MembarNode;
            9   11     5  nonVolatileRead  Lorg/graalvm/compiler/nodes/memory/ReadNode;
    MethodParameters:
      Name  Flags
      n     
      tool  

  private static void lowerVolatileWrite(org.graalvm.compiler.nodes.memory.VolatileWriteNode, org.graalvm.compiler.nodes.spi.LoweringTool);
    descriptor: (Lorg/graalvm/compiler/nodes/memory/VolatileWriteNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=6, args_size=2
        start local 0 // org.graalvm.compiler.nodes.memory.VolatileWriteNode n
        start local 1 // org.graalvm.compiler.nodes.spi.LoweringTool tool
         0: .line 1284
            aload 1 /* 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 1285
            return
         2: .line 1287
      StackMap locals:
      StackMap stack:
            aload 0 /* n */
            invokevirtual org.graalvm.compiler.nodes.memory.VolatileWriteNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 2 /* graph */
        start local 2 // org.graalvm.compiler.nodes.StructuredGraph graph
         3: .line 1288
            aload 2 /* graph */
            new org.graalvm.compiler.nodes.extended.MembarNode
            dup
            bipush 10
            invokespecial org.graalvm.compiler.nodes.extended.MembarNode.<init>:(I)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.extended.MembarNode
            astore 3 /* preMembar */
        start local 3 // org.graalvm.compiler.nodes.extended.MembarNode preMembar
         4: .line 1289
            aload 2 /* graph */
            aload 0 /* n */
            aload 3 /* preMembar */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addBeforeFixed:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
         5: .line 1290
            aload 2 /* graph */
            new org.graalvm.compiler.nodes.extended.MembarNode
            dup
            bipush 12
            invokespecial org.graalvm.compiler.nodes.extended.MembarNode.<init>:(I)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.extended.MembarNode
            astore 4 /* postMembar */
        start local 4 // org.graalvm.compiler.nodes.extended.MembarNode postMembar
         6: .line 1291
            aload 2 /* graph */
            aload 0 /* n */
            aload 4 /* postMembar */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addAfterFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedNode;)V
         7: .line 1292
            aload 0 /* n */
            aload 4 /* postMembar */
            getstatic org.graalvm.compiler.nodeinfo.InputType.Memory:Lorg/graalvm/compiler/nodeinfo/InputType;
            invokevirtual org.graalvm.compiler.nodes.memory.VolatileWriteNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/nodeinfo/InputType;)V
         8: .line 1293
            aload 2 /* graph */
            new org.graalvm.compiler.nodes.memory.WriteNode
            dup
            aload 0 /* n */
            invokevirtual org.graalvm.compiler.nodes.memory.VolatileWriteNode.getAddress:()Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            aload 0 /* n */
            invokevirtual org.graalvm.compiler.nodes.memory.VolatileWriteNode.getLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
            aload 0 /* n */
            invokevirtual org.graalvm.compiler.nodes.memory.VolatileWriteNode.value:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 0 /* n */
            invokevirtual org.graalvm.compiler.nodes.memory.VolatileWriteNode.getBarrierType:()Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
            invokespecial org.graalvm.compiler.nodes.memory.WriteNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$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 5 /* nonVolatileWrite */
        start local 5 // org.graalvm.compiler.nodes.memory.WriteNode nonVolatileWrite
         9: .line 1294
            aload 2 /* graph */
            aload 0 /* n */
            aload 5 /* nonVolatileWrite */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
        10: .line 1295
            return
        end local 5 // org.graalvm.compiler.nodes.memory.WriteNode nonVolatileWrite
        end local 4 // org.graalvm.compiler.nodes.extended.MembarNode postMembar
        end local 3 // org.graalvm.compiler.nodes.extended.MembarNode preMembar
        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.memory.VolatileWriteNode n
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   11     0                 n  Lorg/graalvm/compiler/nodes/memory/VolatileWriteNode;
            0   11     1              tool  Lorg/graalvm/compiler/nodes/spi/LoweringTool;
            3   11     2             graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            4   11     3         preMembar  Lorg/graalvm/compiler/nodes/extended/MembarNode;
            6   11     4        postMembar  Lorg/graalvm/compiler/nodes/extended/MembarNode;
            9   11     5  nonVolatileWrite  Lorg/graalvm/compiler/nodes/memory/WriteNode;
    MethodParameters:
      Name  Flags
      n     
      tool  

  static int[] $SWITCH_TABLE$jdk$vm$ci$meta$JavaKind();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 179
            getstatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic jdk.vm.ci.meta.JavaKind.values:()[Ljdk/vm/ci/meta/JavaKind;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Boolean:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iconst_1
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Byte:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iconst_2
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Char:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iconst_4
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Double:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            bipush 8
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Float:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            bipush 6
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Illegal:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            bipush 11
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iconst_5
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Long:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            bipush 7
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            bipush 9
            iastore
        27: goto 29
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        28: pop
      StackMap locals:
      StackMap stack:
        29: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Short:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iconst_3
            iastore
        30: goto 32
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        31: pop
      StackMap locals:
      StackMap stack:
        32: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Void:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            bipush 10
            iastore
        33: goto 35
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        34: pop
      StackMap locals:
      StackMap stack:
        35: aload 0
            dup
            putstatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
          20    21      22  Class java.lang.NoSuchFieldError
          23    24      25  Class java.lang.NoSuchFieldError
          26    27      28  Class java.lang.NoSuchFieldError
          29    30      31  Class java.lang.NoSuchFieldError
          32    33      34  Class java.lang.NoSuchFieldError

  private static int lambda$0(org.graalvm.compiler.nodes.java.MonitorIdNode, org.graalvm.compiler.nodes.java.MonitorIdNode);
    descriptor: (Lorg/graalvm/compiler/nodes/java/MonitorIdNode;Lorg/graalvm/compiler/nodes/java/MonitorIdNode;)I
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.nodes.java.MonitorIdNode a
        start local 1 // org.graalvm.compiler.nodes.java.MonitorIdNode b
         0: .line 1010
            aload 0 /* a */
            invokevirtual org.graalvm.compiler.nodes.java.MonitorIdNode.getLockDepth:()I
            aload 1 /* b */
            invokevirtual org.graalvm.compiler.nodes.java.MonitorIdNode.getLockDepth:()I
            invokestatic java.lang.Integer.compare:(II)I
            ireturn
        end local 1 // org.graalvm.compiler.nodes.java.MonitorIdNode b
        end local 0 // org.graalvm.compiler.nodes.java.MonitorIdNode a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     a  Lorg/graalvm/compiler/nodes/java/MonitorIdNode;
            0    1     1     b  Lorg/graalvm/compiler/nodes/java/MonitorIdNode;
}
SourceFile: "DefaultJavaLoweringProvider.java"
NestMembers:
  org.graalvm.compiler.replacements.DefaultJavaLoweringProvider$1  org.graalvm.compiler.replacements.DefaultJavaLoweringProvider$2  org.graalvm.compiler.replacements.DefaultJavaLoweringProvider$3
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public Speculation = jdk.vm.ci.meta.SpeculationLog$Speculation of jdk.vm.ci.meta.SpeculationLog
  public Options = org.graalvm.compiler.core.common.SpeculativeExecutionAttacksMitigations$Options of org.graalvm.compiler.core.common.SpeculativeExecutionAttacksMitigations
  public abstract IntegerConvertOp = org.graalvm.compiler.core.common.type.ArithmeticOpTable$IntegerConvertOp of org.graalvm.compiler.core.common.type.ArithmeticOpTable
  public abstract Narrow = org.graalvm.compiler.core.common.type.ArithmeticOpTable$IntegerConvertOp$Narrow of org.graalvm.compiler.core.common.type.ArithmeticOpTable$IntegerConvertOp
  public abstract ValueNumberable = org.graalvm.compiler.graph.Node$ValueNumberable of org.graalvm.compiler.graph.Node
  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.OnHeapMemoryAccess$BarrierType of org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess
  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 Templates = org.graalvm.compiler.replacements.BoxingSnippets$Templates of org.graalvm.compiler.replacements.BoxingSnippets
  public Templates = org.graalvm.compiler.replacements.ConstantStringIndexOfSnippets$Templates of org.graalvm.compiler.replacements.ConstantStringIndexOfSnippets
  org.graalvm.compiler.replacements.DefaultJavaLoweringProvider$1
  org.graalvm.compiler.replacements.DefaultJavaLoweringProvider$2
  org.graalvm.compiler.replacements.DefaultJavaLoweringProvider$3
  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
  SnippetCounterSnippets = org.graalvm.compiler.replacements.SnippetCounterNode$SnippetCounterSnippets of org.graalvm.compiler.replacements.SnippetCounterNode
  public Templates = org.graalvm.compiler.replacements.SnippetCounterNode$SnippetCounterSnippets$Templates of org.graalvm.compiler.replacements.SnippetCounterNode$SnippetCounterSnippets
  public abstract SnippetLowering = org.graalvm.compiler.replacements.SnippetLowerableMemoryNode$SnippetLowering of org.graalvm.compiler.replacements.SnippetLowerableMemoryNode
  public final BinaryOperation = org.graalvm.compiler.replacements.nodes.BinaryMathIntrinsicNode$BinaryOperation of org.graalvm.compiler.replacements.nodes.BinaryMathIntrinsicNode
  public final UnaryOperation = org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode$UnaryOperation of org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode