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 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

  private final jdk.vm.ci.meta.ResolvedJavaType objectArrayType;
    descriptor: Ljdk/vm/ci/meta/ResolvedJavaType;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  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 172
            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 442
            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, jdk.vm.ci.code.TargetDescription, boolean);
    descriptor: (Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;Ljdk/vm/ci/code/TargetDescription;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=5
        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 // jdk.vm.ci.code.TargetDescription target
        start local 4 // boolean useCompressedOops
         0: .line 183
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 184
            aload 0 /* this */
            aload 1 /* metaAccess */
            putfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.metaAccess:Ljdk/vm/ci/meta/MetaAccessProvider;
         2: .line 185
            aload 0 /* this */
            aload 2 /* foreignCalls */
            putfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.foreignCalls:Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;
         3: .line 186
            aload 0 /* this */
            aload 3 /* target */
            putfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.target:Ljdk/vm/ci/code/TargetDescription;
         4: .line 187
            aload 0 /* this */
            iload 4 /* useCompressedOops */
            putfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.useCompressedOops:Z
         5: .line 188
            aload 0 /* this */
            aload 1 /* metaAccess */
            ldc [Ljava/lang/Object;
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
            putfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.objectArrayType:Ljdk/vm/ci/meta/ResolvedJavaType;
         6: .line 189
            return
        end local 4 // boolean useCompressedOops
        end local 3 // jdk.vm.ci.code.TargetDescription target
        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    7     0               this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0    7     1         metaAccess  Ljdk/vm/ci/meta/MetaAccessProvider;
            0    7     2       foreignCalls  Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;
            0    7     3             target  Ljdk/vm/ci/code/TargetDescription;
            0    7     4  useCompressedOops  Z
    MethodParameters:
                   Name  Flags
      metaAccess         
      foreignCalls       
      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 192
            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 193
            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 194
            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
         3: .line 195
            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    4     0               this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0    4     1            options  Lorg/graalvm/compiler/options/OptionValues;
            0    4     2          factories  Ljava/lang/Iterable<Lorg/graalvm/compiler/debug/DebugHandlersFactory;>;
            0    4     3            factory  Lorg/graalvm/compiler/replacements/SnippetCounter$Group$Factory;
            0    4     4          providers  Lorg/graalvm/compiler/phases/util/Providers;
            0    4     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 198
            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 202
            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 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=4, locals=7, 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 208
            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 209
      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 210
            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 211
            aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.java.LoadFieldNode
            ifeq 7
         5: .line 212
            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 213
            goto 92
      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 214
            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 215
            goto 92
      StackMap locals:
      StackMap stack:
        10: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.java.LoadIndexedNode
            ifeq 13
        11: .line 216
            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 217
            goto 92
      StackMap locals:
      StackMap stack:
        13: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.java.StoreIndexedNode
            ifeq 16
        14: .line 218
            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 219
            goto 92
      StackMap locals:
      StackMap stack:
        16: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.memory.address.IndexAddressNode
            ifeq 19
        17: .line 220
            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 221
            goto 92
      StackMap locals:
      StackMap stack:
        19: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.java.ArrayLengthNode
            ifeq 22
        20: .line 222
            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 223
            goto 92
      StackMap locals:
      StackMap stack:
        22: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.extended.LoadHubNode
            ifeq 25
        23: .line 224
            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 225
            goto 92
      StackMap locals:
      StackMap stack:
        25: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.extended.LoadHubOrNullNode
            ifeq 28
        26: .line 226
            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 227
            goto 92
      StackMap locals:
      StackMap stack:
        28: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.extended.LoadArrayComponentHubNode
            ifeq 31
        29: .line 228
            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 229
            goto 92
      StackMap locals:
      StackMap stack:
        31: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.java.MonitorEnterNode
            ifeq 34
        32: .line 230
            aload 0 /* this */
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.java.MonitorEnterNode
            aload 2 /* tool */
            aload 3 /* graph */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.lowerMonitorEnterNode:(Lorg/graalvm/compiler/nodes/java/MonitorEnterNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;Lorg/graalvm/compiler/nodes/StructuredGraph;)V
        33: .line 231
            goto 92
      StackMap locals:
      StackMap stack:
        34: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.java.UnsafeCompareAndSwapNode
            ifeq 37
        35: .line 232
            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
        36: .line 233
            goto 92
      StackMap locals:
      StackMap stack:
        37: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.java.UnsafeCompareAndExchangeNode
            ifeq 40
        38: .line 234
            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
        39: .line 235
            goto 92
      StackMap locals:
      StackMap stack:
        40: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.java.AtomicReadAndWriteNode
            ifeq 43
        41: .line 236
            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
        42: .line 237
            goto 92
      StackMap locals:
      StackMap stack:
        43: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.extended.RawLoadNode
            ifeq 46
        44: .line 238
            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
        45: .line 239
            goto 92
      StackMap locals:
      StackMap stack:
        46: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.extended.UnsafeMemoryLoadNode
            ifeq 49
        47: .line 240
            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
        48: .line 241
            goto 92
      StackMap locals:
      StackMap stack:
        49: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.extended.RawStoreNode
            ifeq 52
        50: .line 242
            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
        51: .line 243
            goto 92
      StackMap locals:
      StackMap stack:
        52: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.extended.UnsafeMemoryStoreNode
            ifeq 55
        53: .line 244
            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
        54: .line 245
            goto 92
      StackMap locals:
      StackMap stack:
        55: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.extended.JavaReadNode
            ifeq 58
        56: .line 246
            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
        57: .line 247
            goto 92
      StackMap locals:
      StackMap stack:
        58: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.extended.JavaWriteNode
            ifeq 61
        59: .line 248
            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
        60: .line 249
            goto 92
      StackMap locals:
      StackMap stack:
        61: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.virtual.CommitAllocationNode
            ifeq 64
        62: .line 250
            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
        63: .line 251
            goto 92
      StackMap locals:
      StackMap stack:
        64: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.extended.BoxNode
            ifeq 67
        65: .line 252
            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
        66: .line 253
            goto 92
      StackMap locals:
      StackMap stack:
        67: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.extended.UnboxNode
            ifeq 70
        68: .line 254
            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
        69: .line 255
            goto 92
      StackMap locals:
      StackMap stack:
        70: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.debug.VerifyHeapNode
            ifeq 73
        71: .line 256
            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
        72: .line 257
            goto 92
      StackMap locals:
      StackMap stack:
        73: aload 1 /* n */
            instanceof org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode
            ifeq 76
        74: .line 258
            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
        75: .line 259
            goto 92
      StackMap locals:
      StackMap stack:
        76: aload 1 /* n */
            instanceof org.graalvm.compiler.replacements.nodes.BinaryMathIntrinsicNode
            ifeq 79
        77: .line 260
            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
        78: .line 261
            goto 92
      StackMap locals:
      StackMap stack:
        79: aload 1 /* n */
            instanceof org.graalvm.compiler.replacements.StringIndexOfNode
            ifeq 82
        80: .line 262
            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
        81: .line 263
            goto 92
      StackMap locals:
      StackMap stack:
        82: aload 1 /* n */
            instanceof org.graalvm.compiler.replacements.StringLatin1IndexOfNode
            ifeq 85
        83: .line 264
            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
        84: .line 265
            goto 92
      StackMap locals:
      StackMap stack:
        85: aload 1 /* n */
            instanceof org.graalvm.compiler.replacements.StringUTF16IndexOfNode
            ifeq 88
        86: .line 266
            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
        87: .line 267
            goto 92
      StackMap locals:
      StackMap stack:
        88: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.calc.UnpackEndianHalfNode
            ifeq 91
        89: .line 268
            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
        90: .line 269
            goto 92
        91: .line 270
      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
        92: .line 272
      StackMap locals:
      StackMap stack:
            aload 6 /* context */
            ifnull 98
            aload 6 /* context */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
            goto 98
      StackMap locals:
      StackMap stack: java.lang.Throwable
        93: astore 4
            aload 6 /* context */
            ifnull 94
            aload 6 /* context */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
        end local 6 // org.graalvm.compiler.debug.DebugCloseable context
      StackMap locals:
      StackMap stack:
        94: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        95: astore 5
            aload 4
            ifnonnull 96
            aload 5
            astore 4
            goto 97
      StackMap locals:
      StackMap stack:
        96: aload 4
            aload 5
            if_acmpeq 97
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        97: aload 4
            athrow
        98: .line 273
      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   99     0     this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0   99     1        n  Lorg/graalvm/compiler/graph/Node;
            0   99     2     tool  Lorg/graalvm/compiler/nodes/spi/LoweringTool;
            2   99     3    graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            4   94     6  context  Lorg/graalvm/compiler/debug/DebugCloseable;
      Exception table:
        from    to  target  type
           4    92      93  any
           3    95      95  any
    MethodParameters:
      Name  Flags
      n     
      tool  

  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 276
            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 277
            aload 1 /* n */
            aload 2 /* byteOrder */
            invokevirtual org.graalvm.compiler.nodes.calc.UnpackEndianHalfNode.lower:(Ljava/nio/ByteOrder;)V
         2: .line 278
            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 281
            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 282
            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 291
            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 292
            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 293
            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 295
      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 298
            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 299
            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 308
            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 309
            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 310
            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 312
      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 315
            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 316
            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 325
            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 326
            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 327
            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 329
      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 332
            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 333
            return
         2: .line 335
      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 336
            aload 3 /* method */
            ifnull 8
         4: .line 337
            aload 3 /* method */
            ldc Lorg/graalvm/compiler/api/replacements/Snippet;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            ifnull 6
         5: .line 340
            return
         6: .line 342
      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 345
            return
         8: .line 348
      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 349
            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.foreignCallDescriptor:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
            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/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
        10: .line 350
            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 351
            aload 1 /* math */
            aload 5 /* call */
            invokevirtual org.graalvm.compiler.replacements.nodes.BinaryMathIntrinsicNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
        12: .line 352
            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=9, 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 355
            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 356
            return
         2: .line 358
      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 359
            aload 3 /* method */
            ifnull 6
         4: .line 360
            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 363
            return
         6: .line 366
      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 367
            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.foreignCallDescriptor: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/ForeignCallsProvider;Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;[Lorg/graalvm/compiler/nodes/ValueNode;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.extended.ForeignCallNode
            astore 5 /* call */
        start local 5 // org.graalvm.compiler.nodes.extended.ForeignCallNode call
         8: .line 368
            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 369
            aload 1 /* math */
            aload 5 /* call */
            invokevirtual org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
        10: .line 370
            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 373
            aload 1 /* n */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.removeFixedWithUnusedInputs:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
         1: .line 374
            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     

  protected 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: (0x0004) ACC_PROTECTED
    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 377
            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 378
            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  

  protected 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: (0x0004) ACC_PROTECTED
    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 382
            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 383
            iload 4 /* offset */
            iflt 3
         2: .line 384
            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 386
      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   

  protected abstract jdk.vm.ci.meta.JavaKind getStorageKind(jdk.vm.ci.meta.ResolvedJavaField);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaField;)Ljdk/vm/ci/meta/JavaKind;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    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=8, locals=12, 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 393
            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 394
      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 395
            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 396
            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 397
            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 398
            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 400
            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 401
            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 403
      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 404
            aload 1 /* loadField */
            invokevirtual org.graalvm.compiler.nodes.java.LoadFieldNode.isVolatile:()Z
            ifeq 14
            getstatic org.graalvm.compiler.core.common.GraalOptions.LateMembars: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 14
        12: .line 405
            aload 3 /* graph */
            new org.graalvm.compiler.nodes.memory.VolatileReadNode
            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 0 /* this */
            aload 4 /* field */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.fieldLoadBarrierType:(Ljdk/vm/ci/meta/ResolvedJavaField;)Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            invokespecial org.graalvm.compiler.nodes.memory.VolatileReadNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.memory.ReadNode
            astore 8 /* memoryRead */
        13: .line 406
            goto 15
        14: .line 407
      StackMap locals: org.graalvm.compiler.nodes.memory.ReadNode
      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 0 /* this */
            aload 4 /* field */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.fieldLoadBarrierType:(Ljdk/vm/ci/meta/ResolvedJavaField;)Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            invokespecial org.graalvm.compiler.nodes.memory.ReadNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.memory.ReadNode
            astore 8 /* memoryRead */
        15: .line 409
      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 9 /* readValue */
        start local 9 // org.graalvm.compiler.nodes.ValueNode readValue
        16: .line 410
            aload 1 /* loadField */
            aload 9 /* readValue */
            invokevirtual org.graalvm.compiler.nodes.java.LoadFieldNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
        17: .line 411
            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
        18: .line 413
            aload 1 /* loadField */
            invokevirtual org.graalvm.compiler.nodes.java.LoadFieldNode.isVolatile:()Z
            ifeq 23
            getstatic org.graalvm.compiler.core.common.GraalOptions.LateMembars: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
            ifne 23
        19: .line 414
            aload 3 /* 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 10 /* preMembar */
        start local 10 // org.graalvm.compiler.nodes.extended.MembarNode preMembar
        20: .line 415
            aload 3 /* graph */
            aload 8 /* memoryRead */
            aload 10 /* preMembar */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addBeforeFixed:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
        21: .line 416
            aload 3 /* 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 11 /* postMembar */
        start local 11 // org.graalvm.compiler.nodes.extended.MembarNode postMembar
        22: .line 417
            aload 3 /* graph */
            aload 8 /* memoryRead */
            aload 11 /* postMembar */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addAfterFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedNode;)V
        end local 11 // org.graalvm.compiler.nodes.extended.MembarNode postMembar
        end local 10 // org.graalvm.compiler.nodes.extended.MembarNode preMembar
        23: .line 419
      StackMap locals: org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            return
        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 // 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   24     0        this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0   24     1   loadField  Lorg/graalvm/compiler/nodes/java/LoadFieldNode;
            0   24     2        tool  Lorg/graalvm/compiler/nodes/spi/LoweringTool;
            2   24     3       graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            3   24     4       field  Ljdk/vm/ci/meta/ResolvedJavaField;
            6   24     5      object  Lorg/graalvm/compiler/nodes/ValueNode;
            8   24     6   loadStamp  Lorg/graalvm/compiler/core/common/type/Stamp;
            9   24     7     address  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
           11   24     8  memoryRead  Lorg/graalvm/compiler/nodes/memory/ReadNode;
           16   24     9   readValue  Lorg/graalvm/compiler/nodes/ValueNode;
           20   23    10   preMembar  Lorg/graalvm/compiler/nodes/extended/MembarNode;
           22   23    11  postMembar  Lorg/graalvm/compiler/nodes/extended/MembarNode;
    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=8, locals=11, 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 422
            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 423
            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 424
            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 425
            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 426
            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 427
            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 428
            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 430
      StackMap locals: org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.memory.address.AddressNode
      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 0 /* this */
            aload 1 /* storeField */
            invokevirtual org.graalvm.compiler.nodes.java.StoreFieldNode.field:()Ljdk/vm/ci/meta/ResolvedJavaField;
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.fieldStoreBarrierType:(Ljdk/vm/ci/meta/ResolvedJavaField;)Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            aload 1 /* storeField */
            invokevirtual org.graalvm.compiler.nodes.java.StoreFieldNode.isVolatile:()Z
            invokespecial org.graalvm.compiler.nodes.memory.WriteNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;Z)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.memory.WriteNode
            astore 8 /* memoryWrite */
        start local 8 // org.graalvm.compiler.nodes.memory.WriteNode memoryWrite
        10: .line 431
            aload 8 /* 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
        11: .line 432
            aload 3 /* graph */
            aload 1 /* storeField */
            aload 8 /* memoryWrite */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
        12: .line 434
            aload 1 /* storeField */
            invokevirtual org.graalvm.compiler.nodes.java.StoreFieldNode.isVolatile:()Z
            ifeq 17
            getstatic org.graalvm.compiler.core.common.GraalOptions.LateMembars: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
            ifne 17
        13: .line 435
            aload 3 /* 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 9 /* preMembar */
        start local 9 // org.graalvm.compiler.nodes.extended.MembarNode preMembar
        14: .line 436
            aload 3 /* graph */
            aload 8 /* memoryWrite */
            aload 9 /* preMembar */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addBeforeFixed:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
        15: .line 437
            aload 3 /* 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 10 /* postMembar */
        start local 10 // org.graalvm.compiler.nodes.extended.MembarNode postMembar
        16: .line 438
            aload 3 /* graph */
            aload 8 /* memoryWrite */
            aload 10 /* postMembar */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addAfterFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedNode;)V
        end local 10 // org.graalvm.compiler.nodes.extended.MembarNode postMembar
        end local 9 // org.graalvm.compiler.nodes.extended.MembarNode preMembar
        17: .line 440
      StackMap locals: org.graalvm.compiler.nodes.memory.WriteNode
      StackMap stack:
            return
        end local 8 // org.graalvm.compiler.nodes.memory.WriteNode memoryWrite
        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  memoryWrite  Lorg/graalvm/compiler/nodes/memory/WriteNode;
           14   17     9    preMembar  Lorg/graalvm/compiler/nodes/extended/MembarNode;
           16   17    10   postMembar  Lorg/graalvm/compiler/nodes/extended/MembarNode;
    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 449
            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 450
            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 454
            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 459
            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 460
            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 461
            goto 5
        end local 6 // org.graalvm.compiler.nodes.ValueNode wordIndex
         3: .line 462
      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 463
      StackMap locals:
      StackMap stack:
            aload 5 /* index */
            astore 6 /* wordIndex */
        start local 6 // org.graalvm.compiler.nodes.ValueNode wordIndex
         5: .line 466
      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 467
            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 469
            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 470
            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 472
            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 476
            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 477
            aload 1 /* indexAddress */
            aload 2 /* lowered */
            invokevirtual org.graalvm.compiler.nodes.memory.address.IndexAddressNode.replaceAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
         2: .line 478
            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 481
            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 482
            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 483
            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 484
            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 485
            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 487
            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 488
            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 489
            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 490
            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 492
      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 494
            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.HeapAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            invokespecial org.graalvm.compiler.nodes.memory.ReadNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.memory.ReadNode
            astore 10 /* memoryRead */
        start local 10 // org.graalvm.compiler.nodes.memory.ReadNode memoryRead
        11: .line 495
            aload 10 /* memoryRead */
            aload 7 /* boundsCheck */
            invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.setGuard:(Lorg/graalvm/compiler/nodes/extended/GuardingNode;)V
        12: .line 496
            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 498
            aload 1 /* loadIndexed */
            aload 11 /* readValue */
            invokevirtual org.graalvm.compiler.nodes.java.LoadIndexedNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
        14: .line 499
            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 500
            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 503
            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 505
            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 506
            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 508
            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 510
            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 512
            aload 1 /* storeIndexed */
            invokevirtual org.graalvm.compiler.nodes.java.StoreIndexedNode.elementKind:()Ljdk/vm/ci/meta/JavaKind;
            astore 7 /* elementKind */
        start local 7 // jdk.vm.ci.meta.JavaKind elementKind
         6: .line 514
            aconst_null
            astore 8 /* condition */
        start local 8 // org.graalvm.compiler.nodes.LogicNode condition
         7: .line 515
            aload 1 /* storeIndexed */
            invokevirtual org.graalvm.compiler.nodes.java.StoreIndexedNode.getStoreCheck:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            ifnonnull 20
            aload 7 /* elementKind */
            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 517
            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 518
            aload 9 /* arrayType */
            ifnull 16
            aload 9 /* arrayType */
            invokevirtual org.graalvm.compiler.core.common.type.TypeReference.isExact:()Z
            ifeq 16
        10: .line 519
            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 520
            aload 10 /* elementType */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isJavaLangObject:()Z
            ifne 20
        12: .line 521
            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 522
            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 523
            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 525
            goto 20
        16: .line 530
      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 531
            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 532
            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 533
            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 537
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* graph */
            aload 5 /* array */
            aload 7 /* elementKind */
            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 9 /* address */
        start local 9 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        21: .line 538
            aload 3 /* graph */
            new org.graalvm.compiler.nodes.memory.WriteNode
            dup
            aload 9 /* address */
            aload 7 /* elementKind */
            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 /* elementKind */
            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;
        22: .line 539
            aload 0 /* this */
            aload 1 /* storeIndexed */
            invokevirtual org.graalvm.compiler.nodes.java.StoreIndexedNode.elementKind:()Ljdk/vm/ci/meta/JavaKind;
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.arrayStoreBarrierType:(Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            iconst_0
            invokespecial org.graalvm.compiler.nodes.memory.WriteNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;Z)V
        23: .line 538
            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 10 /* memoryWrite */
        start local 10 // org.graalvm.compiler.nodes.memory.WriteNode memoryWrite
        24: .line 540
            aload 10 /* memoryWrite */
            aload 6 /* boundsCheck */
            invokevirtual org.graalvm.compiler.nodes.memory.WriteNode.setGuard:(Lorg/graalvm/compiler/nodes/extended/GuardingNode;)V
        25: .line 541
            aload 8 /* condition */
            ifnull 27
        26: .line 542
            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
        27: .line 544
      StackMap locals: org.graalvm.compiler.nodes.memory.address.AddressNode org.graalvm.compiler.nodes.memory.WriteNode
      StackMap stack:
            aload 10 /* 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
        28: .line 545
            aload 3 /* graph */
            aload 1 /* storeIndexed */
            aload 10 /* memoryWrite */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
        29: .line 546
            return
        end local 10 // org.graalvm.compiler.nodes.memory.WriteNode memoryWrite
        end local 9 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        end local 8 // org.graalvm.compiler.nodes.LogicNode condition
        end local 7 // jdk.vm.ci.meta.JavaKind elementKind
        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   30     0           this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0   30     1   storeIndexed  Lorg/graalvm/compiler/nodes/java/StoreIndexedNode;
            0   30     2           tool  Lorg/graalvm/compiler/nodes/spi/LoweringTool;
            1   30     3          graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            2   30     4          value  Lorg/graalvm/compiler/nodes/ValueNode;
            3   30     5          array  Lorg/graalvm/compiler/nodes/ValueNode;
            5   30     6    boundsCheck  Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            6   30     7    elementKind  Ljdk/vm/ci/meta/JavaKind;
            7   30     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   30     9        address  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
           24   30    10    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 549
            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 550
            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 551
            aload 3 /* graph */
            aload 1 /* arrayLengthNode */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.removeFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
         3: .line 552
            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 560
            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 561
            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 562
            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 563
            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.HeapAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            invokespecial org.graalvm.compiler.nodes.memory.ReadNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.memory.ReadNode
            astore 7 /* readArrayLength */
        start local 7 // org.graalvm.compiler.nodes.memory.ReadNode readArrayLength
         4: .line 564
            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 565
            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 569
            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 570
            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 571
            return
         3: .line 573
      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 574
            return
         5: .line 576
      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 577
            aload 1 /* loadHub */
            aload 4 /* hub */
            invokevirtual org.graalvm.compiler.nodes.extended.LoadHubNode.replaceAtUsagesAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
         7: .line 578
            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 581
            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 582
            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 583
            return
         3: .line 585
      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 586
            return
         5: .line 588
      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 589
            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 590
            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 591
            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 592
            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 593
            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 594
            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 595
            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 596
            aload 11 /* merge */
            aload 8 /* trueEnd */
            invokevirtual org.graalvm.compiler.nodes.MergeNode.addForwardEnd:(Lorg/graalvm/compiler/nodes/EndNode;)V
        14: .line 597
            aload 11 /* merge */
            aload 9 /* falseEnd */
            invokevirtual org.graalvm.compiler.nodes.MergeNode.addForwardEnd:(Lorg/graalvm/compiler/nodes/EndNode;)V
        15: .line 598
            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 599
            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 600
            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 601
            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 602
            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 603
            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 604
            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 605
            aload 4 /* predecessor */
            aload 10 /* ifNode */
            invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
        23: .line 606
            aload 11 /* merge */
            aload 18 /* oldNext */
            invokevirtual org.graalvm.compiler.nodes.MergeNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
        24: .line 607
            aload 1 /* loadHubOrNullNode */
            aload 17 /* hubPhi */
            invokevirtual org.graalvm.compiler.nodes.extended.LoadHubOrNullNode.replaceAtUsagesAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
        25: .line 608
            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 611
            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 612
            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 613
            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 614
            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 lowerMonitorEnterNode(org.graalvm.compiler.nodes.java.MonitorEnterNode, org.graalvm.compiler.nodes.spi.LoweringTool, org.graalvm.compiler.nodes.StructuredGraph);
    descriptor: (Lorg/graalvm/compiler/nodes/java/MonitorEnterNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;Lorg/graalvm/compiler/nodes/StructuredGraph;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=7, args_size=4
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // org.graalvm.compiler.nodes.java.MonitorEnterNode monitorEnter
        start local 2 // org.graalvm.compiler.nodes.spi.LoweringTool tool
        start local 3 // org.graalvm.compiler.nodes.StructuredGraph graph
         0: .line 617
            aload 0 /* this */
            aload 1 /* monitorEnter */
            invokevirtual org.graalvm.compiler.nodes.java.MonitorEnterNode.object:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 1 /* monitorEnter */
            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 /* object */
        start local 4 // org.graalvm.compiler.nodes.ValueNode object
         1: .line 618
            aload 3 /* graph */
            aload 4 /* object */
            aload 2 /* tool */
            invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.getStampProvider:()Lorg/graalvm/compiler/nodes/spi/StampProvider;
            aload 2 /* tool */
            invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.getMetaAccess:()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.nodes.extended.LoadHubNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/spi/StampProvider;Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/meta/ConstantReflectionProvider;)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 5 /* hub */
        start local 5 // org.graalvm.compiler.nodes.ValueNode hub
         2: .line 619
            aload 3 /* graph */
            new org.graalvm.compiler.nodes.java.RawMonitorEnterNode
            dup
            aload 4 /* object */
            aload 5 /* hub */
            aload 1 /* monitorEnter */
            invokevirtual org.graalvm.compiler.nodes.java.MonitorEnterNode.getMonitorId:()Lorg/graalvm/compiler/nodes/java/MonitorIdNode;
            invokespecial org.graalvm.compiler.nodes.java.RawMonitorEnterNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;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.RawMonitorEnterNode
            astore 6 /* rawMonitorEnter */
        start local 6 // org.graalvm.compiler.nodes.java.RawMonitorEnterNode rawMonitorEnter
         3: .line 620
            aload 6 /* rawMonitorEnter */
            aload 1 /* monitorEnter */
            invokevirtual org.graalvm.compiler.nodes.java.MonitorEnterNode.stateBefore:()Lorg/graalvm/compiler/nodes/FrameState;
            invokevirtual org.graalvm.compiler.nodes.java.RawMonitorEnterNode.setStateBefore:(Lorg/graalvm/compiler/nodes/FrameState;)V
         4: .line 621
            aload 6 /* rawMonitorEnter */
            aload 1 /* monitorEnter */
            invokevirtual org.graalvm.compiler.nodes.java.MonitorEnterNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
            invokevirtual org.graalvm.compiler.nodes.java.RawMonitorEnterNode.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
         5: .line 622
            aload 3 /* graph */
            aload 1 /* monitorEnter */
            aload 6 /* rawMonitorEnter */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
         6: .line 623
            return
        end local 6 // org.graalvm.compiler.nodes.java.RawMonitorEnterNode rawMonitorEnter
        end local 5 // org.graalvm.compiler.nodes.ValueNode hub
        end local 4 // org.graalvm.compiler.nodes.ValueNode object
        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.MonitorEnterNode monitorEnter
        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     monitorEnter  Lorg/graalvm/compiler/nodes/java/MonitorEnterNode;
            0    7     2             tool  Lorg/graalvm/compiler/nodes/spi/LoweringTool;
            0    7     3            graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            1    7     4           object  Lorg/graalvm/compiler/nodes/ValueNode;
            2    7     5              hub  Lorg/graalvm/compiler/nodes/ValueNode;
            3    7     6  rawMonitorEnter  Lorg/graalvm/compiler/nodes/java/RawMonitorEnterNode;
    MethodParameters:
              Name  Flags
      monitorEnter  
      tool          
      graph         

  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 626
            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 627
            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 629
            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 630
            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 632
            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 633
            aload 0 /* this */
            aload 1 /* cas */
            invokevirtual org.graalvm.compiler.nodes.java.UnsafeCompareAndSwapNode.object:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 4 /* expectedValue */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.guessStoreBarrierType:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            astore 7 /* barrierType */
        start local 7 // org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType barrierType
         6: .line 634
            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/HeapAccess$BarrierType;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.java.LogicCompareAndSwapNode
            astore 8 /* atomicNode */
        start local 8 // org.graalvm.compiler.nodes.java.LogicCompareAndSwapNode atomicNode
         7: .line 635
            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 636
            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 637
            return
        end local 8 // org.graalvm.compiler.nodes.java.LogicCompareAndSwapNode atomicNode
        end local 7 // org.graalvm.compiler.nodes.memory.HeapAccess$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/HeapAccess$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 640
            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 641
            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 643
            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 644
            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 646
            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 647
            aload 0 /* this */
            aload 1 /* cas */
            invokevirtual org.graalvm.compiler.nodes.java.UnsafeCompareAndExchangeNode.object:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 4 /* expectedValue */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.guessStoreBarrierType:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            astore 7 /* barrierType */
        start local 7 // org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType barrierType
         6: .line 648
            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/HeapAccess$BarrierType;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.java.ValueCompareAndSwapNode
            astore 8 /* atomicNode */
        start local 8 // org.graalvm.compiler.nodes.java.ValueCompareAndSwapNode atomicNode
         7: .line 649
            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 650
            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 651
            aload 1 /* cas */
            aload 9 /* coercedNode */
            invokevirtual org.graalvm.compiler.nodes.java.UnsafeCompareAndExchangeNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
        10: .line 652
            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 653
            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.HeapAccess$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/HeapAccess$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 656
            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 657
            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 659
            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 661
            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 662
            aload 0 /* this */
            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.newValue:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.guessStoreBarrierType:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            astore 6 /* barrierType */
        start local 6 // org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType barrierType
         5: .line 663
            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 664
            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/HeapAccess$BarrierType;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.java.LoweredAtomicReadAndWriteNode
            astore 8 /* memoryRead */
        start local 8 // org.graalvm.compiler.nodes.java.LoweredAtomicReadAndWriteNode memoryRead
         7: .line 665
            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 667
            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 668
            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 669
            aload 1 /* n */
            aload 9 /* readValue */
            invokevirtual org.graalvm.compiler.nodes.java.AtomicReadAndWriteNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
        11: .line 670
            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 671
            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.HeapAccess$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/HeapAccess$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=5, locals=8, 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 677
            aload 2 /* tool */
            invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.getProviders:()Lorg/graalvm/compiler/nodes/spi/CoreProviders;
            invokeinterface org.graalvm.compiler.nodes.spi.CoreProviders.getGC:()Lorg/graalvm/compiler/nodes/spi/GCProvider;
            astore 3 /* gc */
        start local 3 // org.graalvm.compiler.nodes.spi.GCProvider gc
         1: .line 678
            aload 1 /* load */
            invokevirtual org.graalvm.compiler.nodes.extended.RawLoadNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 4 /* graph */
        start local 4 // org.graalvm.compiler.nodes.StructuredGraph graph
         2: .line 679
            aload 1 /* load */
            instanceof org.graalvm.compiler.nodes.extended.GuardedUnsafeLoadNode
            ifeq 13
         3: .line 680
            aload 1 /* load */
            checkcast org.graalvm.compiler.nodes.extended.GuardedUnsafeLoadNode
            astore 5 /* guardedLoad */
        start local 5 // org.graalvm.compiler.nodes.extended.GuardedUnsafeLoadNode guardedLoad
         4: .line 681
            aload 5 /* guardedLoad */
            invokevirtual org.graalvm.compiler.nodes.extended.GuardedUnsafeLoadNode.getGuard:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            astore 6 /* guard */
        start local 6 // org.graalvm.compiler.nodes.extended.GuardingNode guard
         5: .line 682
            aload 6 /* guard */
            ifnonnull 10
         6: .line 684
            aload 0 /* this */
            aload 3 /* gc */
            aload 4 /* graph */
            aload 1 /* load */
            aconst_null
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createUnsafeRead:(Lorg/graalvm/compiler/nodes/spi/GCProvider;Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/extended/RawLoadNode;Lorg/graalvm/compiler/nodes/extended/GuardingNode;)Lorg/graalvm/compiler/nodes/memory/ReadNode;
            astore 7 /* memoryRead */
        start local 7 // org.graalvm.compiler.nodes.memory.ReadNode memoryRead
         7: .line 685
            aload 7 /* memoryRead */
            iconst_0
            invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.setForceFixed:(Z)V
         8: .line 686
            aload 4 /* graph */
            aload 1 /* load */
            aload 7 /* memoryRead */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
        end local 7 // org.graalvm.compiler.nodes.memory.ReadNode memoryRead
         9: .line 687
            goto 15
        10: .line 689
      StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.extended.RawLoadNode org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.spi.GCProvider org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.extended.GuardedUnsafeLoadNode org.graalvm.compiler.nodes.extended.GuardingNode
      StackMap stack:
            aload 0 /* this */
            aload 3 /* gc */
            aload 4 /* graph */
            aload 1 /* load */
            aload 6 /* guard */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createUnsafeRead:(Lorg/graalvm/compiler/nodes/spi/GCProvider;Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/extended/RawLoadNode;Lorg/graalvm/compiler/nodes/extended/GuardingNode;)Lorg/graalvm/compiler/nodes/memory/ReadNode;
            astore 7 /* memoryRead */
        start local 7 // org.graalvm.compiler.nodes.memory.ReadNode memoryRead
        11: .line 690
            aload 4 /* graph */
            aload 1 /* load */
            aload 7 /* memoryRead */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
        end local 7 // org.graalvm.compiler.nodes.memory.ReadNode memoryRead
        end local 6 // org.graalvm.compiler.nodes.extended.GuardingNode guard
        end local 5 // org.graalvm.compiler.nodes.extended.GuardedUnsafeLoadNode guardedLoad
        12: .line 692
            goto 15
        13: .line 695
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* gc */
            aload 4 /* graph */
            aload 1 /* load */
            aconst_null
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createUnsafeRead:(Lorg/graalvm/compiler/nodes/spi/GCProvider;Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/extended/RawLoadNode;Lorg/graalvm/compiler/nodes/extended/GuardingNode;)Lorg/graalvm/compiler/nodes/memory/ReadNode;
            astore 5 /* memoryRead */
        start local 5 // org.graalvm.compiler.nodes.memory.ReadNode memoryRead
        14: .line 696
            aload 4 /* graph */
            aload 1 /* load */
            aload 5 /* memoryRead */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
        end local 5 // org.graalvm.compiler.nodes.memory.ReadNode memoryRead
        15: .line 698
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 3 // org.graalvm.compiler.nodes.spi.GCProvider gc
        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   16     0         this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0   16     1         load  Lorg/graalvm/compiler/nodes/extended/RawLoadNode;
            0   16     2         tool  Lorg/graalvm/compiler/nodes/spi/LoweringTool;
            1   16     3           gc  Lorg/graalvm/compiler/nodes/spi/GCProvider;
            2   16     4        graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            4   12     5  guardedLoad  Lorg/graalvm/compiler/nodes/extended/GuardedUnsafeLoadNode;
            5   12     6        guard  Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            7    9     7   memoryRead  Lorg/graalvm/compiler/nodes/memory/ReadNode;
           11   12     7   memoryRead  Lorg/graalvm/compiler/nodes/memory/ReadNode;
           14   15     5   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 701
            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 702
            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 704
      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.spi.GCProvider, org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.nodes.extended.RawLoadNode, org.graalvm.compiler.nodes.extended.GuardingNode);
    descriptor: (Lorg/graalvm/compiler/nodes/spi/GCProvider;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=8, locals=11, args_size=5
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // org.graalvm.compiler.nodes.spi.GCProvider gc
        start local 2 // org.graalvm.compiler.nodes.StructuredGraph graph
        start local 3 // org.graalvm.compiler.nodes.extended.RawLoadNode load
        start local 4 // org.graalvm.compiler.nodes.extended.GuardingNode guard
         0: .line 709
            aload 3 /* 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 5 /* compressible */
        start local 5 // boolean compressible
         3: .line 710
            aload 3 /* load */
            invokevirtual org.graalvm.compiler.nodes.extended.RawLoadNode.accessKind:()Ljdk/vm/ci/meta/JavaKind;
            astore 6 /* readKind */
        start local 6 // jdk.vm.ci.meta.JavaKind readKind
         4: .line 711
            aload 0 /* this */
            aload 3 /* 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 6 /* readKind */
            iload 5 /* 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 7 /* loadStamp */
        start local 7 // org.graalvm.compiler.core.common.type.Stamp loadStamp
         5: .line 712
            aload 0 /* this */
            aload 2 /* graph */
            aload 3 /* load */
            invokevirtual org.graalvm.compiler.nodes.extended.RawLoadNode.object:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 3 /* 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 8 /* address */
        start local 8 // org.graalvm.compiler.nodes.memory.address.AddressNode address
         6: .line 713
            aload 2 /* graph */
            new org.graalvm.compiler.nodes.memory.ReadNode
            dup
            aload 8 /* address */
            aload 3 /* load */
            invokevirtual org.graalvm.compiler.nodes.extended.RawLoadNode.getLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
            aload 7 /* loadStamp */
            aload 1 /* gc */
            invokeinterface org.graalvm.compiler.nodes.spi.GCProvider.getBarrierSet:()Lorg/graalvm/compiler/nodes/gc/BarrierSet;
            aload 3 /* load */
            invokeinterface org.graalvm.compiler.nodes.gc.BarrierSet.readBarrierType:(Lorg/graalvm/compiler/nodes/extended/RawLoadNode;)Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            invokespecial org.graalvm.compiler.nodes.memory.ReadNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.memory.ReadNode
            astore 9 /* memoryRead */
        start local 9 // org.graalvm.compiler.nodes.memory.ReadNode memoryRead
         7: .line 714
            aload 4 /* guard */
            ifnonnull 10
         8: .line 717
            aload 9 /* memoryRead */
            iconst_1
            invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.setForceFixed:(Z)V
         9: .line 718
            goto 11
        10: .line 719
      StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.spi.GCProvider 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:
            aload 9 /* memoryRead */
            aload 4 /* guard */
            invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.setGuard:(Lorg/graalvm/compiler/nodes/extended/GuardingNode;)V
        11: .line 721
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* graph */
            aload 6 /* readKind */
            aload 9 /* memoryRead */
            iload 5 /* 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 6 /* readKind */
            invokestatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.performBooleanCoercionIfNecessary:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 10 /* readValue */
        start local 10 // org.graalvm.compiler.nodes.ValueNode readValue
        12: .line 722
            aload 3 /* load */
            aload 10 /* readValue */
            invokevirtual org.graalvm.compiler.nodes.extended.RawLoadNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
        13: .line 723
            aload 9 /* memoryRead */
            areturn
        end local 10 // org.graalvm.compiler.nodes.ValueNode readValue
        end local 9 // org.graalvm.compiler.nodes.memory.ReadNode memoryRead
        end local 8 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        end local 7 // org.graalvm.compiler.core.common.type.Stamp loadStamp
        end local 6 // jdk.vm.ci.meta.JavaKind readKind
        end local 5 // boolean compressible
        end local 4 // org.graalvm.compiler.nodes.extended.GuardingNode guard
        end local 3 // org.graalvm.compiler.nodes.extended.RawLoadNode load
        end local 2 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 1 // org.graalvm.compiler.nodes.spi.GCProvider gc
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   14     0          this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0   14     1            gc  Lorg/graalvm/compiler/nodes/spi/GCProvider;
            0   14     2         graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0   14     3          load  Lorg/graalvm/compiler/nodes/extended/RawLoadNode;
            0   14     4         guard  Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            3   14     5  compressible  Z
            4   14     6      readKind  Ljdk/vm/ci/meta/JavaKind;
            5   14     7     loadStamp  Lorg/graalvm/compiler/core/common/type/Stamp;
            6   14     8       address  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            7   14     9    memoryRead  Lorg/graalvm/compiler/nodes/memory/ReadNode;
           12   14    10     readValue  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
       Name  Flags
      gc     
      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 727
            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 728
            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 729
            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 730
      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 731
            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 732
            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.HeapAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            invokespecial org.graalvm.compiler.nodes.memory.ReadNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.memory.ReadNode
            astore 6 /* memoryRead */
        start local 6 // org.graalvm.compiler.nodes.memory.ReadNode memoryRead
         6: .line 735
            aload 6 /* memoryRead */
            iconst_1
            invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.setForceFixed:(Z)V
         7: .line 736
            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 737
            aload 1 /* load */
            aload 7 /* readValue */
            invokevirtual org.graalvm.compiler.nodes.extended.UnsafeMemoryLoadNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
         9: .line 738
            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 739
            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 742
            aload 1 /* readKind */
            getstatic jdk.vm.ci.meta.JavaKind.Boolean:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 4
         1: .line 743
            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 744
            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 745
            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 747
      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=8, 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 751
            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 752
            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 753
            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 754
            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 755
            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 756
            aload 2 /* graph */
            new org.graalvm.compiler.nodes.memory.WriteNode
            dup
            aload 6 /* address */
            aload 1 /* store */
            invokevirtual org.graalvm.compiler.nodes.extended.RawStoreNode.getKilledLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
            aload 5 /* value */
            aload 0 /* this */
            aload 1 /* store */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.unsafeStoreBarrierType:(Lorg/graalvm/compiler/nodes/extended/RawStoreNode;)Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            iconst_0
            invokespecial org.graalvm.compiler.nodes.memory.WriteNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;Z)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.memory.WriteNode
            astore 7 /* write */
        start local 7 // org.graalvm.compiler.nodes.memory.WriteNode write
         8: .line 757
            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
         9: .line 758
            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
        10: .line 759
            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   11     0          this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0   11     1         store  Lorg/graalvm/compiler/nodes/extended/RawStoreNode;
            1   11     2         graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            4   11     3  compressible  Z
            5   11     4     valueKind  Ljdk/vm/ci/meta/JavaKind;
            6   11     5         value  Lorg/graalvm/compiler/nodes/ValueNode;
            7   11     6       address  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            8   11     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=8, 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 762
            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 763
            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 764
      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 765
            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 766
            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 767
            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.HeapAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            iconst_0
            invokespecial org.graalvm.compiler.nodes.memory.WriteNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;Z)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.memory.WriteNode
            astore 6 /* write */
        start local 6 // org.graalvm.compiler.nodes.memory.WriteNode write
         6: .line 768
            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 769
            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 770
            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 773
            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 774
            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 775
            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 777
            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/HeapAccess$BarrierType;
            invokespecial org.graalvm.compiler.nodes.memory.ReadNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.memory.ReadNode
            astore 5 /* memoryRead */
        start local 5 // org.graalvm.compiler.nodes.memory.ReadNode memoryRead
         4: .line 778
            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 779
            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 780
            aload 6 /* guard */
            ifnonnull 9
         7: .line 783
            aload 5 /* memoryRead */
            iconst_1
            invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.setForceFixed:(Z)V
         8: .line 784
            goto 10
         9: .line 785
      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 787
      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 788
            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 789
            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=8, 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 792
            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 793
            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 794
            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/HeapAccess$BarrierType;
            iconst_0
            invokespecial org.graalvm.compiler.nodes.memory.WriteNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;Z)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.memory.WriteNode
            astore 4 /* memoryWrite */
        start local 4 // org.graalvm.compiler.nodes.memory.WriteNode memoryWrite
         3: .line 795
            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
         4: .line 796
            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
         5: .line 797
            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
         6: .line 798
            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    7     0         this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0    7     1        write  Lorg/graalvm/compiler/nodes/extended/JavaWriteNode;
            1    7     2        graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            2    7     3        value  Lorg/graalvm/compiler/nodes/ValueNode;
            3    7     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=8, 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 802
            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 803
            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 103
         2: .line 804
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* recursiveLowerings */
        start local 4 // java.util.List recursiveLowerings
         3: .line 806
            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 807
            new java.util.BitSet
            dup
            invokespecial java.util.BitSet.<init>:()V
            astore 6 /* omittedValues */
        start local 6 // java.util.BitSet omittedValues
         5: .line 808
            iconst_0
            istore 7 /* valuePos */
        start local 7 // int valuePos
         6: .line 809
            iconst_0
            istore 8 /* objIndex */
        start local 8 // int objIndex
         7: goto 58
         8: .line 810
      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 811
            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 812
            aload 9 /* virtual */
            invokevirtual org.graalvm.compiler.nodes.virtual.VirtualObjectNode.entryCount:()I
            istore 13 /* entryCount */
        start local 13 // int entryCount
        12: .line 814
            aload 9 /* virtual */
            instanceof org.graalvm.compiler.nodes.virtual.VirtualInstanceNode
            ifeq 15
        13: .line 815
            aload 3 /* graph */
            aload 0 /* this */
            aload 9 /* virtual */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createNewInstanceFromVirtual:(Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;)Lorg/graalvm/compiler/nodes/java/NewInstanceNode;
            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 816
            goto 16
        end local 14 // org.graalvm.compiler.nodes.java.AbstractNewObjectNode newObject
        15: .line 817
      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:
            aload 3 /* graph */
            aload 0 /* this */
            aload 9 /* virtual */
            iload 13 /* entryCount */
            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.createNewArrayFromVirtual:(Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/java/NewArrayNode;
            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
        16: .line 820
      StackMap locals: org.graalvm.compiler.nodes.java.AbstractNewObjectNode
      StackMap stack:
            aload 14 /* newObject */
            invokevirtual org.graalvm.compiler.nodes.java.AbstractNewObjectNode.clearEmitMemoryBarrier:()V
        17: .line 822
            aload 4 /* recursiveLowerings */
            aload 14 /* newObject */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        18: .line 823
            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
        19: .line 824
            aload 5 /* allocations */
            iload 8 /* objIndex */
            aload 14 /* newObject */
            aastore
        20: .line 825
            iconst_0
            istore 15 /* i */
        start local 15 // int i
        21: goto 50
        22: .line 826
      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
        23: .line 827
            aload 16 /* value */
            instanceof org.graalvm.compiler.nodes.virtual.VirtualObjectNode
            ifeq 25
        24: .line 828
            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 */
        25: .line 830
      StackMap locals: org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 16 /* value */
            ifnonnull 28
        26: .line 831
            aload 6 /* omittedValues */
            iload 7 /* valuePos */
            invokevirtual java.util.BitSet.set:(I)V
        27: .line 832
            goto 48
      StackMap locals:
      StackMap stack:
        28: aload 16 /* value */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifeq 29
            aload 16 /* value */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.asConstant:()Ljdk/vm/ci/meta/Constant;
            invokeinterface jdk.vm.ci.meta.Constant.isDefaultForKind:()Z
            ifne 48
        29: .line 834
      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
        30: .line 835
            aload 9 /* virtual */
            iload 15 /* i */
            invokevirtual org.graalvm.compiler.nodes.virtual.VirtualObjectNode.entryKind:(I)Ljdk/vm/ci/meta/JavaKind;
            astore 18 /* entryKind */
        start local 18 // jdk.vm.ci.meta.JavaKind entryKind
        31: .line 838
            getstatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.$assertionsDisabled:Z
            ifne 34
            aload 17 /* valueKind */
            invokevirtual jdk.vm.ci.meta.JavaKind.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
            aload 18 /* entryKind */
            invokevirtual jdk.vm.ci.meta.JavaKind.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
            if_acmpeq 34
        32: .line 839
            aload 17 /* valueKind */
            getstatic jdk.vm.ci.meta.JavaKind.Long:Ljdk/vm/ci/meta/JavaKind;
            if_acmpeq 34
            aload 17 /* valueKind */
            getstatic jdk.vm.ci.meta.JavaKind.Double:Ljdk/vm/ci/meta/JavaKind;
            if_acmpeq 34
            aload 17 /* valueKind */
            getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 33
            aload 9 /* virtual */
            instanceof org.graalvm.compiler.nodes.virtual.VirtualArrayNode
            ifne 34
      StackMap locals: jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.JavaKind
      StackMap stack:
        33: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        34: .line 840
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 19 /* address */
        start local 19 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        35: .line 841
            aconst_null
            astore 20 /* barrierType */
        start local 20 // org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType barrierType
        36: .line 842
            aload 9 /* virtual */
            instanceof org.graalvm.compiler.nodes.virtual.VirtualInstanceNode
            ifeq 43
        37: .line 843
            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
        38: .line 844
            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
        39: .line 845
            lload 22 /* offset */
            lconst_0
            lcmp
            iflt 45
        40: .line 846
            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 */
        41: .line 847
            aload 0 /* this */
            aload 18 /* entryKind */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.fieldInitializationBarrier:(Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            astore 20 /* barrierType */
        end local 22 // long offset
        end local 21 // jdk.vm.ci.meta.ResolvedJavaField field
        42: .line 849
            goto 45
        43: .line 850
      StackMap locals: org.graalvm.compiler.nodes.memory.address.AddressNode org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType
      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 /* entryKind */
            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 /* entryKind */
            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 */
        44: .line 851
            aload 0 /* this */
            aload 18 /* entryKind */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.arrayInitializationBarrier:(Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            astore 20 /* barrierType */
        45: .line 853
      StackMap locals:
      StackMap stack:
            aload 19 /* address */
            ifnull 48
        46: .line 854
            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 /* entryKind */
            aload 16 /* 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;
            aload 20 /* barrierType */
            iconst_0
            invokespecial org.graalvm.compiler.nodes.memory.WriteNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;Z)V
            astore 21 /* write */
        start local 21 // org.graalvm.compiler.nodes.memory.WriteNode write
        47: .line 855
            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.HeapAccess$BarrierType barrierType
        end local 19 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        end local 18 // jdk.vm.ci.meta.JavaKind entryKind
        end local 17 // jdk.vm.ci.meta.JavaKind valueKind
        48: .line 858
      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
        49: .line 825
            iinc 15 /* i */ 1
      StackMap locals:
      StackMap stack:
        50: iload 15 /* i */
            iload 13 /* entryCount */
            if_icmplt 22
        end local 15 // int i
        end local 14 // org.graalvm.compiler.nodes.java.AbstractNewObjectNode newObject
        end local 13 // int entryCount
        51: .line 860
            aload 12 /* nsp */
            ifnull 57
            aload 12 /* nsp */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
            goto 57
      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
        52: astore 10
            aload 12 /* nsp */
            ifnull 53
            aload 12 /* nsp */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
        end local 12 // org.graalvm.compiler.debug.DebugCloseable nsp
      StackMap locals:
      StackMap stack:
        53: aload 10
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        54: astore 11
            aload 10
            ifnonnull 55
            aload 11
            astore 10
            goto 56
      StackMap locals:
      StackMap stack:
        55: aload 10
            aload 11
            if_acmpeq 56
            aload 10
            aload 11
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        56: aload 10
            athrow
        end local 9 // org.graalvm.compiler.nodes.virtual.VirtualObjectNode virtual
        57: .line 809
      StackMap locals:
      StackMap stack:
            iinc 8 /* objIndex */ 1
      StackMap locals:
      StackMap stack:
        58: 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
        59: .line 862
            iconst_0
            istore 7 /* valuePos */
        60: .line 864
            iconst_0
            istore 8 /* objIndex */
        start local 8 // int objIndex
        61: goto 96
        62: .line 865
      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
        63: .line 866
            aconst_null
            astore 10
            aconst_null
            astore 11
        64: 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
        65: .line 867
            aload 9 /* virtual */
            invokevirtual org.graalvm.compiler.nodes.virtual.VirtualObjectNode.entryCount:()I
            istore 13 /* entryCount */
        start local 13 // int entryCount
        66: .line 868
            aload 5 /* allocations */
            iload 8 /* objIndex */
            aaload
            astore 14 /* newObject */
        start local 14 // org.graalvm.compiler.nodes.ValueNode newObject
        67: .line 869
            iconst_0
            istore 15 /* i */
        start local 15 // int i
        68: goto 88
        69: .line 870
      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 86
        70: .line 871
            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
        71: .line 872
            getstatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.$assertionsDisabled:Z
            ifne 72
            aload 16 /* value */
            instanceof org.graalvm.compiler.nodes.virtual.VirtualObjectNode
            ifne 72
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        72: .line 873
      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
        73: .line 874
            aload 17 /* allocValue */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifeq 74
            aload 17 /* allocValue */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.asConstant:()Ljdk/vm/ci/meta/Constant;
            invokeinterface jdk.vm.ci.meta.Constant.isDefaultForKind:()Z
            ifne 86
        74: .line 875
      StackMap locals: org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            getstatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.$assertionsDisabled:Z
            ifne 76
            aload 9 /* virtual */
            iload 15 /* i */
            invokevirtual org.graalvm.compiler.nodes.virtual.VirtualObjectNode.entryKind:(I)Ljdk/vm/ci/meta/JavaKind;
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 75
            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 76
      StackMap locals:
      StackMap stack:
        75: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        76: .line 878
      StackMap locals:
      StackMap stack:
            aload 9 /* virtual */
            instanceof org.graalvm.compiler.nodes.virtual.VirtualInstanceNode
            ifeq 81
        77: .line 879
            aload 9 /* virtual */
            checkcast org.graalvm.compiler.nodes.virtual.VirtualInstanceNode
            astore 20 /* virtualInstance */
        start local 20 // org.graalvm.compiler.nodes.virtual.VirtualInstanceNode virtualInstance
        78: .line 880
            aload 0 /* this */
            aload 3 /* graph */
            aload 14 /* newObject */
            aload 20 /* virtualInstance */
            iload 15 /* i */
            invokevirtual org.graalvm.compiler.nodes.virtual.VirtualInstanceNode.field:(I)Ljdk/vm/ci/meta/ResolvedJavaField;
            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
        79: .line 881
            aload 0 /* this */
            aload 20 /* virtualInstance */
            iload 15 /* i */
            invokevirtual org.graalvm.compiler.nodes.virtual.VirtualInstanceNode.field:(I)Ljdk/vm/ci/meta/ResolvedJavaField;
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.fieldStoreBarrierType:(Ljdk/vm/ci/meta/ResolvedJavaField;)Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            astore 19 /* barrierType */
        end local 20 // org.graalvm.compiler.nodes.virtual.VirtualInstanceNode virtualInstance
        start local 19 // org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType barrierType
        80: .line 882
            goto 83
        end local 19 // org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType barrierType
        end local 18 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        81: .line 883
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* graph */
            aload 14 /* newObject */
            aload 9 /* virtual */
            iload 15 /* i */
            invokevirtual org.graalvm.compiler.nodes.virtual.VirtualObjectNode.entryKind:(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
        82: .line 884
            aload 0 /* this */
            aload 9 /* virtual */
            iload 15 /* i */
            invokevirtual org.graalvm.compiler.nodes.virtual.VirtualObjectNode.entryKind:(I)Ljdk/vm/ci/meta/JavaKind;
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.arrayStoreBarrierType:(Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            astore 19 /* barrierType */
        start local 19 // org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType barrierType
        83: .line 886
      StackMap locals: org.graalvm.compiler.nodes.memory.address.AddressNode org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType
      StackMap stack:
            aload 18 /* address */
            ifnull 86
        84: .line 887
            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 */
            iconst_0
            invokespecial org.graalvm.compiler.nodes.memory.WriteNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;Z)V
            astore 20 /* write */
        start local 20 // org.graalvm.compiler.nodes.memory.WriteNode write
        85: .line 888
            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.HeapAccess$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
        86: .line 892
      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
        87: .line 869
            iinc 15 /* i */ 1
      StackMap locals:
      StackMap stack:
        88: iload 15 /* i */
            iload 13 /* entryCount */
            if_icmplt 69
        end local 15 // int i
        end local 14 // org.graalvm.compiler.nodes.ValueNode newObject
        end local 13 // int entryCount
        89: .line 894
            aload 12 /* nsp */
            ifnull 95
            aload 12 /* nsp */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
            goto 95
      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
        90: astore 10
            aload 12 /* nsp */
            ifnull 91
            aload 12 /* nsp */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
        end local 12 // org.graalvm.compiler.debug.DebugCloseable nsp
      StackMap locals:
      StackMap stack:
        91: aload 10
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        92: astore 11
            aload 10
            ifnonnull 93
            aload 11
            astore 10
            goto 94
      StackMap locals:
      StackMap stack:
        93: aload 10
            aload 11
            if_acmpeq 94
            aload 10
            aload 11
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        94: aload 10
            athrow
        end local 9 // org.graalvm.compiler.nodes.virtual.VirtualObjectNode virtual
        95: .line 864
      StackMap locals:
      StackMap stack:
            iinc 8 /* objIndex */ 1
      StackMap locals:
      StackMap stack:
        96: 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 62
        end local 8 // int objIndex
        97: .line 897
            aload 0 /* this */
            aload 2 /* tool */
            aload 1 /* commit */
            aload 5 /* allocations */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.finishAllocatedObjects:(Lorg/graalvm/compiler/nodes/spi/LoweringTool;Lorg/graalvm/compiler/nodes/virtual/CommitAllocationNode;[Lorg/graalvm/compiler/nodes/ValueNode;)V
        98: .line 898
            aload 3 /* graph */
            aload 1 /* commit */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.removeFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
        99: .line 900
            aload 4 /* recursiveLowerings */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 9
            goto 102
      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:
       100: 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
       101: .line 901
            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
       102: .line 900
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 100
        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
       103: .line 905
      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  104     0                this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0  104     1              commit  Lorg/graalvm/compiler/nodes/virtual/CommitAllocationNode;
            0  104     2                tool  Lorg/graalvm/compiler/nodes/spi/LoweringTool;
            1  104     3               graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            3  103     4  recursiveLowerings  Ljava/util/List<Lorg/graalvm/compiler/nodes/java/AbstractNewObjectNode;>;
            4  103     5         allocations  [Lorg/graalvm/compiler/nodes/ValueNode;
            5  103     6       omittedValues  Ljava/util/BitSet;
            6  103     7            valuePos  I
            7   59     8            objIndex  I
            9   57     9             virtual  Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;
           11   53    12                 nsp  Lorg/graalvm/compiler/debug/DebugCloseable;
           12   51    13          entryCount  I
           14   15    14           newObject  Lorg/graalvm/compiler/nodes/java/AbstractNewObjectNode;
           16   51    14           newObject  Lorg/graalvm/compiler/nodes/java/AbstractNewObjectNode;
           21   51    15                   i  I
           23   49    16               value  Lorg/graalvm/compiler/nodes/ValueNode;
           30   48    17           valueKind  Ljdk/vm/ci/meta/JavaKind;
           31   48    18           entryKind  Ljdk/vm/ci/meta/JavaKind;
           35   48    19             address  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
           36   48    20         barrierType  Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
           38   42    21               field  Ljdk/vm/ci/meta/ResolvedJavaField;
           39   42    22              offset  J
           47   48    21               write  Lorg/graalvm/compiler/nodes/memory/WriteNode;
           61   97     8            objIndex  I
           63   95     9             virtual  Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;
           65   91    12                 nsp  Lorg/graalvm/compiler/debug/DebugCloseable;
           66   89    13          entryCount  I
           67   89    14           newObject  Lorg/graalvm/compiler/nodes/ValueNode;
           68   89    15                   i  I
           71   86    16               value  Lorg/graalvm/compiler/nodes/ValueNode;
           73   86    17          allocValue  Lorg/graalvm/compiler/nodes/ValueNode;
           79   81    18             address  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
           82   86    18             address  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
           80   81    19         barrierType  Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
           83   86    19         barrierType  Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
           78   80    20     virtualInstance  Lorg/graalvm/compiler/nodes/virtual/VirtualInstanceNode;
           85   86    20               write  Lorg/graalvm/compiler/nodes/memory/WriteNode;
          101  102     8   recursiveLowering  Lorg/graalvm/compiler/nodes/java/AbstractNewObjectNode;
      Exception table:
        from    to  target  type
          11    51      52  any
          10    54      54  any
          65    89      90  any
          64    92      92  any
    MethodParameters:
        Name  Flags
      commit  
      tool    

  public org.graalvm.compiler.nodes.java.NewInstanceNode createNewInstanceFromVirtual(org.graalvm.compiler.nodes.virtual.VirtualObjectNode);
    descriptor: (Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;)Lorg/graalvm/compiler/nodes/java/NewInstanceNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // org.graalvm.compiler.nodes.virtual.VirtualObjectNode virtual
         0: .line 908
            new org.graalvm.compiler.nodes.java.NewInstanceNode
            dup
            aload 1 /* 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
            areturn
        end local 1 // org.graalvm.compiler.nodes.virtual.VirtualObjectNode virtual
        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  virtual  Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;
    MethodParameters:
         Name  Flags
      virtual  

  protected org.graalvm.compiler.nodes.java.NewArrayNode createNewArrayFromVirtual(org.graalvm.compiler.nodes.virtual.VirtualObjectNode, org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/java/NewArrayNode;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // org.graalvm.compiler.nodes.virtual.VirtualObjectNode virtual
        start local 2 // org.graalvm.compiler.nodes.ValueNode length
         0: .line 912
            new org.graalvm.compiler.nodes.java.NewArrayNode
            dup
            aload 1 /* virtual */
            checkcast org.graalvm.compiler.nodes.virtual.VirtualArrayNode
            invokevirtual org.graalvm.compiler.nodes.virtual.VirtualArrayNode.componentType:()Ljdk/vm/ci/meta/ResolvedJavaType;
            aload 2 /* length */
            iconst_1
            invokespecial org.graalvm.compiler.nodes.java.NewArrayNode.<init>:(Ljdk/vm/ci/meta/ResolvedJavaType;Lorg/graalvm/compiler/nodes/ValueNode;Z)V
            areturn
        end local 2 // org.graalvm.compiler.nodes.ValueNode length
        end local 1 // org.graalvm.compiler.nodes.virtual.VirtualObjectNode virtual
        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  virtual  Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;
            0    1     2   length  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
         Name  Flags
      virtual  
      length   

  public void finishAllocatedObjects(org.graalvm.compiler.nodes.spi.LoweringTool, org.graalvm.compiler.nodes.virtual.CommitAllocationNode, org.graalvm.compiler.nodes.ValueNode[]);
    descriptor: (Lorg/graalvm/compiler/nodes/spi/LoweringTool;Lorg/graalvm/compiler/nodes/virtual/CommitAllocationNode;[Lorg/graalvm/compiler/nodes/ValueNode;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=12, args_size=4
        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.virtual.CommitAllocationNode commit
        start local 3 // org.graalvm.compiler.nodes.ValueNode[] allocations
         0: .line 916
            aload 2 /* commit */
            invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 4 /* graph */
        start local 4 // org.graalvm.compiler.nodes.StructuredGraph graph
         1: .line 917
            iconst_0
            istore 5 /* objIndex */
        start local 5 // int objIndex
         2: goto 7
         3: .line 918
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph int
      StackMap stack:
            aload 4 /* graph */
            new org.graalvm.compiler.nodes.extended.FixedValueAnchorNode
            dup
            aload 3 /* allocations */
            iload 5 /* 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 6 /* anchor */
        start local 6 // org.graalvm.compiler.nodes.extended.FixedValueAnchorNode anchor
         4: .line 919
            aload 3 /* allocations */
            iload 5 /* objIndex */
            aload 6 /* anchor */
            aastore
         5: .line 920
            aload 4 /* graph */
            aload 2 /* commit */
            aload 6 /* anchor */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addBeforeFixed:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
        end local 6 // org.graalvm.compiler.nodes.extended.FixedValueAnchorNode anchor
         6: .line 917
            iinc 5 /* objIndex */ 1
      StackMap locals:
      StackMap stack:
         7: iload 5 /* objIndex */
            aload 2 /* commit */
            invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.getVirtualObjects:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmplt 3
        end local 5 // int objIndex
         8: .line 932
            aconst_null
            astore 5 /* enters */
        start local 5 // java.util.ArrayList enters
         9: .line 933
            iconst_0
            istore 6 /* objIndex */
        start local 6 // int objIndex
        10: goto 28
        11: .line 934
      StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.virtual.CommitAllocationNode org.graalvm.compiler.nodes.ValueNode[] org.graalvm.compiler.nodes.StructuredGraph java.util.ArrayList int
      StackMap stack:
            aload 2 /* commit */
            iload 6 /* objIndex */
            invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.getLocks:(I)Ljava/util/List;
            astore 7 /* locks */
        start local 7 // java.util.List locks
        12: .line 935
            aload 7 /* locks */
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmple 16
        13: .line 937
            new java.util.ArrayList
            dup
            aload 7 /* locks */
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 8 /* newList */
        start local 8 // java.util.ArrayList newList
        14: .line 938
            aload 8 /* 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
        15: .line 939
            aload 8 /* newList */
            astore 7 /* locks */
        end local 8 // java.util.ArrayList newList
        16: .line 941
      StackMap locals: java.util.List
      StackMap stack:
            iconst_m1
            istore 8 /* lastDepth */
        start local 8 // int lastDepth
        17: .line 942
            aload 7 /* locks */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 10
            goto 26
      StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.virtual.CommitAllocationNode org.graalvm.compiler.nodes.ValueNode[] org.graalvm.compiler.nodes.StructuredGraph java.util.ArrayList int java.util.List int top java.util.Iterator
      StackMap stack:
        18: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.java.MonitorIdNode
            astore 9 /* monitorId */
        start local 9 // org.graalvm.compiler.nodes.java.MonitorIdNode monitorId
        19: .line 943
            getstatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.$assertionsDisabled:Z
            ifne 20
            iload 8 /* lastDepth */
            aload 9 /* monitorId */
            invokevirtual org.graalvm.compiler.nodes.java.MonitorIdNode.getLockDepth:()I
            if_icmplt 20
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        20: .line 944
      StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.virtual.CommitAllocationNode org.graalvm.compiler.nodes.ValueNode[] org.graalvm.compiler.nodes.StructuredGraph java.util.ArrayList int java.util.List int org.graalvm.compiler.nodes.java.MonitorIdNode java.util.Iterator
      StackMap stack:
            aload 9 /* monitorId */
            invokevirtual org.graalvm.compiler.nodes.java.MonitorIdNode.getLockDepth:()I
            istore 8 /* lastDepth */
        21: .line 945
            aload 4 /* graph */
            new org.graalvm.compiler.nodes.java.MonitorEnterNode
            dup
            aload 3 /* allocations */
            iload 6 /* objIndex */
            aaload
            aload 9 /* 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 11 /* enter */
        start local 11 // org.graalvm.compiler.nodes.java.MonitorEnterNode enter
        22: .line 946
            aload 4 /* graph */
            aload 2 /* commit */
            aload 11 /* enter */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addBeforeFixed:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
        23: .line 947
            aload 5 /* enters */
            ifnonnull 25
        24: .line 948
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* enters */
        25: .line 950
      StackMap locals: org.graalvm.compiler.nodes.java.MonitorEnterNode
      StackMap stack:
            aload 5 /* enters */
            aload 11 /* enter */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 11 // org.graalvm.compiler.nodes.java.MonitorEnterNode enter
        end local 9 // org.graalvm.compiler.nodes.java.MonitorIdNode monitorId
        26: .line 942
      StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.virtual.CommitAllocationNode org.graalvm.compiler.nodes.ValueNode[] org.graalvm.compiler.nodes.StructuredGraph java.util.ArrayList int java.util.List int top java.util.Iterator
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 18
        end local 8 // int lastDepth
        end local 7 // java.util.List locks
        27: .line 933
            iinc 6 /* objIndex */ 1
      StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.virtual.CommitAllocationNode org.graalvm.compiler.nodes.ValueNode[] org.graalvm.compiler.nodes.StructuredGraph java.util.ArrayList int
      StackMap stack:
        28: iload 6 /* objIndex */
            aload 2 /* commit */
            invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.getVirtualObjects:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmplt 11
        end local 6 // int objIndex
        29: .line 953
            aload 2 /* 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 7
            goto 38
      StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.virtual.CommitAllocationNode org.graalvm.compiler.nodes.ValueNode[] org.graalvm.compiler.nodes.StructuredGraph java.util.ArrayList top java.util.Iterator
      StackMap stack:
        30: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.Node
            astore 6 /* usage */
        start local 6 // org.graalvm.compiler.graph.Node usage
        31: .line 954
            aload 6 /* usage */
            instanceof org.graalvm.compiler.nodes.virtual.AllocatedObjectNode
            ifeq 36
        32: .line 955
            aload 6 /* usage */
            checkcast org.graalvm.compiler.nodes.virtual.AllocatedObjectNode
            astore 8 /* addObject */
        start local 8 // org.graalvm.compiler.nodes.virtual.AllocatedObjectNode addObject
        33: .line 956
            aload 2 /* commit */
            invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.getVirtualObjects:()Ljava/util/List;
            aload 8 /* 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 9 /* index */
        start local 9 // int index
        34: .line 957
            aload 8 /* addObject */
            aload 3 /* allocations */
            iload 9 /* index */
            aaload
            invokevirtual org.graalvm.compiler.nodes.virtual.AllocatedObjectNode.replaceAtUsagesAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
        end local 9 // int index
        end local 8 // org.graalvm.compiler.nodes.virtual.AllocatedObjectNode addObject
        35: .line 958
            goto 38
        36: .line 959
      StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.virtual.CommitAllocationNode org.graalvm.compiler.nodes.ValueNode[] org.graalvm.compiler.nodes.StructuredGraph java.util.ArrayList org.graalvm.compiler.graph.Node java.util.Iterator
      StackMap stack:
            getstatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.$assertionsDisabled:Z
            ifne 37
            aload 5 /* enters */
            ifnonnull 37
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        37: .line 960
      StackMap locals:
      StackMap stack:
            aload 2 /* commit */
            getstatic org.graalvm.compiler.nodeinfo.InputType.Memory:Lorg/graalvm/compiler/nodeinfo/InputType;
            aload 5 /* enters */
            aload 5 /* 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
            invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.replaceAtUsages:(Lorg/graalvm/compiler/nodeinfo/InputType;Lorg/graalvm/compiler/graph/Node;)V
        end local 6 // org.graalvm.compiler.graph.Node usage
        38: .line 953
      StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.virtual.CommitAllocationNode org.graalvm.compiler.nodes.ValueNode[] org.graalvm.compiler.nodes.StructuredGraph java.util.ArrayList top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 30
        39: .line 963
            aload 5 /* enters */
            ifnull 44
        40: .line 964
            aload 5 /* enters */
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 7
            goto 43
      StackMap locals:
      StackMap stack:
        41: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.java.MonitorEnterNode
            astore 6 /* enter */
        start local 6 // org.graalvm.compiler.nodes.java.MonitorEnterNode enter
        42: .line 965
            aload 6 /* enter */
            aload 1 /* tool */
            invokevirtual org.graalvm.compiler.nodes.java.MonitorEnterNode.lower:(Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
        end local 6 // org.graalvm.compiler.nodes.java.MonitorEnterNode enter
        43: .line 964
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 41
        44: .line 968
      StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.virtual.CommitAllocationNode org.graalvm.compiler.nodes.ValueNode[] org.graalvm.compiler.nodes.StructuredGraph java.util.ArrayList
      StackMap stack:
            getstatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.$assertionsDisabled:Z
            ifne 45
            aload 2 /* commit */
            invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.hasNoUsages:()Z
            ifne 45
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        45: .line 969
      StackMap locals:
      StackMap stack:
            aload 2 /* commit */
            aload 4 /* graph */
            invokestatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.insertAllocationBarrier:(Lorg/graalvm/compiler/nodes/virtual/CommitAllocationNode;Lorg/graalvm/compiler/nodes/StructuredGraph;)V
        46: .line 970
            return
        end local 5 // java.util.ArrayList enters
        end local 4 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 3 // org.graalvm.compiler.nodes.ValueNode[] allocations
        end local 2 // org.graalvm.compiler.nodes.virtual.CommitAllocationNode commit
        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   47     0         this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0   47     1         tool  Lorg/graalvm/compiler/nodes/spi/LoweringTool;
            0   47     2       commit  Lorg/graalvm/compiler/nodes/virtual/CommitAllocationNode;
            0   47     3  allocations  [Lorg/graalvm/compiler/nodes/ValueNode;
            1   47     4        graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            2    8     5     objIndex  I
            4    6     6       anchor  Lorg/graalvm/compiler/nodes/extended/FixedValueAnchorNode;
            9   47     5       enters  Ljava/util/ArrayList<Lorg/graalvm/compiler/nodes/java/MonitorEnterNode;>;
           10   29     6     objIndex  I
           12   27     7        locks  Ljava/util/List<Lorg/graalvm/compiler/nodes/java/MonitorIdNode;>;
           14   16     8      newList  Ljava/util/ArrayList<Lorg/graalvm/compiler/nodes/java/MonitorIdNode;>;
           17   27     8    lastDepth  I
           19   26     9    monitorId  Lorg/graalvm/compiler/nodes/java/MonitorIdNode;
           22   26    11        enter  Lorg/graalvm/compiler/nodes/java/MonitorEnterNode;
           31   38     6        usage  Lorg/graalvm/compiler/graph/Node;
           33   35     8    addObject  Lorg/graalvm/compiler/nodes/virtual/AllocatedObjectNode;
           34   35     9        index  I
           42   43     6        enter  Lorg/graalvm/compiler/nodes/java/MonitorEnterNode;
    MethodParameters:
             Name  Flags
      tool         
      commit       
      allocations  

  private static void insertAllocationBarrier(org.graalvm.compiler.nodes.virtual.CommitAllocationNode, org.graalvm.compiler.nodes.StructuredGraph);
    descriptor: (Lorg/graalvm/compiler/nodes/virtual/CommitAllocationNode;Lorg/graalvm/compiler/nodes/StructuredGraph;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=9, args_size=2
        start local 0 // org.graalvm.compiler.nodes.virtual.CommitAllocationNode commit
        start local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
         0: .line 978
            bipush 8
            istore 2 /* barrier */
        start local 2 // int barrier
         1: .line 979
            aload 0 /* commit */
            invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.getVirtualObjects:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 10
      StackMap locals: org.graalvm.compiler.nodes.virtual.CommitAllocationNode org.graalvm.compiler.nodes.StructuredGraph int top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.virtual.VirtualObjectNode
            astore 3 /* vobj */
        start local 3 // org.graalvm.compiler.nodes.virtual.VirtualObjectNode vobj
         3: .line 980
            aload 3 /* 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 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 9
      StackMap locals: 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 8
            iload 6
            aaload
            astore 5 /* field */
        start local 5 // jdk.vm.ci.meta.ResolvedJavaField field
         5: .line 981
            aload 5 /* field */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaField.isFinal:()Z
            ifeq 8
         6: .line 982
            iload 2 /* barrier */
            iconst_2
            ior
            istore 2 /* barrier */
         7: .line 983
            goto 11
        end local 5 // jdk.vm.ci.meta.ResolvedJavaField field
         8: .line 980
      StackMap locals:
      StackMap stack:
            iinc 6 1
      StackMap locals:
      StackMap stack:
         9: iload 6
            iload 7
            if_icmplt 4
        end local 3 // org.graalvm.compiler.nodes.virtual.VirtualObjectNode vobj
        10: .line 979
      StackMap locals: org.graalvm.compiler.nodes.virtual.CommitAllocationNode org.graalvm.compiler.nodes.StructuredGraph int top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        11: .line 987
      StackMap locals: org.graalvm.compiler.nodes.virtual.CommitAllocationNode org.graalvm.compiler.nodes.StructuredGraph int
      StackMap stack:
            aload 1 /* graph */
            aload 0 /* commit */
            aload 1 /* graph */
            new org.graalvm.compiler.nodes.extended.MembarNode
            dup
            iload 2 /* 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 988
            return
        end local 2 // int barrier
        end local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 0 // org.graalvm.compiler.nodes.virtual.CommitAllocationNode commit
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0   commit  Lorg/graalvm/compiler/nodes/virtual/CommitAllocationNode;
            0   13     1    graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            1   13     2  barrier  I
            3   10     3     vobj  Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;
            5    8     5    field  Ljdk/vm/ci/meta/ResolvedJavaField;
    MethodParameters:
        Name  Flags
      commit  
      graph   

  protected org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType fieldLoadBarrierType(jdk.vm.ci.meta.ResolvedJavaField);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaField;)Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, 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 994
            getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            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 org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType fieldStoreBarrierType(jdk.vm.ci.meta.ResolvedJavaField);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaField;)Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // jdk.vm.ci.meta.ResolvedJavaField field
         0: .line 998
            aload 0 /* this */
            aload 1 /* field */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.getStorageKind:(Ljdk/vm/ci/meta/ResolvedJavaField;)Ljdk/vm/ci/meta/JavaKind;
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 2
         1: .line 999
            getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.FIELD:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            areturn
         2: .line 1001
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            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    3     0   this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0    3     1  field  Ljdk/vm/ci/meta/ResolvedJavaField;
    MethodParameters:
       Name  Flags
      field  

  protected org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType arrayStoreBarrierType(jdk.vm.ci.meta.JavaKind);
    descriptor: (Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // jdk.vm.ci.meta.JavaKind elementKind
         0: .line 1005
            aload 1 /* elementKind */
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 2
         1: .line 1006
            getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.ARRAY:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            areturn
         2: .line 1008
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            areturn
        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    3     0         this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0    3     1  elementKind  Ljdk/vm/ci/meta/JavaKind;
    MethodParameters:
             Name  Flags
      elementKind  

  public org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType fieldInitializationBarrier(jdk.vm.ci.meta.JavaKind);
    descriptor: (Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // jdk.vm.ci.meta.JavaKind entryKind
         0: .line 1012
            aload 1 /* entryKind */
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 1
            getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.FIELD:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            goto 2
      StackMap locals:
      StackMap stack:
         1: getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
      StackMap locals:
      StackMap stack: org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType
         2: areturn
        end local 1 // jdk.vm.ci.meta.JavaKind entryKind
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0    3     1  entryKind  Ljdk/vm/ci/meta/JavaKind;
    MethodParameters:
           Name  Flags
      entryKind  

  public org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType arrayInitializationBarrier(jdk.vm.ci.meta.JavaKind);
    descriptor: (Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // jdk.vm.ci.meta.JavaKind entryKind
         0: .line 1016
            aload 1 /* entryKind */
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 1
            getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.ARRAY:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            goto 2
      StackMap locals:
      StackMap stack:
         1: getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
      StackMap locals:
      StackMap stack: org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType
         2: areturn
        end local 1 // jdk.vm.ci.meta.JavaKind entryKind
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0    3     1  entryKind  Ljdk/vm/ci/meta/JavaKind;
    MethodParameters:
           Name  Flags
      entryKind  

  private org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType unsafeStoreBarrierType(org.graalvm.compiler.nodes.extended.RawStoreNode);
    descriptor: (Lorg/graalvm/compiler/nodes/extended/RawStoreNode;)Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // org.graalvm.compiler.nodes.extended.RawStoreNode store
         0: .line 1020
            aload 1 /* store */
            invokevirtual org.graalvm.compiler.nodes.extended.RawStoreNode.needsBarrier:()Z
            ifne 2
         1: .line 1021
            getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            areturn
         2: .line 1023
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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.value:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.guessStoreBarrierType:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            areturn
        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    3     0   this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0    3     1  store  Lorg/graalvm/compiler/nodes/extended/RawStoreNode;
    MethodParameters:
       Name  Flags
      store  

  private org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType guessStoreBarrierType(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=3
        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.ValueNode value
         0: .line 1027
            aload 2 /* value */
            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 7
            aload 1 /* object */
            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 7
         1: .line 1028
            aload 1 /* object */
            invokestatic org.graalvm.compiler.nodes.type.StampTool.typeOrNull:(Lorg/graalvm/compiler/nodes/ValueNode;)Ljdk/vm/ci/meta/ResolvedJavaType;
            astore 3 /* type */
        start local 3 // jdk.vm.ci.meta.ResolvedJavaType type
         2: .line 1031
            aload 3 /* type */
            ifnull 4
            aload 3 /* type */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isArray:()Z
            ifeq 4
         3: .line 1032
            getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.ARRAY:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            areturn
         4: .line 1033
      StackMap locals: jdk.vm.ci.meta.ResolvedJavaType
      StackMap stack:
            aload 3 /* type */
            ifnull 5
            aload 3 /* type */
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.objectArrayType:Ljdk/vm/ci/meta/ResolvedJavaType;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isAssignableFrom:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
            ifeq 6
         5: .line 1034
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.UNKNOWN:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            areturn
         6: .line 1036
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.FIELD:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            areturn
        end local 3 // jdk.vm.ci.meta.ResolvedJavaType type
         7: .line 1039
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            areturn
        end local 2 // org.graalvm.compiler.nodes.ValueNode value
        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    8     0    this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0    8     1  object  Lorg/graalvm/compiler/nodes/ValueNode;
            0    8     2   value  Lorg/graalvm/compiler/nodes/ValueNode;
            2    7     3    type  Ljdk/vm/ci/meta/ResolvedJavaType;
    MethodParameters:
        Name  Flags
      object  
      value   

  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 1045
            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 1053
            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 1057
            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 1066
            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 1067
            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 1070
      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 1073
      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 1076
      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 1078
      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 1082
            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 1086
            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 1090
            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 1091
            aload 5 /* ret */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isAlive:()Z
            ifne 3
         2: .line 1092
            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 1094
      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 1103
            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 1104
            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 1107
      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 1110
      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 1113
      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 1115
      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 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 1119
            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 1123
            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 1127
            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 1128
            aload 5 /* ret */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isAlive:()Z
            ifne 3
         2: .line 1129
            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 1131
      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 1138
            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 1139
            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 1142
      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 1145
      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 1148
      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 1150
      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 1158
            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 1159
            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 1160
            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 1161
            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 1165
            aload 1 /* n */
            invokevirtual org.graalvm.compiler.nodes.java.AccessIndexedNode.getBoundsCheck:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            ifnull 2
         1: .line 1166
            aload 1 /* n */
            invokevirtual org.graalvm.compiler.nodes.java.AccessIndexedNode.getBoundsCheck:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            areturn
         2: .line 1169
      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 1170
            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 1172
            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 1173
            aload 6 /* boundsCheck */
            invokevirtual org.graalvm.compiler.nodes.LogicNode.isTautology:()Z
            ifeq 7
         6: .line 1174
            aconst_null
            areturn
         7: .line 1176
      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 1180
            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 1181
            aload 5 /* arrayLength */
            ifnonnull 4
         2: .line 1182
            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 1183
            goto 7
         4: .line 1184
      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 1186
      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 1190
            aload 1 /* object */
            invokestatic org.graalvm.compiler.nodes.type.StampTool.isPointerNonNull:(Lorg/graalvm/compiler/nodes/ValueNode;)Z
            ifeq 2
         1: .line 1191
            aconst_null
            areturn
         2: .line 1193
      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 1197
            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 1198
            aload 4 /* nullCheck */
            ifnonnull 3
         2: .line 1199
            aload 1 /* object */
            areturn
         3: .line 1201
      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 1206
            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 1207
            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 1209
            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 1210
            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 1212
            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 1213
            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 1214
            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      

  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 172
            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 938
            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.HeapAccess$BarrierType of org.graalvm.compiler.nodes.memory.HeapAccess
  public abstract LoweringStage = org.graalvm.compiler.nodes.spi.LoweringTool$LoweringStage of org.graalvm.compiler.nodes.spi.LoweringTool
  public final StandardLoweringStage = org.graalvm.compiler.nodes.spi.LoweringTool$StandardLoweringStage of org.graalvm.compiler.nodes.spi.LoweringTool
  public 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