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

  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=1, locals=0, args_size=0
         0: .line 159
            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
            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 170
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 171
            aload 0 /* this */
            aload 1 /* metaAccess */
            putfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.metaAccess:Ljdk/vm/ci/meta/MetaAccessProvider;
         2: .line 172
            aload 0 /* this */
            aload 2 /* foreignCalls */
            putfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.foreignCalls:Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;
         3: .line 173
            aload 0 /* this */
            aload 3 /* target */
            putfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.target:Ljdk/vm/ci/code/TargetDescription;
         4: .line 174
            aload 0 /* this */
            iload 4 /* useCompressedOops */
            putfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.useCompressedOops:Z
         5: .line 175
            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 176
            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 179
            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 180
            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 181
            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 182
            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 185
            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 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 191
            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 192
      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 193
            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 194
            aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.java.LoadFieldNode
            ifeq 7
         5: .line 195
            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 196
            goto 80
      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 197
            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 198
            goto 80
      StackMap locals:
      StackMap stack:
        10: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.java.LoadIndexedNode
            ifeq 13
        11: .line 199
            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 200
            goto 80
      StackMap locals:
      StackMap stack:
        13: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.java.StoreIndexedNode
            ifeq 16
        14: .line 201
            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 202
            goto 80
      StackMap locals:
      StackMap stack:
        16: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.java.ArrayLengthNode
            ifeq 19
        17: .line 203
            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 204
            goto 80
      StackMap locals:
      StackMap stack:
        19: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.extended.LoadHubNode
            ifeq 22
        20: .line 205
            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 206
            goto 80
      StackMap locals:
      StackMap stack:
        22: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.extended.LoadArrayComponentHubNode
            ifeq 25
        23: .line 207
            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 208
            goto 80
      StackMap locals:
      StackMap stack:
        25: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.java.MonitorEnterNode
            ifeq 28
        26: .line 209
            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 210
            goto 80
      StackMap locals:
      StackMap stack:
        28: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.java.UnsafeCompareAndSwapNode
            ifeq 31
        29: .line 211
            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 212
            goto 80
      StackMap locals:
      StackMap stack:
        31: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.java.UnsafeCompareAndExchangeNode
            ifeq 34
        32: .line 213
            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 214
            goto 80
      StackMap locals:
      StackMap stack:
        34: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.java.AtomicReadAndWriteNode
            ifeq 37
        35: .line 215
            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 216
            goto 80
      StackMap locals:
      StackMap stack:
        37: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.extended.RawLoadNode
            ifeq 40
        38: .line 217
            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 218
            goto 80
      StackMap locals:
      StackMap stack:
        40: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.extended.UnsafeMemoryLoadNode
            ifeq 43
        41: .line 219
            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 220
            goto 80
      StackMap locals:
      StackMap stack:
        43: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.extended.RawStoreNode
            ifeq 46
        44: .line 221
            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 222
            goto 80
      StackMap locals:
      StackMap stack:
        46: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.extended.UnsafeMemoryStoreNode
            ifeq 49
        47: .line 223
            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 224
            goto 80
      StackMap locals:
      StackMap stack:
        49: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.extended.JavaReadNode
            ifeq 52
        50: .line 225
            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 226
            goto 80
      StackMap locals:
      StackMap stack:
        52: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.extended.JavaWriteNode
            ifeq 55
        53: .line 227
            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 228
            goto 80
      StackMap locals:
      StackMap stack:
        55: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.virtual.CommitAllocationNode
            ifeq 58
        56: .line 229
            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 230
            goto 80
      StackMap locals:
      StackMap stack:
        58: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.extended.BoxNode
            ifeq 61
        59: .line 231
            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 232
            goto 80
      StackMap locals:
      StackMap stack:
        61: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.extended.UnboxNode
            ifeq 64
        62: .line 233
            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 234
            goto 80
      StackMap locals:
      StackMap stack:
        64: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.debug.VerifyHeapNode
            ifeq 67
        65: .line 235
            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 236
            goto 80
      StackMap locals:
      StackMap stack:
        67: aload 1 /* n */
            instanceof org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode
            ifeq 70
        68: .line 237
            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 238
            goto 80
      StackMap locals:
      StackMap stack:
        70: aload 1 /* n */
            instanceof org.graalvm.compiler.replacements.nodes.BinaryMathIntrinsicNode
            ifeq 73
        71: .line 239
            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 240
            goto 80
      StackMap locals:
      StackMap stack:
        73: aload 1 /* n */
            instanceof org.graalvm.compiler.replacements.StringIndexOfNode
            ifeq 76
        74: .line 241
            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 242
            goto 80
      StackMap locals:
      StackMap stack:
        76: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.calc.UnpackEndianHalfNode
            ifeq 79
        77: .line 243
            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
        78: .line 244
            goto 80
        79: .line 245
      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
        80: .line 247
      StackMap locals:
      StackMap stack:
            aload 6 /* context */
            ifnull 86
            aload 6 /* context */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
            goto 86
      StackMap locals:
      StackMap stack: java.lang.Throwable
        81: astore 4
            aload 6 /* context */
            ifnull 82
            aload 6 /* context */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
        end local 6 // org.graalvm.compiler.debug.DebugCloseable context
      StackMap locals:
      StackMap stack:
        82: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        83: astore 5
            aload 4
            ifnonnull 84
            aload 5
            astore 4
            goto 85
      StackMap locals:
      StackMap stack:
        84: aload 4
            aload 5
            if_acmpeq 85
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        85: aload 4
            athrow
        86: .line 248
      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   87     0     this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0   87     1        n  Lorg/graalvm/compiler/graph/Node;
            0   87     2     tool  Lorg/graalvm/compiler/nodes/spi/LoweringTool;
            2   87     3    graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            4   82     6  context  Lorg/graalvm/compiler/debug/DebugCloseable;
      Exception table:
        from    to  target  type
           4    80      81  any
           3    83      83  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 251
            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 252
            aload 1 /* n */
            aload 2 /* byteOrder */
            invokevirtual org.graalvm.compiler.nodes.calc.UnpackEndianHalfNode.lower:(Ljava/nio/ByteOrder;)V
         2: .line 253
            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 256
            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 257
            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 266
            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 267
            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 268
            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 270
      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 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 273
            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 274
            return
         2: .line 276
      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 277
            aload 3 /* method */
            ifnull 8
         4: .line 278
            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 282
            return
         6: .line 284
      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 289
            return
         8: .line 293
      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 294
            aload 4 /* foreignCall */
            ifnull 14
        10: .line 295
            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 296
            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 297
            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 298
            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 300
      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 303
            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 304
            return
         2: .line 306
      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 307
            aload 3 /* method */
            ifnull 8
         4: .line 308
            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 312
            return
         6: .line 314
      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 319
            return
         8: .line 323
      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 324
            aload 4 /* foreignCall */
            ifnull 14
        10: .line 325
            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 326
            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 327
            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 328
            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 330
      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 333
            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 337
            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 341
            aload 1 /* n */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.removeFixedWithUnusedInputs:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
         1: .line 342
            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 345
            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 346
            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 350
            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 351
            iload 4 /* offset */
            iflt 3
         2: .line 352
            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 354
      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 361
            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 362
      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 363
            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 364
            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 365
            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 366
            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 368
            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 369
            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 371
      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 372
            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 373
            aload 1 /* loadField */
            aload 9 /* readValue */
            invokevirtual org.graalvm.compiler.nodes.java.LoadFieldNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
        13: .line 374
            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 376
            aload 1 /* loadField */
            invokevirtual org.graalvm.compiler.nodes.java.LoadFieldNode.isVolatile:()Z
            ifeq 19
        15: .line 377
            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 378
            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 379
            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 380
            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 382
      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 385
            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 386
            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 387
            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 388
            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 389
            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 390
            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 391
            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 393
      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 394
            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 395
            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 397
            aload 1 /* storeField */
            invokevirtual org.graalvm.compiler.nodes.java.StoreFieldNode.isVolatile:()Z
            ifeq 17
        13: .line 398
            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 399
            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 400
            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 401
            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 403
      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=8, 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 410
            bipush 32
            lconst_0
            ldc 2147483646
            invokestatic org.graalvm.compiler.core.common.type.StampFactory.forInteger:(IJJ)Lorg/graalvm/compiler/core/common/type/IntegerStamp;
            astore 6 /* indexStamp */
        start local 6 // org.graalvm.compiler.core.common.type.IntegerStamp indexStamp
         1: .line 411
            aload 1 /* graph */
            aload 4 /* index */
            aload 6 /* indexStamp */
            aload 5 /* boundsCheck */
            ifnull 2
            aload 5 /* boundsCheck */
            invokeinterface org.graalvm.compiler.nodes.extended.GuardingNode.asNode:()Lorg/graalvm/compiler/nodes/ValueNode;
            goto 3
      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 org.graalvm.compiler.core.common.type.IntegerStamp
      StackMap stack: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.core.common.type.IntegerStamp
         2: 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 org.graalvm.compiler.core.common.type.IntegerStamp
      StackMap stack: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.core.common.type.IntegerStamp org.graalvm.compiler.nodes.ValueNode
         3: 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 7 /* positiveIndex */
        start local 7 // org.graalvm.compiler.nodes.ValueNode positiveIndex
         4: .line 412
            aload 0 /* this */
            aload 1 /* graph */
            aload 2 /* array */
            aload 3 /* elementKind */
            aload 7 /* 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 7 // org.graalvm.compiler.nodes.ValueNode positiveIndex
        end local 6 // org.graalvm.compiler.core.common.type.IntegerStamp indexStamp
        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    5     0           this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0    5     1          graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0    5     2          array  Lorg/graalvm/compiler/nodes/ValueNode;
            0    5     3    elementKind  Ljdk/vm/ci/meta/JavaKind;
            0    5     4          index  Lorg/graalvm/compiler/nodes/ValueNode;
            0    5     5    boundsCheck  Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            1    5     6     indexStamp  Lorg/graalvm/compiler/core/common/type/IntegerStamp;
            4    5     7  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 417
            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 418
            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 419
            goto 5
        end local 5 // org.graalvm.compiler.nodes.ValueNode wordIndex
         3: .line 420
      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 421
      StackMap locals:
      StackMap stack:
            aload 4 /* index */
            astore 5 /* wordIndex */
        start local 5 // org.graalvm.compiler.nodes.ValueNode wordIndex
         5: .line 424
      StackMap locals: org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 0 /* this */
            aload 3 /* elementKind */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.arrayScalingFactor:(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 425
            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 427
            aload 0 /* this */
            aload 3 /* elementKind */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.arrayBaseOffset:(Ljdk/vm/ci/meta/JavaKind;)I
            istore 8 /* base */
        start local 8 // int base
         8: .line 428
            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 430
            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=11, 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 434
            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 435
            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 436
            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 437
            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 438
            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 440
            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 441
            aload 0 /* this */
            aload 3 /* graph */
            aload 4 /* array */
            aload 5 /* elementKind */
            aload 1 /* loadIndexed */
            invokevirtual org.graalvm.compiler.nodes.java.LoadIndexedNode.index:()Lorg/graalvm/compiler/nodes/ValueNode;
            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 8 /* address */
        start local 8 // org.graalvm.compiler.nodes.memory.address.AddressNode address
         7: .line 442
            aload 3 /* graph */
            new org.graalvm.compiler.nodes.memory.ReadNode
            dup
            aload 8 /* 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 9 /* memoryRead */
        start local 9 // org.graalvm.compiler.nodes.memory.ReadNode memoryRead
         8: .line 443
            aload 9 /* memoryRead */
            aload 7 /* boundsCheck */
            invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.setGuard:(Lorg/graalvm/compiler/nodes/extended/GuardingNode;)V
         9: .line 444
            aload 0 /* this */
            aload 3 /* graph */
            aload 5 /* elementKind */
            aload 9 /* memoryRead */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.implicitLoadConvert:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 10 /* readValue */
        start local 10 // org.graalvm.compiler.nodes.ValueNode readValue
        10: .line 446
            aload 1 /* loadIndexed */
            aload 10 /* readValue */
            invokevirtual org.graalvm.compiler.nodes.java.LoadIndexedNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
        11: .line 447
            aload 3 /* graph */
            aload 1 /* loadIndexed */
            aload 9 /* memoryRead */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/graph/Node;)V
        12: .line 448
            return
        end local 10 // org.graalvm.compiler.nodes.ValueNode readValue
        end local 9 // org.graalvm.compiler.nodes.memory.ReadNode memoryRead
        end local 8 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        end local 7 // org.graalvm.compiler.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   13     0         this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0   13     1  loadIndexed  Lorg/graalvm/compiler/nodes/java/LoadIndexedNode;
            0   13     2         tool  Lorg/graalvm/compiler/nodes/spi/LoweringTool;
            1   13     3        graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            2   13     4        array  Lorg/graalvm/compiler/nodes/ValueNode;
            4   13     5  elementKind  Ljdk/vm/ci/meta/JavaKind;
            5   13     6    loadStamp  Lorg/graalvm/compiler/core/common/type/Stamp;
            6   13     7  boundsCheck  Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            7   13     8      address  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            8   13     9   memoryRead  Lorg/graalvm/compiler/nodes/memory/ReadNode;
           10   13    10    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 451
            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 453
            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 454
            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 456
            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 458
            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 460
            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 462
            aconst_null
            astore 8 /* condition */
        start local 8 // org.graalvm.compiler.nodes.LogicNode condition
         7: .line 463
            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 465
            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 466
            aload 9 /* arrayType */
            ifnull 16
            aload 9 /* arrayType */
            invokevirtual org.graalvm.compiler.core.common.type.TypeReference.isExact:()Z
            ifeq 16
        10: .line 467
            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 468
            aload 10 /* elementType */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isJavaLangObject:()Z
            ifne 20
        12: .line 469
            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 470
            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 471
            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 473
            goto 20
        16: .line 478
      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 479
            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 480
            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 481
            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 485
      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 486
            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 487
            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 486
            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 488
            aload 10 /* memoryWrite */
            aload 6 /* boundsCheck */
            invokevirtual org.graalvm.compiler.nodes.memory.WriteNode.setGuard:(Lorg/graalvm/compiler/nodes/extended/GuardingNode;)V
        25: .line 489
            aload 8 /* condition */
            ifnull 27
        26: .line 490
            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 492
      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 493
            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 494
            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 497
            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 498
            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 499
            aload 3 /* graph */
            aload 1 /* arrayLengthNode */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.removeFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
         3: .line 500
            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 508
            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 509
            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 510
            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 511
            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 512
            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 513
            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 517
            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 518
            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 519
            return
         3: .line 521
      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 522
            return
         5: .line 524
      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 525
            aload 1 /* loadHub */
            aload 4 /* hub */
            invokevirtual org.graalvm.compiler.nodes.extended.LoadHubNode.replaceAtUsagesAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
         7: .line 526
            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 529
            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 530
            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 531
            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 532
            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 535
            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 536
            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 537
            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 538
            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 539
            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 540
            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 541
            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 544
            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 545
            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 547
            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 548
            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 550
            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 551
            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 552
            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 553
            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 554
            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 555
            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 558
            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 559
            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 561
            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 562
            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 564
            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 565
            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 566
            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 567
            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 568
            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 569
            aload 1 /* cas */
            aload 9 /* coercedNode */
            invokevirtual org.graalvm.compiler.nodes.java.UnsafeCompareAndExchangeNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
        10: .line 570
            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 571
            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 574
            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 575
            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 577
            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 579
            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 580
            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 581
            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 582
            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 583
            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 585
            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 586
            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 587
            aload 1 /* n */
            aload 9 /* readValue */
            invokevirtual org.graalvm.compiler.nodes.java.AtomicReadAndWriteNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
        11: .line 588
            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 589
            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 595
            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 596
            aload 1 /* load */
            instanceof org.graalvm.compiler.nodes.extended.GuardedUnsafeLoadNode
            ifeq 12
         2: .line 597
            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 598
            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 599
            aload 5 /* guard */
            ifnonnull 9
         5: .line 601
            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 602
            aload 6 /* memoryRead */
            iconst_0
            invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.setForceFixed:(Z)V
         7: .line 603
            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 604
            goto 14
         9: .line 606
      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 607
            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 609
            goto 14
        12: .line 612
      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 613
            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 615
      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 618
            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 619
            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 621
      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 626
            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 627
            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 628
            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 629
            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 630
            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 631
            aload 3 /* guard */
            ifnonnull 10
         8: .line 634
            aload 8 /* memoryRead */
            iconst_1
            invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.setForceFixed:(Z)V
         9: .line 635
            goto 11
        10: .line 636
      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 638
      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 639
            aload 2 /* load */
            aload 9 /* readValue */
            invokevirtual org.graalvm.compiler.nodes.extended.RawLoadNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
        13: .line 640
            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 644
            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 645
            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 646
            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 647
      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 648
            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 649
            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 652
            aload 6 /* memoryRead */
            iconst_1
            invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.setForceFixed:(Z)V
         7: .line 653
            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 654
            aload 1 /* load */
            aload 7 /* readValue */
            invokevirtual org.graalvm.compiler.nodes.extended.UnsafeMemoryLoadNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
         9: .line 655
            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 656
            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 659
            aload 1 /* readKind */
            getstatic jdk.vm.ci.meta.JavaKind.Boolean:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 4
         1: .line 660
            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 661
            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 662
            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 664
      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 668
            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 669
            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 670
            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 671
            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 672
            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 673
            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 674
            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 675
            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 676
            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 679
            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 680
            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 681
      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 682
            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 683
            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 684
            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 685
            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 686
            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 687
            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 690
            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 691
            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 692
            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 694
            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 695
            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 696
            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 697
            aload 6 /* guard */
            ifnonnull 9
         7: .line 700
            aload 5 /* memoryRead */
            iconst_1
            invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.setForceFixed:(Z)V
         8: .line 701
            goto 10
         9: .line 702
      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 704
      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 705
            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 706
            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 709
            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 710
            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 711
            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 712
            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 713
            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 714
            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 715
            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 719
            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 720
            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 721
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* recursiveLowerings */
        start local 4 // java.util.List recursiveLowerings
         3: .line 723
            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 724
            new java.util.BitSet
            dup
            invokespecial java.util.BitSet.<init>:()V
            astore 6 /* omittedValues */
        start local 6 // java.util.BitSet omittedValues
         5: .line 725
            iconst_0
            istore 7 /* valuePos */
        start local 7 // int valuePos
         6: .line 726
            iconst_0
            istore 8 /* objIndex */
        start local 8 // int objIndex
         7: goto 57
         8: .line 727
      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 728
            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 729
            aload 9 /* virtual */
            invokevirtual org.graalvm.compiler.nodes.virtual.VirtualObjectNode.entryCount:()I
            istore 13 /* entryCount */
        start local 13 // int entryCount
        12: .line 731
            aload 9 /* virtual */
            instanceof org.graalvm.compiler.nodes.virtual.VirtualInstanceNode
            ifeq 15
        13: .line 732
            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 733
            goto 16
        end local 14 // org.graalvm.compiler.nodes.java.AbstractNewObjectNode newObject
        15: .line 734
      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 737
      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 738
            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 739
            aload 5 /* allocations */
            iload 8 /* objIndex */
            aload 14 /* newObject */
            aastore
        19: .line 740
            iconst_0
            istore 15 /* i */
        start local 15 // int i
        20: goto 49
        21: .line 741
      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 742
            aload 16 /* value */
            instanceof org.graalvm.compiler.nodes.virtual.VirtualObjectNode
            ifeq 24
        23: .line 743
            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 745
      StackMap locals: org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 16 /* value */
            ifnonnull 27
        25: .line 746
            aload 6 /* omittedValues */
            iload 7 /* valuePos */
            invokevirtual java.util.BitSet.set:(I)V
        26: .line 747
            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 749
      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 750
            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 753
            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 754
            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 755
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 19 /* address */
        start local 19 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        34: .line 756
            aconst_null
            astore 20 /* barrierType */
        start local 20 // org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType barrierType
        35: .line 757
            aload 9 /* virtual */
            instanceof org.graalvm.compiler.nodes.virtual.VirtualInstanceNode
            ifeq 42
        36: .line 758
            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 759
            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 760
            lload 22 /* offset */
            lconst_0
            lcmp
            iflt 44
        39: .line 761
            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 762
            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 764
            goto 44
        42: .line 765
      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 2 /* tool */
            invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.getMetaAccess:()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 */
            aload 18 /* entryKind */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.arrayScalingFactor:(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 766
            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 768
      StackMap locals:
      StackMap stack:
            aload 19 /* address */
            ifnull 47
        45: .line 769
            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 770
            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 773
      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 740
            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 775
            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 726
      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 777
            iconst_0
            istore 7 /* valuePos */
        59: .line 779
            iconst_0
            istore 8 /* objIndex */
        start local 8 // int objIndex
        60: goto 95
        61: .line 780
      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 781
            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 782
            aload 9 /* virtual */
            invokevirtual org.graalvm.compiler.nodes.virtual.VirtualObjectNode.entryCount:()I
            istore 13 /* entryCount */
        start local 13 // int entryCount
        65: .line 783
            aload 5 /* allocations */
            iload 8 /* objIndex */
            aaload
            astore 14 /* newObject */
        start local 14 // org.graalvm.compiler.nodes.ValueNode newObject
        66: .line 784
            iconst_0
            istore 15 /* i */
        start local 15 // int i
        67: goto 87
        68: .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 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 786
            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 787
            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 788
      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 789
            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 790
      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 793
      StackMap locals:
      StackMap stack:
            aload 9 /* virtual */
            instanceof org.graalvm.compiler.nodes.virtual.VirtualInstanceNode
            ifeq 80
        76: .line 794
            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 795
            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 796
            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 797
            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 798
      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 799
            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 801
      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 802
            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 803
            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 807
      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 784
            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 809
            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 779
      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 812
            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 813
            aload 3 /* graph */
            aload 1 /* commit */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.removeFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
        98: .line 815
            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 816
            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 815
      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 820
      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 823
            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 827
            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 831
            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 832
            iconst_0
            istore 5 /* objIndex */
        start local 5 // int objIndex
         2: goto 7
         3: .line 833
      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 834
            aload 3 /* allocations */
            iload 5 /* objIndex */
            aload 6 /* anchor */
            aastore
         5: .line 835
            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 832
            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 847
            aconst_null
            astore 5 /* enters */
        start local 5 // java.util.ArrayList enters
         9: .line 848
            iconst_0
            istore 6 /* objIndex */
        start local 6 // int objIndex
        10: goto 28
        11: .line 849
      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 850
            aload 7 /* locks */
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmple 16
        13: .line 852
            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 853
            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 854
            aload 8 /* newList */
            astore 7 /* locks */
        end local 8 // java.util.ArrayList newList
        16: .line 856
      StackMap locals: java.util.List
      StackMap stack:
            iconst_m1
            istore 8 /* lastDepth */
        start local 8 // int lastDepth
        17: .line 857
            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 858
            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 859
      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 860
            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 861
            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 862
            aload 5 /* enters */
            ifnonnull 25
        24: .line 863
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* enters */
        25: .line 865
      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 857
      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 848
            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 868
            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 869
            aload 6 /* usage */
            instanceof org.graalvm.compiler.nodes.virtual.AllocatedObjectNode
            ifeq 36
        32: .line 870
            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 871
            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 872
            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 873
            goto 38
        36: .line 874
      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 875
      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 868
      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 878
            aload 5 /* enters */
            ifnull 44
        40: .line 879
            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 880
            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 879
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 41
        44: .line 883
      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 884
      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 885
            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 893
            bipush 8
            istore 2 /* barrier */
        start local 2 // int barrier
         1: .line 894
            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 895
            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 896
            aload 5 /* field */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaField.isFinal:()Z
            ifeq 8
         6: .line 897
            iload 2 /* barrier */
            iconst_2
            ior
            istore 2 /* barrier */
         7: .line 898
            goto 11
        end local 5 // jdk.vm.ci.meta.ResolvedJavaField field
         8: .line 895
      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 894
      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 902
      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 903
            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 909
            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 913
            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 914
            getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.IMPRECISE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            areturn
         2: .line 916
      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 920
            aload 1 /* elementKind */
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 2
         1: .line 921
            getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.PRECISE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            areturn
         2: .line 923
      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 927
            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 931
            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 935
            aload 1 /* store */
            invokevirtual org.graalvm.compiler.nodes.extended.RawStoreNode.needsBarrier:()Z
            ifne 2
         1: .line 936
            getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            areturn
         2: .line 938
      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 942
            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 943
            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 946
            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 947
      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 949
      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 952
      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 958
            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 int arrayScalingFactor(jdk.vm.ci.meta.JavaKind);
    descriptor: (Ljdk/vm/ci/meta/JavaKind;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.replacements.DefaultJavaLoweringProvider this
        start local 1 // jdk.vm.ci.meta.JavaKind elementKind
         0: .line 967
            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 1 /* elementKind */
            invokevirtual jdk.vm.ci.code.Architecture.getPlatformKind:(Ljdk/vm/ci/meta/JavaKind;)Ljdk/vm/ci/meta/PlatformKind;
            invokeinterface jdk.vm.ci.meta.PlatformKind.getSizeInBytes:()I
            ireturn
        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    1     0         this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0    1     1  elementKind  Ljdk/vm/ci/meta/JavaKind;
    MethodParameters:
             Name  Flags
      elementKind  

  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 971
            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 975
            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 984
            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 985
            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 988
      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 991
      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 994
      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 996
      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 1000
            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 1004
            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 1008
            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 1009
            aload 5 /* ret */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isAlive:()Z
            ifne 3
         2: .line 1010
            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 1012
      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 1021
            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 1022
            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 1025
      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 1028
      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 1031
      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 1033
      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 1037
            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 1041
            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 1045
            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 1046
            aload 5 /* ret */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isAlive:()Z
            ifne 3
         2: .line 1047
            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 1049
      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 1056
            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 1057
            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 1060
      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 1063
      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 1066
      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 1068
      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.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 1076
            aload 1 /* n */
            invokevirtual org.graalvm.compiler.nodes.java.AccessIndexedNode.getBoundsCheck:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            ifnull 2
         1: .line 1077
            aload 1 /* n */
            invokevirtual org.graalvm.compiler.nodes.java.AccessIndexedNode.getBoundsCheck:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            areturn
         2: .line 1080
      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 1081
            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
         4: .line 1082
            aload 5 /* arrayLength */
            ifnonnull 7
         5: .line 1083
            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 */
         6: .line 1084
            goto 10
         7: .line 1085
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 5 /* arrayLength */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isAlive:()Z
            ifeq 8
            aload 5 /* arrayLength */
            goto 9
      StackMap locals:
      StackMap stack:
         8: 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
         9: astore 5 /* arrayLength */
        10: .line 1088
      StackMap locals:
      StackMap stack:
            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
        11: .line 1089
            aload 6 /* boundsCheck */
            invokevirtual org.graalvm.compiler.nodes.LogicNode.isTautology:()Z
            ifeq 13
        12: .line 1090
            aconst_null
            areturn
        13: .line 1092
      StackMap locals: 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   14     0         this  Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
            0   14     1            n  Lorg/graalvm/compiler/nodes/java/AccessIndexedNode;
            0   14     2        array  Lorg/graalvm/compiler/nodes/ValueNode;
            0   14     3         tool  Lorg/graalvm/compiler/nodes/spi/LoweringTool;
            3   14     4        graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            4   14     5  arrayLength  Lorg/graalvm/compiler/nodes/ValueNode;
           11   14     6  boundsCheck  Lorg/graalvm/compiler/nodes/LogicNode;
    MethodParameters:
       Name  Flags
      n      
      array  
      tool   

  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 1096
            aload 1 /* object */
            invokestatic org.graalvm.compiler.nodes.type.StampTool.isPointerNonNull:(Lorg/graalvm/compiler/nodes/ValueNode;)Z
            ifeq 2
         1: .line 1097
            aconst_null
            areturn
         2: .line 1099
      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 1103
            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 1104
            aload 4 /* nullCheck */
            ifnonnull 3
         2: .line 1105
            aload 1 /* object */
            areturn
         3: .line 1107
      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 1112
            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 1113
            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 1115
            aload 0 /* this */
            aload 1 /* elementKind */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.arrayBaseOffset:(Ljdk/vm/ci/meta/JavaKind;)I
            istore 5 /* base */
        start local 5 // int base
         3: .line 1116
            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 1118
            aload 0 /* this */
            aload 1 /* elementKind */
            invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.arrayScalingFactor:(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 1119
            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 1120
            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 159
            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 853
            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
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 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
  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