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 162
            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 450
            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 173
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 174
            aload 0 /* this */
            aload 1 /* metaAccess */
            putfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.metaAccess:Ljdk/vm/ci/meta/MetaAccessProvider;
         2: .line 175
            aload 0 /* this */
            aload 2 /* foreignCalls */
            putfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.foreignCalls:Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;
         3: .line 176
            aload 0 /* this */
            aload 3 /* target */
            putfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.target:Ljdk/vm/ci/code/TargetDescription;
         4: .line 177
            aload 0 /* this */
            iload 4 /* useCompressedOops */
            putfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.useCompressedOops:Z
         5: .line 178
            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 179
            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 182
            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 183
            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 184
            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 185
            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 188
            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 192
            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 198
            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 199
      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 200
            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 201
            aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.java.LoadFieldNode
            ifeq 7
         5: .line 202
            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 203
            goto 86
      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 204
            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 205
            goto 86
      StackMap locals:
      StackMap stack:
        10: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.java.LoadIndexedNode
            ifeq 13
        11: .line 206
            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 207
            goto 86
      StackMap locals:
      StackMap stack:
        13: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.java.StoreIndexedNode
            ifeq 16
        14: .line 208
            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 209
            goto 86
      StackMap locals:
      StackMap stack:
        16: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.java.ArrayLengthNode
            ifeq 19
        17: .line 210
            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
        18: .line 211
            goto 86
      StackMap locals:
      StackMap stack:
        19: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.extended.LoadHubNode
            ifeq 22
        20: .line 212
            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
        21: .line 213
            goto 86
      StackMap locals:
      StackMap stack:
        22: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.extended.LoadArrayComponentHubNode
            ifeq 25
        23: .line 214
            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
        24: .line 215
            goto 86
      StackMap locals:
      StackMap stack:
        25: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.java.MonitorEnterNode
            ifeq 28
        26: .line 216
            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
        27: .line 217
            goto 86
      StackMap locals:
      StackMap stack:
        28: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.java.UnsafeCompareAndSwapNode
            ifeq 31
        29: .line 218
            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
        30: .line 219
            goto 86
      StackMap locals:
      StackMap stack:
        31: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.java.UnsafeCompareAndExchangeNode
            ifeq 34
        32: .line 220
            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
        33: .line 221
            goto 86
      StackMap locals:
      StackMap stack:
        34: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.java.AtomicReadAndWriteNode
            ifeq 37
        35: .line 222
            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
        36: .line 223
            goto 86
      StackMap locals:
      StackMap stack:
        37: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.extended.RawLoadNode
            ifeq 40
        38: .line 224
            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
        39: .line 225
            goto 86
      StackMap locals:
      StackMap stack:
        40: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.extended.UnsafeMemoryLoadNode
            ifeq 43
        41: .line 226
            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
        42: .line 227
            goto 86
      StackMap locals:
      StackMap stack:
        43: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.extended.RawStoreNode
            ifeq 46
        44: .line 228
            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
        45: .line 229
            goto 86
      StackMap locals:
      StackMap stack:
        46: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.extended.UnsafeMemoryStoreNode
            ifeq 49
        47: .line 230
            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
        48: .line 231
            goto 86
      StackMap locals:
      StackMap stack:
        49: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.extended.JavaReadNode
            ifeq 52
        50: .line 232
            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
        51: .line 233
            goto 86
      StackMap locals:
      StackMap stack:
        52: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.extended.JavaWriteNode
            ifeq 55
        53: .line 234
            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
        54: .line 235
            goto 86
      StackMap locals:
      StackMap stack:
        55: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.virtual.CommitAllocationNode
            ifeq 58
        56: .line 236
            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
        57: .line 237
            goto 86
      StackMap locals:
      StackMap stack:
        58: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.extended.BoxNode
            ifeq 61
        59: .line 238
            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
        60: .line 239
            goto 86
      StackMap locals:
      StackMap stack:
        61: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.extended.UnboxNode
            ifeq 64
        62: .line 240
            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
        63: .line 241
            goto 86
      StackMap locals:
      StackMap stack:
        64: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.debug.VerifyHeapNode
            ifeq 67
        65: .line 242
            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
        66: .line 243
            goto 86
      StackMap locals:
      StackMap stack:
        67: aload 1 /* n */
            instanceof org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode
            ifeq 70
        68: .line 244
            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
        69: .line 245
            goto 86
      StackMap locals:
      StackMap stack:
        70: aload 1 /* n */
            instanceof org.graalvm.compiler.replacements.nodes.BinaryMathIntrinsicNode
            ifeq 73
        71: .line 246
            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
        72: .line 247
            goto 86
      StackMap locals:
      StackMap stack:
        73: aload 1 /* n */
            instanceof org.graalvm.compiler.replacements.StringIndexOfNode
            ifeq 76
        74: .line 248
            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
        75: .line 249
            goto 86
      StackMap locals:
      StackMap stack:
        76: aload 1 /* n */
            instanceof org.graalvm.compiler.replacements.StringLatin1IndexOfNode
            ifeq 79
        77: .line 250
            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
        78: .line 251
            goto 86
      StackMap locals:
      StackMap stack:
        79: aload 1 /* n */
            instanceof org.graalvm.compiler.replacements.StringUTF16IndexOfNode
            ifeq 82
        80: .line 252
            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
        81: .line 253
            goto 86
      StackMap locals:
      StackMap stack:
        82: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.calc.UnpackEndianHalfNode
            ifeq 85
        83: .line 254
            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
        84: .line 255
            goto 86
        85: .line 256
      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
        86: .line 258
      StackMap locals:
      StackMap stack:
            aload 6 /* context */
            ifnull 92
            aload 6 /* context */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
            goto 92
      StackMap locals:
      StackMap stack: java.lang.Throwable
        87: astore 4
            aload 6 /* context */
            ifnull 88
            aload 6 /* context */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
        end local 6 // org.graalvm.compiler.debug.DebugCloseable context
      StackMap locals:
      StackMap stack:
        88: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        89: astore 5
            aload 4
            ifnonnull 90
            aload 5
            astore 4
            goto 91
      StackMap locals:
      StackMap stack:
        90: aload 4
            aload 5
            if_acmpeq 91
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        91: aload 4
            athrow
        92: .line 259
      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   93     0     this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0   93     1        n  Lorg/graalvm/compiler/graph/Node;
            0   93     2     tool  Lorg/graalvm/compiler/nodes/spi/LoweringTool;
            2   93     3    graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            4   88     6  context  Lorg/graalvm/compiler/debug/DebugCloseable;
      Exception table:
        from    to  target  type
           4    86      87  any
           3    89      89  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 262
            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 263
            aload 1 /* n */
            aload 2 /* byteOrder */
            invokevirtual org.graalvm.compiler.nodes.calc.UnpackEndianHalfNode.lower:(Ljava/nio/ByteOrder;)V
         2: .line 264
            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 267
            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 268
            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 277
            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 278
            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 279
            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 281
      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 284
            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 285
            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 294
            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 295
            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 296
            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 298
      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 301
            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 302
            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 311
            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 312
            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 313
            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 315
      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=7, 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 318
            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 319
            return
         2: .line 321
      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 322
            aload 3 /* method */
            ifnull 8
         4: .line 323
            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 327
            return
         6: .line 329
      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 334
            return
         8: .line 338
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* math */
            invokevirtual org.graalvm.compiler.replacements.nodes.BinaryMathIntrinsicNode.getOperation:()Lorg/graalvm/compiler/replacements/nodes/BinaryMathIntrinsicNode$BinaryOperation;
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.toForeignCall:(Lorg/graalvm/compiler/replacements/nodes/BinaryMathIntrinsicNode$BinaryOperation;)Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
            astore 4 /* foreignCall */
        start local 4 // org.graalvm.compiler.core.common.spi.ForeignCallDescriptor foreignCall
         9: .line 339
            aload 4 /* foreignCall */
            ifnull 14
        10: .line 340
            aload 1 /* math */
            invokevirtual org.graalvm.compiler.replacements.nodes.BinaryMathIntrinsicNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 5 /* graph */
        start local 5 // org.graalvm.compiler.nodes.StructuredGraph graph
        11: .line 341
            aload 5 /* 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 0 /* this */
            aload 1 /* math */
            invokevirtual org.graalvm.compiler.replacements.nodes.BinaryMathIntrinsicNode.getOperation:()Lorg/graalvm/compiler/replacements/nodes/BinaryMathIntrinsicNode$BinaryOperation;
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.toForeignCall:(Lorg/graalvm/compiler/replacements/nodes/BinaryMathIntrinsicNode$BinaryOperation;)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 6 /* call */
        start local 6 // org.graalvm.compiler.nodes.extended.ForeignCallNode call
        12: .line 342
            aload 5 /* graph */
            aload 2 /* tool */
            invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.lastFixedNode:()Lorg/graalvm/compiler/nodes/FixedWithNextNode;
            aload 6 /* call */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addAfterFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedNode;)V
        13: .line 343
            aload 1 /* math */
            aload 6 /* call */
            invokevirtual org.graalvm.compiler.replacements.nodes.BinaryMathIntrinsicNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
        end local 6 // org.graalvm.compiler.nodes.extended.ForeignCallNode call
        end local 5 // org.graalvm.compiler.nodes.StructuredGraph graph
        14: .line 345
      StackMap locals: org.graalvm.compiler.core.common.spi.ForeignCallDescriptor
      StackMap stack:
            return
        end local 4 // org.graalvm.compiler.core.common.spi.ForeignCallDescriptor foreignCall
        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   15     0         this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0   15     1         math  Lorg/graalvm/compiler/replacements/nodes/BinaryMathIntrinsicNode;
            0   15     2         tool  Lorg/graalvm/compiler/nodes/spi/LoweringTool;
            3   15     3       method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            9   15     4  foreignCall  Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
           11   14     5        graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
           12   14     6         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=7, 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 348
            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 349
            return
         2: .line 351
      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 352
            aload 3 /* method */
            ifnull 8
         4: .line 353
            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 357
            return
         6: .line 359
      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.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 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 364
            return
         8: .line 368
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* math */
            invokevirtual org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode.getOperation:()Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.toForeignCall:(Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;)Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
            astore 4 /* foreignCall */
        start local 4 // org.graalvm.compiler.core.common.spi.ForeignCallDescriptor foreignCall
         9: .line 369
            aload 4 /* foreignCall */
            ifnull 14
        10: .line 370
            aload 1 /* math */
            invokevirtual org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 5 /* graph */
        start local 5 // org.graalvm.compiler.nodes.StructuredGraph graph
        11: .line 371
            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 4 /* foreignCall */
            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 6 /* call */
        start local 6 // org.graalvm.compiler.nodes.extended.ForeignCallNode call
        12: .line 372
            aload 5 /* graph */
            aload 2 /* tool */
            invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.lastFixedNode:()Lorg/graalvm/compiler/nodes/FixedWithNextNode;
            aload 6 /* call */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addAfterFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedNode;)V
        13: .line 373
            aload 1 /* math */
            aload 6 /* call */
            invokevirtual org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
        end local 6 // org.graalvm.compiler.nodes.extended.ForeignCallNode call
        end local 5 // org.graalvm.compiler.nodes.StructuredGraph graph
        14: .line 375
      StackMap locals: org.graalvm.compiler.core.common.spi.ForeignCallDescriptor
      StackMap stack:
            return
        end local 4 // org.graalvm.compiler.core.common.spi.ForeignCallDescriptor foreignCall
        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   15     0         this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0   15     1         math  Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode;
            0   15     2         tool  Lorg/graalvm/compiler/nodes/spi/LoweringTool;
            3   15     3       method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            9   15     4  foreignCall  Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
           11   14     5        graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
           12   14     6         call  Lorg/graalvm/compiler/nodes/extended/ForeignCallNode;
    MethodParameters:
      Name  Flags
      math  
      tool  

  protected org.graalvm.compiler.core.common.spi.ForeignCallDescriptor toForeignCall(org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode$UnaryOperation);
    descriptor: (Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;)Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
    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.replacements.nodes.UnaryMathIntrinsicNode$UnaryOperation operation
         0: .line 378
            aload 1 /* operation */
            getfield org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode$UnaryOperation.foreignCallDescriptor:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
            areturn
        end local 1 // org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode$UnaryOperation operation
        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  operation  Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;
    MethodParameters:
           Name  Flags
      operation  

  protected org.graalvm.compiler.core.common.spi.ForeignCallDescriptor toForeignCall(org.graalvm.compiler.replacements.nodes.BinaryMathIntrinsicNode$BinaryOperation);
    descriptor: (Lorg/graalvm/compiler/replacements/nodes/BinaryMathIntrinsicNode$BinaryOperation;)Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
    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.replacements.nodes.BinaryMathIntrinsicNode$BinaryOperation operation
         0: .line 382
            aload 1 /* operation */
            getfield org.graalvm.compiler.replacements.nodes.BinaryMathIntrinsicNode$BinaryOperation.foreignCallDescriptor:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
            areturn
        end local 1 // org.graalvm.compiler.replacements.nodes.BinaryMathIntrinsicNode$BinaryOperation operation
        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  operation  Lorg/graalvm/compiler/replacements/nodes/BinaryMathIntrinsicNode$BinaryOperation;
    MethodParameters:
           Name  Flags
      operation  

  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 386
            aload 1 /* n */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.removeFixedWithUnusedInputs:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
         1: .line 387
            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 390
            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 391
            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 395
            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 396
            iload 4 /* offset */
            iflt 3
         2: .line 397
            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 399
      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 406
            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 407
      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 408
            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 409
            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 410
            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 411
            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 413
            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 414
            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 416
      StackMap locals: org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.nodes.memory.address.AddressNode
      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 */
        start local 8 // org.graalvm.compiler.nodes.memory.ReadNode memoryRead
        11: .line 417
            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
        12: .line 418
            aload 1 /* loadField */
            aload 9 /* readValue */
            invokevirtual org.graalvm.compiler.nodes.java.LoadFieldNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
        13: .line 419
            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
        14: .line 421
            aload 1 /* loadField */
            invokevirtual org.graalvm.compiler.nodes.java.LoadFieldNode.isVolatile:()Z
            ifeq 19
        15: .line 422
            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
        16: .line 423
            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
        17: .line 424
            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
        18: .line 425
            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
        19: .line 427
      StackMap locals: org.graalvm.compiler.nodes.memory.ReadNode 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   20     0        this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0   20     1   loadField  Lorg/graalvm/compiler/nodes/java/LoadFieldNode;
            0   20     2        tool  Lorg/graalvm/compiler/nodes/spi/LoweringTool;
            2   20     3       graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            3   20     4       field  Ljdk/vm/ci/meta/ResolvedJavaField;
            6   20     5      object  Lorg/graalvm/compiler/nodes/ValueNode;
            8   20     6   loadStamp  Lorg/graalvm/compiler/core/common/type/Stamp;
            9   20     7     address  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
           11   20     8  memoryRead  Lorg/graalvm/compiler/nodes/memory/ReadNode;
           12   20     9   readValue  Lorg/graalvm/compiler/nodes/ValueNode;
           16   19    10   preMembar  Lorg/graalvm/compiler/nodes/extended/MembarNode;
           18   19    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 430
            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 431
            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 432
            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 433
            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 434
            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 435
            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 436
            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 438
      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;
            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;)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 439
            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 440
            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 442
            aload 1 /* storeField */
            invokevirtual org.graalvm.compiler.nodes.java.StoreFieldNode.isVolatile:()Z
            ifeq 17
        13: .line 443
            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 444
            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 445
            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 446
            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 448
      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 457
            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 458
            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=8, locals=10, 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 463
            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 464
            aload 1 /* graph */
            new org.graalvm.compiler.nodes.calc.SignExtendNode
            dup
            aload 4 /* 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 5 /* wordIndex */
        start local 5 // org.graalvm.compiler.nodes.ValueNode wordIndex
         2: .line 465
            goto 5
        end local 5 // org.graalvm.compiler.nodes.ValueNode wordIndex
         3: .line 466
      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 467
      StackMap locals:
      StackMap stack:
            aload 4 /* index */
            astore 5 /* wordIndex */
        start local 5 // org.graalvm.compiler.nodes.ValueNode wordIndex
         5: .line 470
      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 3 /* elementKind */
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.getArrayIndexScale:(Ljdk/vm/ci/meta/JavaKind;)I
            invokestatic jdk.vm.ci.code.CodeUtil.log2:(I)I
            istore 6 /* shift */
        start local 6 // int shift
         6: .line 471
            aload 1 /* graph */
            new org.graalvm.compiler.nodes.calc.LeftShiftNode
            dup
            aload 5 /* wordIndex */
            iload 6 /* 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 7 /* scaledIndex */
        start local 7 // org.graalvm.compiler.nodes.ValueNode scaledIndex
         7: .line 473
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.metaAccess:Ljdk/vm/ci/meta/MetaAccessProvider;
            aload 3 /* elementKind */
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.getArrayBaseOffset:(Ljdk/vm/ci/meta/JavaKind;)I
            istore 8 /* base */
        start local 8 // int base
         8: .line 474
            aload 1 /* graph */
            new org.graalvm.compiler.nodes.calc.AddNode
            dup
            aload 7 /* 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 8 /* 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 9 /* offset */
        start local 9 // org.graalvm.compiler.nodes.ValueNode offset
         9: .line 476
            aload 1 /* graph */
            new org.graalvm.compiler.nodes.memory.address.OffsetAddressNode
            dup
            aload 2 /* array */
            aload 9 /* 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 9 // org.graalvm.compiler.nodes.ValueNode offset
        end local 8 // int base
        end local 7 // org.graalvm.compiler.nodes.ValueNode scaledIndex
        end local 6 // int shift
        end local 5 // org.graalvm.compiler.nodes.ValueNode wordIndex
        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   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  elementKind  Ljdk/vm/ci/meta/JavaKind;
            0   10     4        index  Lorg/graalvm/compiler/nodes/ValueNode;
            2    3     5    wordIndex  Lorg/graalvm/compiler/nodes/ValueNode;
            5   10     5    wordIndex  Lorg/graalvm/compiler/nodes/ValueNode;
            6   10     6        shift  I
            7   10     7  scaledIndex  Lorg/graalvm/compiler/nodes/ValueNode;
            8   10     8         base  I
            9   10     9       offset  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
             Name  Flags
      graph        
      array        
      elementKind  
      index        

  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 480
            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 481
            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 482
            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 483
            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 484
            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 486
            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 487
            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 488
            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 489
            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 491
      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 493
            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 494
            aload 10 /* memoryRead */
            aload 7 /* boundsCheck */
            invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.setGuard:(Lorg/graalvm/compiler/nodes/extended/GuardingNode;)V
        12: .line 495
            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 497
            aload 1 /* loadIndexed */
            aload 11 /* readValue */
            invokevirtual org.graalvm.compiler.nodes.java.LoadIndexedNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
        14: .line 498
            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 499
            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 502
            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 504
            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 505
            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 507
            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 509
            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 511
            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 513
            aconst_null
            astore 8 /* condition */
        start local 8 // org.graalvm.compiler.nodes.LogicNode condition
         7: .line 514
            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 516
            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 517
            aload 9 /* arrayType */
            ifnull 16
            aload 9 /* arrayType */
            invokevirtual org.graalvm.compiler.core.common.type.TypeReference.isExact:()Z
            ifeq 16
        10: .line 518
            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 519
            aload 10 /* elementType */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isJavaLangObject:()Z
            ifne 20
        12: .line 520
            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 521
            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 522
            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 524
            goto 20
        16: .line 529
      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 530
            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 531
            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 532
            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 536
      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 537
            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 538
            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;
            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;)V
        23: .line 537
            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 539
            aload 10 /* memoryWrite */
            aload 6 /* boundsCheck */
            invokevirtual org.graalvm.compiler.nodes.memory.WriteNode.setGuard:(Lorg/graalvm/compiler/nodes/extended/GuardingNode;)V
        25: .line 540
            aload 8 /* condition */
            ifnull 27
        26: .line 541
            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 543
      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 544
            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 545
            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 548
            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 549
            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 550
            aload 3 /* graph */
            aload 1 /* arrayLengthNode */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.removeFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
         3: .line 551
            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 559
            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 560
            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 561
            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 562
            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 563
            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 564
            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 568
            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 569
            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 570
            return
         3: .line 572
      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 573
            return
         5: .line 575
      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 576
            aload 1 /* loadHub */
            aload 4 /* hub */
            invokevirtual org.graalvm.compiler.nodes.extended.LoadHubNode.replaceAtUsagesAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
         7: .line 577
            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 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 580
            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 581
            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 582
            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 583
            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 586
            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 587
            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 588
            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 589
            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 590
            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 591
            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 592
            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 595
            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 596
            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 598
            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 599
            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 601
            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 602
            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 603
            aload 2 /* graph */
            new org.graalvm.compiler.nodes.java.LogicCompareAndSwapNode
            dup
            aload 6 /* address */
            aload 1 /* cas */
            invokevirtual org.graalvm.compiler.nodes.java.UnsafeCompareAndSwapNode.getLocationIdentity:()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 604
            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 605
            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 606
            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 609
            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 610
            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 612
            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 613
            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 615
            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 616
            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 617
            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.getLocationIdentity:()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 618
            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 619
            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 620
            aload 1 /* cas */
            aload 9 /* coercedNode */
            invokevirtual org.graalvm.compiler.nodes.java.UnsafeCompareAndExchangeNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
        10: .line 621
            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 622
            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 625
            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 626
            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 628
            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 630
            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 631
            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 632
            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 633
            aload 2 /* graph */
            new org.graalvm.compiler.nodes.java.LoweredAtomicReadAndWriteNode
            dup
            aload 5 /* address */
            aload 1 /* n */
            invokevirtual org.graalvm.compiler.nodes.java.AtomicReadAndWriteNode.getLocationIdentity:()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 634
            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 636
            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 637
            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 638
            aload 1 /* n */
            aload 9 /* readValue */
            invokevirtual org.graalvm.compiler.nodes.java.AtomicReadAndWriteNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
        11: .line 639
            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 640
            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=4, locals=7, args_size=3
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // org.graalvm.compiler.nodes.extended.RawLoadNode load
        start local 2 // org.graalvm.compiler.nodes.spi.LoweringTool tool
         0: .line 646
            aload 1 /* load */
            invokevirtual org.graalvm.compiler.nodes.extended.RawLoadNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 3 /* graph */
        start local 3 // org.graalvm.compiler.nodes.StructuredGraph graph
         1: .line 647
            aload 1 /* load */
            instanceof org.graalvm.compiler.nodes.extended.GuardedUnsafeLoadNode
            ifeq 12
         2: .line 648
            aload 1 /* load */
            checkcast org.graalvm.compiler.nodes.extended.GuardedUnsafeLoadNode
            astore 4 /* guardedLoad */
        start local 4 // org.graalvm.compiler.nodes.extended.GuardedUnsafeLoadNode guardedLoad
         3: .line 649
            aload 4 /* guardedLoad */
            invokevirtual org.graalvm.compiler.nodes.extended.GuardedUnsafeLoadNode.getGuard:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            astore 5 /* guard */
        start local 5 // org.graalvm.compiler.nodes.extended.GuardingNode guard
         4: .line 650
            aload 5 /* guard */
            ifnonnull 9
         5: .line 652
            aload 0 /* this */
            aload 3 /* graph */
            aload 1 /* load */
            aconst_null
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createUnsafeRead:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/extended/RawLoadNode;Lorg/graalvm/compiler/nodes/extended/GuardingNode;)Lorg/graalvm/compiler/nodes/memory/ReadNode;
            astore 6 /* memoryRead */
        start local 6 // org.graalvm.compiler.nodes.memory.ReadNode memoryRead
         6: .line 653
            aload 6 /* memoryRead */
            iconst_0
            invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.setForceFixed:(Z)V
         7: .line 654
            aload 3 /* graph */
            aload 1 /* load */
            aload 6 /* memoryRead */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
        end local 6 // org.graalvm.compiler.nodes.memory.ReadNode memoryRead
         8: .line 655
            goto 14
         9: .line 657
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.extended.GuardedUnsafeLoadNode org.graalvm.compiler.nodes.extended.GuardingNode
      StackMap stack:
            aload 0 /* this */
            aload 3 /* graph */
            aload 1 /* load */
            aload 5 /* guard */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createUnsafeRead:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/extended/RawLoadNode;Lorg/graalvm/compiler/nodes/extended/GuardingNode;)Lorg/graalvm/compiler/nodes/memory/ReadNode;
            astore 6 /* memoryRead */
        start local 6 // org.graalvm.compiler.nodes.memory.ReadNode memoryRead
        10: .line 658
            aload 3 /* graph */
            aload 1 /* load */
            aload 6 /* memoryRead */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
        end local 6 // org.graalvm.compiler.nodes.memory.ReadNode memoryRead
        end local 5 // org.graalvm.compiler.nodes.extended.GuardingNode guard
        end local 4 // org.graalvm.compiler.nodes.extended.GuardedUnsafeLoadNode guardedLoad
        11: .line 660
            goto 14
        12: .line 663
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* graph */
            aload 1 /* load */
            aconst_null
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createUnsafeRead:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/extended/RawLoadNode;Lorg/graalvm/compiler/nodes/extended/GuardingNode;)Lorg/graalvm/compiler/nodes/memory/ReadNode;
            astore 4 /* memoryRead */
        start local 4 // org.graalvm.compiler.nodes.memory.ReadNode memoryRead
        13: .line 664
            aload 3 /* graph */
            aload 1 /* load */
            aload 4 /* memoryRead */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
        end local 4 // org.graalvm.compiler.nodes.memory.ReadNode memoryRead
        14: .line 666
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 2 // org.graalvm.compiler.nodes.spi.LoweringTool tool
        end local 1 // org.graalvm.compiler.nodes.extended.RawLoadNode load
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   15     0         this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0   15     1         load  Lorg/graalvm/compiler/nodes/extended/RawLoadNode;
            0   15     2         tool  Lorg/graalvm/compiler/nodes/spi/LoweringTool;
            1   15     3        graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            3   11     4  guardedLoad  Lorg/graalvm/compiler/nodes/extended/GuardedUnsafeLoadNode;
            4   11     5        guard  Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            6    8     6   memoryRead  Lorg/graalvm/compiler/nodes/memory/ReadNode;
           10   11     6   memoryRead  Lorg/graalvm/compiler/nodes/memory/ReadNode;
           13   14     4   memoryRead  Lorg/graalvm/compiler/nodes/memory/ReadNode;
    MethodParameters:
      Name  Flags
      load  
      tool  

  protected org.graalvm.compiler.nodes.memory.address.AddressNode createUnsafeAddress(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        start local 2 // org.graalvm.compiler.nodes.ValueNode object
        start local 3 // org.graalvm.compiler.nodes.ValueNode offset
         0: .line 669
            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 670
            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 672
      StackMap locals:
      StackMap stack:
            aload 1 /* graph */
            new org.graalvm.compiler.nodes.memory.address.OffsetAddressNode
            dup
            aload 2 /* object */
            aload 3 /* offset */
            invokespecial org.graalvm.compiler.nodes.memory.address.OffsetAddressNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.memory.address.AddressNode
            areturn
        end local 3 // org.graalvm.compiler.nodes.ValueNode offset
        end local 2 // org.graalvm.compiler.nodes.ValueNode object
        end local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0    3     1   graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0    3     2  object  Lorg/graalvm/compiler/nodes/ValueNode;
            0    3     3  offset  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
        Name  Flags
      graph   
      object  
      offset  

  protected org.graalvm.compiler.nodes.memory.ReadNode createUnsafeRead(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.nodes.extended.RawLoadNode, org.graalvm.compiler.nodes.extended.GuardingNode);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/extended/RawLoadNode;Lorg/graalvm/compiler/nodes/extended/GuardingNode;)Lorg/graalvm/compiler/nodes/memory/ReadNode;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=10, args_size=4
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        start local 2 // org.graalvm.compiler.nodes.extended.RawLoadNode load
        start local 3 // org.graalvm.compiler.nodes.extended.GuardingNode guard
         0: .line 677
            aload 2 /* load */
            invokevirtual org.graalvm.compiler.nodes.extended.RawLoadNode.accessKind:()Ljdk/vm/ci/meta/JavaKind;
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: istore 4 /* compressible */
        start local 4 // boolean compressible
         3: .line 678
            aload 2 /* load */
            invokevirtual org.graalvm.compiler.nodes.extended.RawLoadNode.accessKind:()Ljdk/vm/ci/meta/JavaKind;
            astore 5 /* readKind */
        start local 5 // jdk.vm.ci.meta.JavaKind readKind
         4: .line 679
            aload 0 /* this */
            aload 2 /* load */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.nodes.extended.RawLoadNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            aload 5 /* readKind */
            iload 4 /* compressible */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.loadStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;Ljdk/vm/ci/meta/JavaKind;Z)Lorg/graalvm/compiler/core/common/type/Stamp;
            astore 6 /* loadStamp */
        start local 6 // org.graalvm.compiler.core.common.type.Stamp loadStamp
         5: .line 680
            aload 0 /* this */
            aload 1 /* graph */
            aload 2 /* load */
            invokevirtual org.graalvm.compiler.nodes.extended.RawLoadNode.object:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 2 /* load */
            invokevirtual org.graalvm.compiler.nodes.extended.RawLoadNode.offset:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createUnsafeAddress:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            astore 7 /* address */
        start local 7 // org.graalvm.compiler.nodes.memory.address.AddressNode address
         6: .line 681
            aload 1 /* graph */
            new org.graalvm.compiler.nodes.memory.ReadNode
            dup
            aload 7 /* address */
            aload 2 /* load */
            invokevirtual org.graalvm.compiler.nodes.extended.RawLoadNode.getLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
            aload 6 /* loadStamp */
            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 8 /* memoryRead */
        start local 8 // org.graalvm.compiler.nodes.memory.ReadNode memoryRead
         7: .line 682
            aload 3 /* guard */
            ifnonnull 10
         8: .line 685
            aload 8 /* memoryRead */
            iconst_1
            invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.setForceFixed:(Z)V
         9: .line 686
            goto 11
        10: .line 687
      StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.extended.RawLoadNode org.graalvm.compiler.nodes.extended.GuardingNode int jdk.vm.ci.meta.JavaKind org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.nodes.memory.address.AddressNode org.graalvm.compiler.nodes.memory.ReadNode
      StackMap stack:
            aload 8 /* memoryRead */
            aload 3 /* guard */
            invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.setGuard:(Lorg/graalvm/compiler/nodes/extended/GuardingNode;)V
        11: .line 689
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* graph */
            aload 5 /* readKind */
            aload 8 /* memoryRead */
            iload 4 /* compressible */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.implicitLoadConvert:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;Z)Lorg/graalvm/compiler/nodes/ValueNode;
            aload 5 /* readKind */
            invokestatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.performBooleanCoercionIfNecessary:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 9 /* readValue */
        start local 9 // org.graalvm.compiler.nodes.ValueNode readValue
        12: .line 690
            aload 2 /* load */
            aload 9 /* readValue */
            invokevirtual org.graalvm.compiler.nodes.extended.RawLoadNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
        13: .line 691
            aload 8 /* memoryRead */
            areturn
        end local 9 // org.graalvm.compiler.nodes.ValueNode readValue
        end local 8 // org.graalvm.compiler.nodes.memory.ReadNode memoryRead
        end local 7 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        end local 6 // org.graalvm.compiler.core.common.type.Stamp loadStamp
        end local 5 // jdk.vm.ci.meta.JavaKind readKind
        end local 4 // boolean compressible
        end local 3 // org.graalvm.compiler.nodes.extended.GuardingNode guard
        end local 2 // org.graalvm.compiler.nodes.extended.RawLoadNode load
        end local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   14     0          this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0   14     1         graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0   14     2          load  Lorg/graalvm/compiler/nodes/extended/RawLoadNode;
            0   14     3         guard  Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            3   14     4  compressible  Z
            4   14     5      readKind  Ljdk/vm/ci/meta/JavaKind;
            5   14     6     loadStamp  Lorg/graalvm/compiler/core/common/type/Stamp;
            6   14     7       address  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            7   14     8    memoryRead  Lorg/graalvm/compiler/nodes/memory/ReadNode;
           12   14     9     readValue  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
       Name  Flags
      graph  
      load   
      guard  

  protected void lowerUnsafeMemoryLoadNode(org.graalvm.compiler.nodes.extended.UnsafeMemoryLoadNode);
    descriptor: (Lorg/graalvm/compiler/nodes/extended/UnsafeMemoryLoadNode;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=8, args_size=2
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // org.graalvm.compiler.nodes.extended.UnsafeMemoryLoadNode load
         0: .line 695
            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 696
            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 697
            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 698
      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 699
            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 700
            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 703
            aload 6 /* memoryRead */
            iconst_1
            invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.setForceFixed:(Z)V
         7: .line 704
            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 705
            aload 1 /* load */
            aload 7 /* readValue */
            invokevirtual org.graalvm.compiler.nodes.extended.UnsafeMemoryLoadNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
         9: .line 706
            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 707
            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 710
            aload 1 /* readKind */
            getstatic jdk.vm.ci.meta.JavaKind.Boolean:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 4
         1: .line 711
            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 712
            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 713
            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 715
      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 719
            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 720
            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 721
            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 722
            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 723
            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 724
            aload 2 /* graph */
            new org.graalvm.compiler.nodes.memory.WriteNode
            dup
            aload 6 /* address */
            aload 1 /* store */
            invokevirtual org.graalvm.compiler.nodes.extended.RawStoreNode.getLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
            aload 5 /* value */
            aload 0 /* this */
            aload 1 /* store */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.unsafeStoreBarrierType:(Lorg/graalvm/compiler/nodes/extended/RawStoreNode;)Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            invokespecial org.graalvm.compiler.nodes.memory.WriteNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.memory.WriteNode
            astore 7 /* write */
        start local 7 // org.graalvm.compiler.nodes.memory.WriteNode write
         8: .line 725
            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 726
            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 727
            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=7, locals=7, args_size=2
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // org.graalvm.compiler.nodes.extended.UnsafeMemoryStoreNode store
         0: .line 730
            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 731
            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 732
      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 733
            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 734
            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 735
            aload 2 /* graph */
            new org.graalvm.compiler.nodes.memory.WriteNode
            dup
            aload 5 /* address */
            aload 1 /* store */
            invokevirtual org.graalvm.compiler.nodes.extended.UnsafeMemoryStoreNode.getLocationIdentity:()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;
            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;)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 736
            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 737
            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 738
            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 741
            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 742
            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 743
            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 745
            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 746
            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 747
            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 748
            aload 6 /* guard */
            ifnonnull 9
         7: .line 751
            aload 5 /* memoryRead */
            iconst_1
            invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.setForceFixed:(Z)V
         8: .line 752
            goto 10
         9: .line 753
      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 755
      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 756
            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 757
            return
        end local 7 // org.graalvm.compiler.nodes.ValueNode readValue
        end local 6 // org.graalvm.compiler.nodes.extended.GuardingNode guard
        end local 5 // org.graalvm.compiler.nodes.memory.ReadNode memoryRead
        end local 4 // org.graalvm.compiler.core.common.type.Stamp loadStamp
        end local 3 // jdk.vm.ci.meta.JavaKind valueKind
        end local 2 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 1 // org.graalvm.compiler.nodes.extended.JavaReadNode read
        end local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   13     0        this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0   13     1        read  Lorg/graalvm/compiler/nodes/extended/JavaReadNode;
            1   13     2       graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            2   13     3   valueKind  Ljdk/vm/ci/meta/JavaKind;
            3   13     4   loadStamp  Lorg/graalvm/compiler/core/common/type/Stamp;
            4   13     5  memoryRead  Lorg/graalvm/compiler/nodes/memory/ReadNode;
            5   13     6       guard  Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            6   13     7   readValue  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
      Name  Flags
      read  

  protected void lowerJavaWriteNode(org.graalvm.compiler.nodes.extended.JavaWriteNode);
    descriptor: (Lorg/graalvm/compiler/nodes/extended/JavaWriteNode;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=5, args_size=2
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // org.graalvm.compiler.nodes.extended.JavaWriteNode write
         0: .line 760
            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 761
            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 762
            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.getLocationIdentity:()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;
            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;)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 763
            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 764
            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 765
            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 766
            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 770
            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 771
            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 102
         2: .line 772
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* recursiveLowerings */
        start local 4 // java.util.List recursiveLowerings
         3: .line 774
            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 775
            new java.util.BitSet
            dup
            invokespecial java.util.BitSet.<init>:()V
            astore 6 /* omittedValues */
        start local 6 // java.util.BitSet omittedValues
         5: .line 776
            iconst_0
            istore 7 /* valuePos */
        start local 7 // int valuePos
         6: .line 777
            iconst_0
            istore 8 /* objIndex */
        start local 8 // int objIndex
         7: goto 57
         8: .line 778
      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 779
            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 780
            aload 9 /* virtual */
            invokevirtual org.graalvm.compiler.nodes.virtual.VirtualObjectNode.entryCount:()I
            istore 13 /* entryCount */
        start local 13 // int entryCount
        12: .line 782
            aload 9 /* virtual */
            instanceof org.graalvm.compiler.nodes.virtual.VirtualInstanceNode
            ifeq 15
        13: .line 783
            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 784
            goto 16
        end local 14 // org.graalvm.compiler.nodes.java.AbstractNewObjectNode newObject
        15: .line 785
      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 788
      StackMap locals: org.graalvm.compiler.nodes.java.AbstractNewObjectNode
      StackMap stack:
            aload 4 /* recursiveLowerings */
            aload 14 /* newObject */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        17: .line 789
            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
        18: .line 790
            aload 5 /* allocations */
            iload 8 /* objIndex */
            aload 14 /* newObject */
            aastore
        19: .line 791
            iconst_0
            istore 15 /* i */
        start local 15 // int i
        20: goto 49
        21: .line 792
      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
        22: .line 793
            aload 16 /* value */
            instanceof org.graalvm.compiler.nodes.virtual.VirtualObjectNode
            ifeq 24
        23: .line 794
            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 */
        24: .line 796
      StackMap locals: org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 16 /* value */
            ifnonnull 27
        25: .line 797
            aload 6 /* omittedValues */
            iload 7 /* valuePos */
            invokevirtual java.util.BitSet.set:(I)V
        26: .line 798
            goto 47
      StackMap locals:
      StackMap stack:
        27: aload 16 /* value */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifeq 28
            aload 16 /* value */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.asConstant:()Ljdk/vm/ci/meta/Constant;
            invokeinterface jdk.vm.ci.meta.Constant.isDefaultForKind:()Z
            ifne 47
        28: .line 800
      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
        29: .line 801
            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
        30: .line 804
            getstatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.$assertionsDisabled:Z
            ifne 33
            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 33
        31: .line 805
            aload 17 /* valueKind */
            getstatic jdk.vm.ci.meta.JavaKind.Long:Ljdk/vm/ci/meta/JavaKind;
            if_acmpeq 33
            aload 17 /* valueKind */
            getstatic jdk.vm.ci.meta.JavaKind.Double:Ljdk/vm/ci/meta/JavaKind;
            if_acmpeq 33
            aload 17 /* valueKind */
            getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 32
            aload 9 /* virtual */
            instanceof org.graalvm.compiler.nodes.virtual.VirtualArrayNode
            ifne 33
      StackMap locals: jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.JavaKind
      StackMap stack:
        32: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        33: .line 806
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 19 /* address */
        start local 19 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        34: .line 807
            aconst_null
            astore 20 /* barrierType */
        start local 20 // org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType barrierType
        35: .line 808
            aload 9 /* virtual */
            instanceof org.graalvm.compiler.nodes.virtual.VirtualInstanceNode
            ifeq 42
        36: .line 809
            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
        37: .line 810
            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
        38: .line 811
            lload 22 /* offset */
            lconst_0
            lcmp
            iflt 44
        39: .line 812
            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 */
        40: .line 813
            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
        41: .line 815
            goto 44
        42: .line 816
      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 */
        43: .line 817
            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 */
        44: .line 819
      StackMap locals:
      StackMap stack:
            aload 19 /* address */
            ifnull 47
        45: .line 820
            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 */
            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;)V
            astore 21 /* write */
        start local 21 // org.graalvm.compiler.nodes.memory.WriteNode write
        46: .line 821
            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
        47: .line 824
      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
        48: .line 791
            iinc 15 /* i */ 1
      StackMap locals:
      StackMap stack:
        49: iload 15 /* i */
            iload 13 /* entryCount */
            if_icmplt 21
        end local 15 // int i
        end local 14 // org.graalvm.compiler.nodes.java.AbstractNewObjectNode newObject
        end local 13 // int entryCount
        50: .line 826
            aload 12 /* nsp */
            ifnull 56
            aload 12 /* nsp */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
            goto 56
      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
        51: astore 10
            aload 12 /* nsp */
            ifnull 52
            aload 12 /* nsp */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
        end local 12 // org.graalvm.compiler.debug.DebugCloseable nsp
      StackMap locals:
      StackMap stack:
        52: aload 10
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        53: astore 11
            aload 10
            ifnonnull 54
            aload 11
            astore 10
            goto 55
      StackMap locals:
      StackMap stack:
        54: aload 10
            aload 11
            if_acmpeq 55
            aload 10
            aload 11
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        55: aload 10
            athrow
        end local 9 // org.graalvm.compiler.nodes.virtual.VirtualObjectNode virtual
        56: .line 777
      StackMap locals:
      StackMap stack:
            iinc 8 /* objIndex */ 1
      StackMap locals:
      StackMap stack:
        57: 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
        58: .line 828
            iconst_0
            istore 7 /* valuePos */
        59: .line 830
            iconst_0
            istore 8 /* objIndex */
        start local 8 // int objIndex
        60: goto 95
        61: .line 831
      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
        62: .line 832
            aconst_null
            astore 10
            aconst_null
            astore 11
        63: 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
        64: .line 833
            aload 9 /* virtual */
            invokevirtual org.graalvm.compiler.nodes.virtual.VirtualObjectNode.entryCount:()I
            istore 13 /* entryCount */
        start local 13 // int entryCount
        65: .line 834
            aload 5 /* allocations */
            iload 8 /* objIndex */
            aaload
            astore 14 /* newObject */
        start local 14 // org.graalvm.compiler.nodes.ValueNode newObject
        66: .line 835
            iconst_0
            istore 15 /* i */
        start local 15 // int i
        67: goto 87
        68: .line 836
      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 85
        69: .line 837
            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
        70: .line 838
            getstatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.$assertionsDisabled:Z
            ifne 71
            aload 16 /* value */
            instanceof org.graalvm.compiler.nodes.virtual.VirtualObjectNode
            ifne 71
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        71: .line 839
      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
        72: .line 840
            aload 17 /* allocValue */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifeq 73
            aload 17 /* allocValue */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.asConstant:()Ljdk/vm/ci/meta/Constant;
            invokeinterface jdk.vm.ci.meta.Constant.isDefaultForKind:()Z
            ifne 85
        73: .line 841
      StackMap locals: org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            getstatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.$assertionsDisabled:Z
            ifne 75
            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 74
            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 75
      StackMap locals:
      StackMap stack:
        74: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        75: .line 844
      StackMap locals:
      StackMap stack:
            aload 9 /* virtual */
            instanceof org.graalvm.compiler.nodes.virtual.VirtualInstanceNode
            ifeq 80
        76: .line 845
            aload 9 /* virtual */
            checkcast org.graalvm.compiler.nodes.virtual.VirtualInstanceNode
            astore 20 /* virtualInstance */
        start local 20 // org.graalvm.compiler.nodes.virtual.VirtualInstanceNode virtualInstance
        77: .line 846
            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
        78: .line 847
            getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.IMPRECISE: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
        79: .line 848
            goto 82
        end local 19 // org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType barrierType
        end local 18 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        80: .line 849
      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
        81: .line 850
            getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.PRECISE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            astore 19 /* barrierType */
        start local 19 // org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType barrierType
        82: .line 852
      StackMap locals: org.graalvm.compiler.nodes.memory.address.AddressNode org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType
      StackMap stack:
            aload 18 /* address */
            ifnull 85
        83: .line 853
            new org.graalvm.compiler.nodes.memory.WriteNode
            dup
            aload 18 /* address */
            invokestatic jdk.internal.vm.compiler.word.LocationIdentity.init:()Ljdk/internal/vm/compiler/word/LocationIdentity;
            aload 0 /* this */
            aload 3 /* graph */
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            aload 17 /* allocValue */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.implicitStoreConvert:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            aload 19 /* barrierType */
            invokespecial org.graalvm.compiler.nodes.memory.WriteNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;)V
            astore 20 /* write */
        start local 20 // org.graalvm.compiler.nodes.memory.WriteNode write
        84: .line 854
            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
        85: .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.ValueNode int
      StackMap stack:
            iinc 7 /* valuePos */ 1
        86: .line 835
            iinc 15 /* i */ 1
      StackMap locals:
      StackMap stack:
        87: iload 15 /* i */
            iload 13 /* entryCount */
            if_icmplt 68
        end local 15 // int i
        end local 14 // org.graalvm.compiler.nodes.ValueNode newObject
        end local 13 // int entryCount
        88: .line 860
            aload 12 /* nsp */
            ifnull 94
            aload 12 /* nsp */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
            goto 94
      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
        89: astore 10
            aload 12 /* nsp */
            ifnull 90
            aload 12 /* nsp */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
        end local 12 // org.graalvm.compiler.debug.DebugCloseable nsp
      StackMap locals:
      StackMap stack:
        90: aload 10
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        91: astore 11
            aload 10
            ifnonnull 92
            aload 11
            astore 10
            goto 93
      StackMap locals:
      StackMap stack:
        92: aload 10
            aload 11
            if_acmpeq 93
            aload 10
            aload 11
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        93: aload 10
            athrow
        end local 9 // org.graalvm.compiler.nodes.virtual.VirtualObjectNode virtual
        94: .line 830
      StackMap locals:
      StackMap stack:
            iinc 8 /* objIndex */ 1
      StackMap locals:
      StackMap stack:
        95: 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 61
        end local 8 // int objIndex
        96: .line 863
            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
        97: .line 864
            aload 3 /* graph */
            aload 1 /* commit */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.removeFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
        98: .line 866
            aload 4 /* recursiveLowerings */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 9
            goto 101
      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:
        99: 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
       100: .line 867
            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
       101: .line 866
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 99
        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
       102: .line 871
      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  103     0                this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0  103     1              commit  Lorg/graalvm/compiler/nodes/virtual/CommitAllocationNode;
            0  103     2                tool  Lorg/graalvm/compiler/nodes/spi/LoweringTool;
            1  103     3               graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            3  102     4  recursiveLowerings  Ljava/util/List<Lorg/graalvm/compiler/nodes/java/AbstractNewObjectNode;>;
            4  102     5         allocations  [Lorg/graalvm/compiler/nodes/ValueNode;
            5  102     6       omittedValues  Ljava/util/BitSet;
            6  102     7            valuePos  I
            7   58     8            objIndex  I
            9   56     9             virtual  Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;
           11   52    12                 nsp  Lorg/graalvm/compiler/debug/DebugCloseable;
           12   50    13          entryCount  I
           14   15    14           newObject  Lorg/graalvm/compiler/nodes/java/AbstractNewObjectNode;
           16   50    14           newObject  Lorg/graalvm/compiler/nodes/java/AbstractNewObjectNode;
           20   50    15                   i  I
           22   48    16               value  Lorg/graalvm/compiler/nodes/ValueNode;
           29   47    17           valueKind  Ljdk/vm/ci/meta/JavaKind;
           30   47    18           entryKind  Ljdk/vm/ci/meta/JavaKind;
           34   47    19             address  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
           35   47    20         barrierType  Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
           37   41    21               field  Ljdk/vm/ci/meta/ResolvedJavaField;
           38   41    22              offset  J
           46   47    21               write  Lorg/graalvm/compiler/nodes/memory/WriteNode;
           60   96     8            objIndex  I
           62   94     9             virtual  Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;
           64   90    12                 nsp  Lorg/graalvm/compiler/debug/DebugCloseable;
           65   88    13          entryCount  I
           66   88    14           newObject  Lorg/graalvm/compiler/nodes/ValueNode;
           67   88    15                   i  I
           70   85    16               value  Lorg/graalvm/compiler/nodes/ValueNode;
           72   85    17          allocValue  Lorg/graalvm/compiler/nodes/ValueNode;
           78   80    18             address  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
           81   85    18             address  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
           79   80    19         barrierType  Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
           82   85    19         barrierType  Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
           77   79    20     virtualInstance  Lorg/graalvm/compiler/nodes/virtual/VirtualInstanceNode;
           84   85    20               write  Lorg/graalvm/compiler/nodes/memory/WriteNode;
          100  101     8   recursiveLowering  Lorg/graalvm/compiler/nodes/java/AbstractNewObjectNode;
      Exception table:
        from    to  target  type
          11    50      51  any
          10    53      53  any
          64    88      89  any
          63    91      91  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 874
            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 878
            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 882
            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 883
            iconst_0
            istore 5 /* objIndex */
        start local 5 // int objIndex
         2: goto 7
         3: .line 884
      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 885
            aload 3 /* allocations */
            iload 5 /* objIndex */
            aload 6 /* anchor */
            aastore
         5: .line 886
            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 883
            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 898
            aconst_null
            astore 5 /* enters */
        start local 5 // java.util.ArrayList enters
         9: .line 899
            iconst_0
            istore 6 /* objIndex */
        start local 6 // int objIndex
        10: goto 28
        11: .line 900
      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 901
            aload 7 /* locks */
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmple 16
        13: .line 903
            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 904
            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 905
            aload 8 /* newList */
            astore 7 /* locks */
        end local 8 // java.util.ArrayList newList
        16: .line 907
      StackMap locals: java.util.List
      StackMap stack:
            iconst_m1
            istore 8 /* lastDepth */
        start local 8 // int lastDepth
        17: .line 908
            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 909
            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 910
      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 911
            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 912
            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 913
            aload 5 /* enters */
            ifnonnull 25
        24: .line 914
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* enters */
        25: .line 916
      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 908
      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 899
            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 919
            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 920
            aload 6 /* usage */
            instanceof org.graalvm.compiler.nodes.virtual.AllocatedObjectNode
            ifeq 36
        32: .line 921
            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 922
            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 923
            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 924
            goto 38
        36: .line 925
      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 926
      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 919
      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 929
            aload 5 /* enters */
            ifnull 44
        40: .line 930
            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 931
            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 930
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 41
        44: .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
      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 935
      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 936
            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 944
            bipush 8
            istore 2 /* barrier */
        start local 2 // int barrier
         1: .line 945
            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 946
            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 947
            aload 5 /* field */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaField.isFinal:()Z
            ifeq 8
         6: .line 948
            iload 2 /* barrier */
            iconst_2
            ior
            istore 2 /* barrier */
         7: .line 949
            goto 11
        end local 5 // jdk.vm.ci.meta.ResolvedJavaField field
         8: .line 946
      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 945
      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 953
      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 954
            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 960
            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 964
            aload 1 /* field */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaField.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 2
         1: .line 965
            getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.IMPRECISE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            areturn
         2: .line 967
      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 971
            aload 1 /* elementKind */
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 2
         1: .line 972
            getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.PRECISE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            areturn
         2: .line 974
      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 978
            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.IMPRECISE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            goto 2
      StackMap locals:
      StackMap stack:
         1: getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
      StackMap locals:
      StackMap stack: org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType
         2: areturn
        end local 1 // jdk.vm.ci.meta.JavaKind entryKind
        end local 0 // org.graalvm.compiler.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 982
            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.PRECISE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            goto 2
      StackMap locals:
      StackMap stack:
         1: getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
      StackMap locals:
      StackMap stack: org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType
         2: areturn
        end local 1 // jdk.vm.ci.meta.JavaKind entryKind
        end local 0 // org.graalvm.compiler.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 986
            aload 1 /* store */
            invokevirtual org.graalvm.compiler.nodes.extended.RawStoreNode.needsBarrier:()Z
            ifne 2
         1: .line 987
            getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            areturn
         2: .line 989
      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 993
            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 5
            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 5
         1: .line 994
            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 997
            aload 3 /* type */
            ifnull 3
            aload 3 /* type */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isArray:()Z
            ifne 3
            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 4
         3: .line 998
      StackMap locals: jdk.vm.ci.meta.ResolvedJavaType
      StackMap stack:
            getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.PRECISE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            areturn
         4: .line 1000
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.IMPRECISE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            areturn
        end local 3 // jdk.vm.ci.meta.ResolvedJavaType type
         5: .line 1003
      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    6     0    this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0    6     1  object  Lorg/graalvm/compiler/nodes/ValueNode;
            0    6     2   value  Lorg/graalvm/compiler/nodes/ValueNode;
            2    5     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 1009
            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 1017
            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 1021
            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 1030
            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 1031
            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 1034
      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 1037
      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 1040
      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 1042
      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 1046
            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 1050
            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 1054
            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 1055
            aload 5 /* ret */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isAlive:()Z
            ifne 3
         2: .line 1056
            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 1058
      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 1067
            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 1068
            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 1071
      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 1074
      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 1077
      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 1079
      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 1083
            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 1087
            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 1091
            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 1092
            aload 5 /* ret */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isAlive:()Z
            ifne 3
         2: .line 1093
            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 1095
      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 1102
            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 1103
            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 1106
      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 1109
      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 1112
      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 1114
      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 1122
            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 1123
            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 1124
            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 1125
            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 1129
            aload 1 /* n */
            invokevirtual org.graalvm.compiler.nodes.java.AccessIndexedNode.getBoundsCheck:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            ifnull 2
         1: .line 1130
            aload 1 /* n */
            invokevirtual org.graalvm.compiler.nodes.java.AccessIndexedNode.getBoundsCheck:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            areturn
         2: .line 1133
      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 1134
            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 1136
            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 1137
            aload 6 /* boundsCheck */
            invokevirtual org.graalvm.compiler.nodes.LogicNode.isTautology:()Z
            ifeq 7
         6: .line 1138
            aconst_null
            areturn
         7: .line 1140
      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 1144
            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 1145
            aload 5 /* arrayLength */
            ifnonnull 4
         2: .line 1146
            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 1147
            goto 7
         4: .line 1148
      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 1150
      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 1154
            aload 1 /* object */
            invokestatic org.graalvm.compiler.nodes.type.StampTool.isPointerNonNull:(Lorg/graalvm/compiler/nodes/ValueNode;)Z
            ifeq 2
         1: .line 1155
            aconst_null
            areturn
         2: .line 1157
      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 1161
            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 1162
            aload 4 /* nullCheck */
            ifnonnull 3
         2: .line 1163
            aload 1 /* object */
            areturn
         3: .line 1165
      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 1170
            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 1171
            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 1173
            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 1174
            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 1176
            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 1177
            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 1178
            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 162
            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 904
            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