public class org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering extends org.graalvm.compiler.core.amd64.AMD64CompressAddressLowering
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering
  super_class: org.graalvm.compiler.core.amd64.AMD64CompressAddressLowering
{
  private static final int ADDRESS_BITS;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 64

  private static final int INT_BITS;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 32

  private final long heapBase;
    descriptor: J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final jdk.vm.ci.code.Register heapBaseRegister;
    descriptor: Ljdk/vm/ci/code/Register;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.graalvm.compiler.hotspot.GraalHotSpotVMConfig config;
    descriptor: Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  public void <init>(org.graalvm.compiler.hotspot.GraalHotSpotVMConfig, jdk.vm.ci.code.Register, org.graalvm.compiler.options.OptionValues);
    descriptor: (Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/options/OptionValues;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering this
        start local 1 // org.graalvm.compiler.hotspot.GraalHotSpotVMConfig config
        start local 2 // jdk.vm.ci.code.Register heapBaseRegister
        start local 3 // org.graalvm.compiler.options.OptionValues options
         0: .line 73
            aload 0 /* this */
            invokespecial org.graalvm.compiler.core.amd64.AMD64CompressAddressLowering.<init>:()V
         1: .line 74
            aload 0 /* this */
            aload 1 /* config */
            invokevirtual org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.getOopEncoding:()Lorg/graalvm/compiler/core/common/CompressEncoding;
            invokevirtual org.graalvm.compiler.core.common.CompressEncoding.getBase:()J
            putfield org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering.heapBase:J
         2: .line 75
            aload 0 /* this */
            aload 1 /* config */
            putfield org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
         3: .line 76
            aload 0 /* this */
            getstatic org.graalvm.compiler.core.common.GraalOptions.GeneratePIC:Lorg/graalvm/compiler/options/OptionKey;
            aload 3 /* options */
            invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            putfield org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering.generatePIC:Z
         4: .line 77
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering.heapBase:J
            lconst_0
            lcmp
            ifne 7
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering.generatePIC:Z
            ifne 7
         5: .line 78
            aload 0 /* this */
            aconst_null
            putfield org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering.heapBaseRegister:Ljdk/vm/ci/code/Register;
         6: .line 79
            goto 8
         7: .line 80
      StackMap locals: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering org.graalvm.compiler.hotspot.GraalHotSpotVMConfig jdk.vm.ci.code.Register org.graalvm.compiler.options.OptionValues
      StackMap stack:
            aload 0 /* this */
            aload 2 /* heapBaseRegister */
            putfield org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering.heapBaseRegister:Ljdk/vm/ci/code/Register;
         8: .line 82
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.graalvm.compiler.options.OptionValues options
        end local 2 // jdk.vm.ci.code.Register heapBaseRegister
        end local 1 // org.graalvm.compiler.hotspot.GraalHotSpotVMConfig config
        end local 0 // org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    9     0              this  Lorg/graalvm/compiler/hotspot/amd64/AMD64HotSpotAddressLowering;
            0    9     1            config  Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            0    9     2  heapBaseRegister  Ljdk/vm/ci/code/Register;
            0    9     3           options  Lorg/graalvm/compiler/options/OptionValues;
    MethodParameters:
                  Name  Flags
      config            
      heapBaseRegister  
      options           

  protected final boolean improveUncompression(org.graalvm.compiler.core.amd64.AMD64AddressNode, org.graalvm.compiler.nodes.CompressionNode, org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/core/amd64/AMD64AddressNode;Lorg/graalvm/compiler/nodes/CompressionNode;Lorg/graalvm/compiler/nodes/ValueNode;)Z
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=6, locals=7, args_size=4
        start local 0 // org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering this
        start local 1 // org.graalvm.compiler.core.amd64.AMD64AddressNode addr
        start local 2 // org.graalvm.compiler.nodes.CompressionNode compression
        start local 3 // org.graalvm.compiler.nodes.ValueNode other
         0: .line 86
            aload 2 /* compression */
            invokevirtual org.graalvm.compiler.nodes.CompressionNode.getEncoding:()Lorg/graalvm/compiler/core/common/CompressEncoding;
            astore 4 /* encoding */
        start local 4 // org.graalvm.compiler.core.common.CompressEncoding encoding
         1: .line 87
            aload 4 /* encoding */
            invokevirtual org.graalvm.compiler.core.common.CompressEncoding.getShift:()I
            invokestatic org.graalvm.compiler.asm.amd64.AMD64Address$Scale.fromShift:(I)Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
            astore 5 /* scale */
        start local 5 // org.graalvm.compiler.asm.amd64.AMD64Address$Scale scale
         2: .line 88
            aload 5 /* scale */
            ifnonnull 4
         3: .line 89
            iconst_0
            ireturn
         4: .line 92
      StackMap locals: org.graalvm.compiler.core.common.CompressEncoding org.graalvm.compiler.asm.amd64.AMD64Address$Scale
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering.heapBaseRegister:Ljdk/vm/ci/code/Register;
            ifnull 11
            aload 4 /* encoding */
            invokevirtual org.graalvm.compiler.core.common.CompressEncoding.getBase:()J
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering.heapBase:J
            lcmp
            ifne 11
         5: .line 93
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering.generatePIC:Z
            ifeq 6
            aload 2 /* compression */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.nodes.CompressionNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            instanceof org.graalvm.compiler.core.common.type.ObjectStamp
            ifeq 10
      StackMap locals:
      StackMap stack:
         6: aload 3 /* other */
            ifnonnull 10
         7: .line 96
            aload 2 /* compression */
            invokevirtual org.graalvm.compiler.nodes.CompressionNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            new org.graalvm.compiler.core.amd64.AMD64CompressAddressLowering$HeapBaseNode
            dup
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering.heapBaseRegister:Ljdk/vm/ci/code/Register;
            invokespecial org.graalvm.compiler.core.amd64.AMD64CompressAddressLowering$HeapBaseNode.<init>:(Ljdk/vm/ci/code/Register;)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 /* base */
        start local 6 // org.graalvm.compiler.nodes.ValueNode base
         8: .line 97
            aload 1 /* addr */
            aload 6 /* base */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64AddressNode.setBase:(Lorg/graalvm/compiler/nodes/ValueNode;)V
        end local 6 // org.graalvm.compiler.nodes.ValueNode base
         9: .line 98
            goto 23
        10: .line 99
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        11: .line 101
      StackMap locals:
      StackMap stack:
            aload 4 /* encoding */
            invokevirtual org.graalvm.compiler.core.common.CompressEncoding.getBase:()J
            lconst_0
            lcmp
            ifne 12
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering.generatePIC:Z
            ifeq 22
            aload 2 /* compression */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.nodes.CompressionNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            instanceof org.graalvm.compiler.hotspot.nodes.type.KlassPointerStamp
            ifeq 22
        12: .line 102
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering.generatePIC:Z
            ifeq 18
        13: .line 103
            aload 3 /* other */
            ifnonnull 17
        14: .line 104
            aload 2 /* compression */
            invokevirtual org.graalvm.compiler.nodes.CompressionNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            new org.graalvm.compiler.hotspot.nodes.GraalHotSpotVMConfigNode
            dup
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.MARKID_NARROW_KLASS_BASE_ADDRESS:I
            getstatic jdk.vm.ci.meta.JavaKind.Long:Ljdk/vm/ci/meta/JavaKind;
            invokespecial org.graalvm.compiler.hotspot.nodes.GraalHotSpotVMConfigNode.<init>:(Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;ILjdk/vm/ci/meta/JavaKind;)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 /* base */
        start local 6 // org.graalvm.compiler.nodes.ValueNode base
        15: .line 105
            aload 1 /* addr */
            aload 6 /* base */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64AddressNode.setBase:(Lorg/graalvm/compiler/nodes/ValueNode;)V
        end local 6 // org.graalvm.compiler.nodes.ValueNode base
        16: .line 106
            goto 23
        17: .line 107
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        18: .line 110
      StackMap locals:
      StackMap stack:
            aload 1 /* addr */
            aload 4 /* encoding */
            invokevirtual org.graalvm.compiler.core.common.CompressEncoding.getBase:()J
            iconst_0
            invokestatic org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering.updateDisplacement:(Lorg/graalvm/compiler/core/amd64/AMD64AddressNode;JZ)Z
            ifeq 21
        19: .line 111
            aload 1 /* addr */
            aload 3 /* other */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64AddressNode.setBase:(Lorg/graalvm/compiler/nodes/ValueNode;)V
        20: .line 112
            goto 23
        21: .line 113
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        22: .line 117
      StackMap locals:
      StackMap stack:
            aload 1 /* addr */
            aload 3 /* other */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64AddressNode.setBase:(Lorg/graalvm/compiler/nodes/ValueNode;)V
        23: .line 120
      StackMap locals:
      StackMap stack:
            aload 1 /* addr */
            aload 5 /* scale */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64AddressNode.setScale:(Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;)V
        24: .line 121
            aload 1 /* addr */
            aload 2 /* compression */
            invokevirtual org.graalvm.compiler.nodes.CompressionNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64AddressNode.setIndex:(Lorg/graalvm/compiler/nodes/ValueNode;)V
        25: .line 122
            iconst_1
            ireturn
        end local 5 // org.graalvm.compiler.asm.amd64.AMD64Address$Scale scale
        end local 4 // org.graalvm.compiler.core.common.CompressEncoding encoding
        end local 3 // org.graalvm.compiler.nodes.ValueNode other
        end local 2 // org.graalvm.compiler.nodes.CompressionNode compression
        end local 1 // org.graalvm.compiler.core.amd64.AMD64AddressNode addr
        end local 0 // org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   26     0         this  Lorg/graalvm/compiler/hotspot/amd64/AMD64HotSpotAddressLowering;
            0   26     1         addr  Lorg/graalvm/compiler/core/amd64/AMD64AddressNode;
            0   26     2  compression  Lorg/graalvm/compiler/nodes/CompressionNode;
            0   26     3        other  Lorg/graalvm/compiler/nodes/ValueNode;
            1   26     4     encoding  Lorg/graalvm/compiler/core/common/CompressEncoding;
            2   26     5        scale  Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
            8    9     6         base  Lorg/graalvm/compiler/nodes/ValueNode;
           15   16     6         base  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
             Name  Flags
      addr         
      compression  
      other        

  public void preProcess(org.graalvm.compiler.nodes.StructuredGraph);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering this
        start local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
         0: .line 127
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.hasLoops:()Z
            ifeq 10
         1: .line 128
            new org.graalvm.compiler.loop.LoopsData
            dup
            aload 1 /* graph */
            invokespecial org.graalvm.compiler.loop.LoopsData.<init>:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
            astore 2 /* loopsData */
        start local 2 // org.graalvm.compiler.loop.LoopsData loopsData
         2: .line 129
            aload 2 /* loopsData */
            invokevirtual org.graalvm.compiler.loop.LoopsData.detectedCountedLoops:()V
         3: .line 130
            aload 2 /* loopsData */
            invokevirtual org.graalvm.compiler.loop.LoopsData.countedLoops:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 9
      StackMap locals: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.loop.LoopsData top java.util.Iterator
      StackMap stack:
         4: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.loop.LoopEx
            astore 3 /* loop */
        start local 3 // org.graalvm.compiler.loop.LoopEx loop
         5: .line 131
            aload 3 /* loop */
            invokevirtual org.graalvm.compiler.loop.LoopEx.whole:()Lorg/graalvm/compiler/loop/LoopFragmentWhole;
            invokevirtual org.graalvm.compiler.loop.LoopFragmentWhole.nodes:()Lorg/graalvm/compiler/graph/NodeBitMap;
            ldc Lorg/graalvm/compiler/nodes/memory/address/OffsetAddressNode;
            invokevirtual org.graalvm.compiler.graph.NodeBitMap.filter:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
            astore 6
            goto 8
      StackMap locals: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.loop.LoopsData org.graalvm.compiler.loop.LoopEx java.util.Iterator top java.util.Iterator
      StackMap stack:
         6: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.memory.address.OffsetAddressNode
            astore 5 /* offsetAdressNode */
        start local 5 // org.graalvm.compiler.nodes.memory.address.OffsetAddressNode offsetAdressNode
         7: .line 132
            aload 5 /* offsetAdressNode */
            aload 3 /* loop */
            invokestatic org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering.tryOptimize:(Lorg/graalvm/compiler/nodes/memory/address/OffsetAddressNode;Lorg/graalvm/compiler/loop/LoopEx;)V
        end local 5 // org.graalvm.compiler.nodes.memory.address.OffsetAddressNode offsetAdressNode
         8: .line 131
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        end local 3 // org.graalvm.compiler.loop.LoopEx loop
         9: .line 130
      StackMap locals: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.loop.LoopsData top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        end local 2 // org.graalvm.compiler.loop.LoopsData loopsData
        10: .line 136
      StackMap locals: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering org.graalvm.compiler.nodes.StructuredGraph
      StackMap stack:
            return
        end local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 0 // org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   11     0              this  Lorg/graalvm/compiler/hotspot/amd64/AMD64HotSpotAddressLowering;
            0   11     1             graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            2   10     2         loopsData  Lorg/graalvm/compiler/loop/LoopsData;
            5    9     3              loop  Lorg/graalvm/compiler/loop/LoopEx;
            7    8     5  offsetAdressNode  Lorg/graalvm/compiler/nodes/memory/address/OffsetAddressNode;
    MethodParameters:
       Name  Flags
      graph  

  public void postProcess(org.graalvm.compiler.nodes.memory.address.AddressNode);
    descriptor: (Lorg/graalvm/compiler/nodes/memory/address/AddressNode;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering this
        start local 1 // org.graalvm.compiler.nodes.memory.address.AddressNode lowered
         0: .line 143
            aload 1 /* lowered */
            checkcast org.graalvm.compiler.core.amd64.AMD64AddressNode
            astore 2 /* address */
        start local 2 // org.graalvm.compiler.core.amd64.AMD64AddressNode address
         1: .line 144
            aload 2 /* address */
            aload 2 /* address */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64AddressNode.getBase:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokestatic org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering.tryImplicitZeroExtend:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64AddressNode.setBase:(Lorg/graalvm/compiler/nodes/ValueNode;)V
         2: .line 145
            aload 2 /* address */
            aload 2 /* address */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64AddressNode.getIndex:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokestatic org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering.tryImplicitZeroExtend:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64AddressNode.setIndex:(Lorg/graalvm/compiler/nodes/ValueNode;)V
         3: .line 146
            return
        end local 2 // org.graalvm.compiler.core.amd64.AMD64AddressNode address
        end local 1 // org.graalvm.compiler.nodes.memory.address.AddressNode lowered
        end local 0 // org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/graalvm/compiler/hotspot/amd64/AMD64HotSpotAddressLowering;
            0    4     1  lowered  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            1    4     2  address  Lorg/graalvm/compiler/core/amd64/AMD64AddressNode;
    MethodParameters:
         Name  Flags
      lowered  

  private static void tryOptimize(org.graalvm.compiler.nodes.memory.address.OffsetAddressNode, org.graalvm.compiler.loop.LoopEx);
    descriptor: (Lorg/graalvm/compiler/nodes/memory/address/OffsetAddressNode;Lorg/graalvm/compiler/loop/LoopEx;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // org.graalvm.compiler.nodes.memory.address.OffsetAddressNode offsetAddress
        start local 1 // org.graalvm.compiler.loop.LoopEx loop
         0: .line 149
            aload 1 /* loop */
            invokevirtual org.graalvm.compiler.loop.LoopEx.getInductionVariables:()Ljdk/internal/vm/compiler/collections/EconomicMap;
            astore 2 /* ivs */
        start local 2 // jdk.internal.vm.compiler.collections.EconomicMap ivs
         1: .line 150
            aload 2 /* ivs */
            aload 0 /* offsetAddress */
            invokevirtual org.graalvm.compiler.nodes.memory.address.OffsetAddressNode.getOffset:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.loop.InductionVariable
            astore 3 /* currentIV */
        start local 3 // org.graalvm.compiler.loop.InductionVariable currentIV
         2: .line 151
            goto 20
         3: .line 152
      StackMap locals: jdk.internal.vm.compiler.collections.EconomicMap org.graalvm.compiler.loop.InductionVariable
      StackMap stack:
            aload 3 /* currentIV */
            instanceof org.graalvm.compiler.loop.DerivedInductionVariable
            ifne 5
         4: .line 153
            goto 21
         5: .line 155
      StackMap locals:
      StackMap stack:
            aload 3 /* currentIV */
            invokevirtual org.graalvm.compiler.loop.InductionVariable.valueNode:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 4 /* currentValue */
        start local 4 // org.graalvm.compiler.nodes.ValueNode currentValue
         6: .line 156
            aload 4 /* currentValue */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isDeleted:()Z
            ifeq 8
         7: .line 157
            goto 21
         8: .line 160
      StackMap locals: org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 4 /* currentValue */
            instanceof org.graalvm.compiler.nodes.calc.ZeroExtendNode
            ifeq 19
         9: .line 161
            aload 4 /* currentValue */
            checkcast org.graalvm.compiler.nodes.calc.ZeroExtendNode
            astore 5 /* zeroExtendNode */
        start local 5 // org.graalvm.compiler.nodes.calc.ZeroExtendNode zeroExtendNode
        10: .line 162
            aload 5 /* zeroExtendNode */
            invokestatic org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering.applicableToImplicitZeroExtend:(Lorg/graalvm/compiler/nodes/calc/ZeroExtendNode;)Z
            ifeq 19
        11: .line 163
            aload 5 /* zeroExtendNode */
            invokevirtual org.graalvm.compiler.nodes.calc.ZeroExtendNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 6 /* input */
        start local 6 // org.graalvm.compiler.nodes.ValueNode input
        12: .line 164
            aload 6 /* input */
            instanceof org.graalvm.compiler.nodes.calc.AddNode
            ifeq 19
        13: .line 165
            aload 6 /* input */
            checkcast org.graalvm.compiler.nodes.calc.AddNode
            astore 7 /* add */
        start local 7 // org.graalvm.compiler.nodes.calc.AddNode add
        14: .line 166
            aload 7 /* add */
            invokevirtual org.graalvm.compiler.nodes.calc.AddNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifeq 17
        15: .line 167
            aload 5 /* zeroExtendNode */
            aload 7 /* add */
            invokevirtual org.graalvm.compiler.nodes.calc.AddNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
            checkcast org.graalvm.compiler.nodes.ConstantNode
            aload 7 /* add */
            invokevirtual org.graalvm.compiler.nodes.calc.AddNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 1 /* loop */
            invokestatic org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering.optimizeAdd:(Lorg/graalvm/compiler/nodes/calc/ZeroExtendNode;Lorg/graalvm/compiler/nodes/ConstantNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/loop/LoopEx;)V
        16: .line 168
            goto 19
      StackMap locals: org.graalvm.compiler.nodes.calc.ZeroExtendNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.calc.AddNode
      StackMap stack:
        17: aload 7 /* add */
            invokevirtual org.graalvm.compiler.nodes.calc.AddNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifeq 19
        18: .line 169
            aload 5 /* zeroExtendNode */
            aload 7 /* add */
            invokevirtual org.graalvm.compiler.nodes.calc.AddNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
            checkcast org.graalvm.compiler.nodes.ConstantNode
            aload 7 /* add */
            invokevirtual org.graalvm.compiler.nodes.calc.AddNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 1 /* loop */
            invokestatic org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering.optimizeAdd:(Lorg/graalvm/compiler/nodes/calc/ZeroExtendNode;Lorg/graalvm/compiler/nodes/ConstantNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/loop/LoopEx;)V
        end local 7 // org.graalvm.compiler.nodes.calc.AddNode add
        end local 6 // org.graalvm.compiler.nodes.ValueNode input
        end local 5 // org.graalvm.compiler.nodes.calc.ZeroExtendNode zeroExtendNode
        19: .line 175
      StackMap locals:
      StackMap stack:
            aload 3 /* currentIV */
            checkcast org.graalvm.compiler.loop.DerivedInductionVariable
            invokevirtual org.graalvm.compiler.loop.DerivedInductionVariable.getBase:()Lorg/graalvm/compiler/loop/InductionVariable;
            astore 3 /* currentIV */
        end local 4 // org.graalvm.compiler.nodes.ValueNode currentValue
        20: .line 151
      StackMap locals:
      StackMap stack:
            aload 3 /* currentIV */
            ifnonnull 3
        21: .line 177
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.graalvm.compiler.loop.InductionVariable currentIV
        end local 2 // jdk.internal.vm.compiler.collections.EconomicMap ivs
        end local 1 // org.graalvm.compiler.loop.LoopEx loop
        end local 0 // org.graalvm.compiler.nodes.memory.address.OffsetAddressNode offsetAddress
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   22     0   offsetAddress  Lorg/graalvm/compiler/nodes/memory/address/OffsetAddressNode;
            0   22     1            loop  Lorg/graalvm/compiler/loop/LoopEx;
            1   22     2             ivs  Ljdk/internal/vm/compiler/collections/EconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/loop/InductionVariable;>;
            2   22     3       currentIV  Lorg/graalvm/compiler/loop/InductionVariable;
            6   20     4    currentValue  Lorg/graalvm/compiler/nodes/ValueNode;
           10   19     5  zeroExtendNode  Lorg/graalvm/compiler/nodes/calc/ZeroExtendNode;
           12   19     6           input  Lorg/graalvm/compiler/nodes/ValueNode;
           14   19     7             add  Lorg/graalvm/compiler/nodes/calc/AddNode;
    MethodParameters:
               Name  Flags
      offsetAddress  
      loop           

  private static void optimizeAdd(org.graalvm.compiler.nodes.calc.ZeroExtendNode, org.graalvm.compiler.nodes.ConstantNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.loop.LoopEx);
    descriptor: (Lorg/graalvm/compiler/nodes/calc/ZeroExtendNode;Lorg/graalvm/compiler/nodes/ConstantNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/loop/LoopEx;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=6, args_size=4
        start local 0 // org.graalvm.compiler.nodes.calc.ZeroExtendNode zeroExtendNode
        start local 1 // org.graalvm.compiler.nodes.ConstantNode constant
        start local 2 // org.graalvm.compiler.nodes.ValueNode other
        start local 3 // org.graalvm.compiler.loop.LoopEx loop
         0: .line 184
            aload 0 /* zeroExtendNode */
            invokevirtual org.graalvm.compiler.nodes.calc.ZeroExtendNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 4 /* graph */
        start local 4 // org.graalvm.compiler.nodes.StructuredGraph graph
         1: .line 185
            aload 4 /* graph */
            new org.graalvm.compiler.nodes.calc.AddNode
            dup
            aload 2 /* other */
            aload 3 /* loop */
            invokestatic org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering.signExtend:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/loop/LoopEx;)Lorg/graalvm/compiler/nodes/ValueNode;
            aload 1 /* constant */
            invokevirtual org.graalvm.compiler.nodes.ConstantNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
            invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
            i2l
            aload 4 /* graph */
            invokestatic org.graalvm.compiler.nodes.ConstantNode.forLong:(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.calc.AddNode
            astore 5 /* addNode */
        start local 5 // org.graalvm.compiler.nodes.calc.AddNode addNode
         2: .line 186
            aload 0 /* zeroExtendNode */
            aload 5 /* addNode */
            invokevirtual org.graalvm.compiler.nodes.calc.ZeroExtendNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
         3: .line 187
            return
        end local 5 // org.graalvm.compiler.nodes.calc.AddNode addNode
        end local 4 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 3 // org.graalvm.compiler.loop.LoopEx loop
        end local 2 // org.graalvm.compiler.nodes.ValueNode other
        end local 1 // org.graalvm.compiler.nodes.ConstantNode constant
        end local 0 // org.graalvm.compiler.nodes.calc.ZeroExtendNode zeroExtendNode
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    4     0  zeroExtendNode  Lorg/graalvm/compiler/nodes/calc/ZeroExtendNode;
            0    4     1        constant  Lorg/graalvm/compiler/nodes/ConstantNode;
            0    4     2           other  Lorg/graalvm/compiler/nodes/ValueNode;
            0    4     3            loop  Lorg/graalvm/compiler/loop/LoopEx;
            1    4     4           graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            2    4     5         addNode  Lorg/graalvm/compiler/nodes/calc/AddNode;
    MethodParameters:
                Name  Flags
      zeroExtendNode  
      constant        
      other           
      loop            

  private static org.graalvm.compiler.nodes.ValueNode signExtend(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.loop.LoopEx);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/loop/LoopEx;)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=15, args_size=2
        start local 0 // org.graalvm.compiler.nodes.ValueNode input
        start local 1 // org.graalvm.compiler.loop.LoopEx loop
         0: .line 194
            aload 0 /* input */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 2 /* graph */
        start local 2 // org.graalvm.compiler.nodes.StructuredGraph graph
         1: .line 195
            aload 0 /* input */
            instanceof org.graalvm.compiler.nodes.PhiNode
            ifeq 20
         2: .line 196
            aload 1 /* loop */
            invokevirtual org.graalvm.compiler.loop.LoopEx.getInductionVariables:()Ljdk/internal/vm/compiler/collections/EconomicMap;
            astore 3 /* ivs */
        start local 3 // jdk.internal.vm.compiler.collections.EconomicMap ivs
         3: .line 197
            aload 3 /* ivs */
            aload 0 /* input */
            invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.loop.InductionVariable
            astore 4 /* inductionVariable */
        start local 4 // org.graalvm.compiler.loop.InductionVariable inductionVariable
         4: .line 198
            aload 4 /* inductionVariable */
            ifnull 20
            aload 4 /* inductionVariable */
            instanceof org.graalvm.compiler.loop.BasicInductionVariable
            ifeq 20
         5: .line 199
            aload 1 /* loop */
            invokevirtual org.graalvm.compiler.loop.LoopEx.counted:()Lorg/graalvm/compiler/loop/CountedLoopInfo;
            astore 5 /* countedLoopInfo */
        start local 5 // org.graalvm.compiler.loop.CountedLoopInfo countedLoopInfo
         6: .line 200
            aload 4 /* inductionVariable */
            invokevirtual org.graalvm.compiler.loop.InductionVariable.initNode:()Lorg/graalvm/compiler/nodes/ValueNode;
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            checkcast org.graalvm.compiler.core.common.type.IntegerStamp
            astore 6 /* initStamp */
        start local 6 // org.graalvm.compiler.core.common.type.IntegerStamp initStamp
         7: .line 201
            aload 6 /* initStamp */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.isPositive:()Z
            ifeq 20
         8: .line 202
            aload 4 /* inductionVariable */
            invokevirtual org.graalvm.compiler.loop.InductionVariable.isConstantExtremum:()Z
            ifeq 16
            aload 5 /* countedLoopInfo */
            invokevirtual org.graalvm.compiler.loop.CountedLoopInfo.counterNeverOverflows:()Z
            ifeq 16
         9: .line 203
            aload 4 /* inductionVariable */
            invokevirtual org.graalvm.compiler.loop.InductionVariable.constantInit:()J
            lstore 7 /* init */
        start local 7 // long init
        10: .line 204
            aload 4 /* inductionVariable */
            invokevirtual org.graalvm.compiler.loop.InductionVariable.constantStride:()J
            lstore 9 /* stride */
        start local 9 // long stride
        11: .line 205
            aload 4 /* inductionVariable */
            invokevirtual org.graalvm.compiler.loop.InductionVariable.constantExtremum:()J
            lstore 11 /* extremum */
        start local 11 // long extremum
        12: .line 207
            lload 7 /* init */
            lconst_0
            lcmp
            iflt 16
            lload 11 /* extremum */
            lconst_0
            lcmp
            iflt 16
        13: .line 208
            lload 11 /* extremum */
            lload 7 /* init */
            lsub
            lload 9 /* stride */
            ldiv
            lconst_1
            ladd
            lstore 13 /* shortestTrip */
        start local 13 // long shortestTrip
        14: .line 209
            aload 5 /* countedLoopInfo */
            invokevirtual org.graalvm.compiler.loop.CountedLoopInfo.constantMaxTripCount:()Lorg/graalvm/compiler/core/common/util/UnsignedLong;
            lload 13 /* shortestTrip */
            invokevirtual org.graalvm.compiler.core.common.util.UnsignedLong.equals:(J)Z
            ifeq 16
        15: .line 210
            aload 2 /* graph */
            new org.graalvm.compiler.nodes.calc.ZeroExtendNode
            dup
            aload 0 /* input */
            bipush 32
            bipush 64
            iconst_1
            invokespecial org.graalvm.compiler.nodes.calc.ZeroExtendNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;IIZ)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.ValueNode
            areturn
        end local 13 // long shortestTrip
        end local 11 // long extremum
        end local 9 // long stride
        end local 7 // long init
        16: .line 214
      StackMap locals: org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.loop.LoopEx org.graalvm.compiler.nodes.StructuredGraph jdk.internal.vm.compiler.collections.EconomicMap org.graalvm.compiler.loop.InductionVariable org.graalvm.compiler.loop.CountedLoopInfo org.graalvm.compiler.core.common.type.IntegerStamp
      StackMap stack:
            aload 5 /* countedLoopInfo */
            invokevirtual org.graalvm.compiler.loop.CountedLoopInfo.getCounter:()Lorg/graalvm/compiler/loop/InductionVariable;
            aload 4 /* inductionVariable */
            if_acmpne 20
        17: .line 215
            aload 4 /* inductionVariable */
            invokevirtual org.graalvm.compiler.loop.InductionVariable.direction:()Lorg/graalvm/compiler/loop/InductionVariable$Direction;
            getstatic org.graalvm.compiler.loop.InductionVariable$Direction.Up:Lorg/graalvm/compiler/loop/InductionVariable$Direction;
            if_acmpne 20
        18: .line 216
            aload 5 /* countedLoopInfo */
            invokevirtual org.graalvm.compiler.loop.CountedLoopInfo.getOverFlowGuard:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            ifnonnull 19
            aload 5 /* countedLoopInfo */
            invokevirtual org.graalvm.compiler.loop.CountedLoopInfo.counterNeverOverflows:()Z
            ifeq 20
        19: .line 217
      StackMap locals:
      StackMap stack:
            aload 2 /* graph */
            new org.graalvm.compiler.nodes.calc.ZeroExtendNode
            dup
            aload 0 /* input */
            bipush 32
            bipush 64
            iconst_1
            invokespecial org.graalvm.compiler.nodes.calc.ZeroExtendNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;IIZ)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.ValueNode
            areturn
        end local 6 // org.graalvm.compiler.core.common.type.IntegerStamp initStamp
        end local 5 // org.graalvm.compiler.loop.CountedLoopInfo countedLoopInfo
        end local 4 // org.graalvm.compiler.loop.InductionVariable inductionVariable
        end local 3 // jdk.internal.vm.compiler.collections.EconomicMap ivs
        20: .line 222
      StackMap locals: org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.loop.LoopEx org.graalvm.compiler.nodes.StructuredGraph
      StackMap stack:
            aload 0 /* input */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            aload 0 /* input */
            bipush 64
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokestatic org.graalvm.compiler.nodes.calc.SignExtendNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;ILorg/graalvm/compiler/nodes/NodeView;)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 2 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 1 // org.graalvm.compiler.loop.LoopEx loop
        end local 0 // org.graalvm.compiler.nodes.ValueNode input
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   21     0              input  Lorg/graalvm/compiler/nodes/ValueNode;
            0   21     1               loop  Lorg/graalvm/compiler/loop/LoopEx;
            1   21     2              graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            3   20     3                ivs  Ljdk/internal/vm/compiler/collections/EconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/loop/InductionVariable;>;
            4   20     4  inductionVariable  Lorg/graalvm/compiler/loop/InductionVariable;
            6   20     5    countedLoopInfo  Lorg/graalvm/compiler/loop/CountedLoopInfo;
            7   20     6          initStamp  Lorg/graalvm/compiler/core/common/type/IntegerStamp;
           10   16     7               init  J
           11   16     9             stride  J
           12   16    11           extremum  J
           14   16    13       shortestTrip  J
    MethodParameters:
       Name  Flags
      input  
      loop   

  private static boolean applicableToImplicitZeroExtend(org.graalvm.compiler.nodes.calc.ZeroExtendNode);
    descriptor: (Lorg/graalvm/compiler/nodes/calc/ZeroExtendNode;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.calc.ZeroExtendNode zeroExtendNode
         0: .line 226
            aload 0 /* zeroExtendNode */
            invokevirtual org.graalvm.compiler.nodes.calc.ZeroExtendNode.isInputAlwaysPositive:()Z
            ifeq 1
            aload 0 /* zeroExtendNode */
            invokevirtual org.graalvm.compiler.nodes.calc.ZeroExtendNode.getInputBits:()I
            bipush 32
            if_icmpne 1
            aload 0 /* zeroExtendNode */
            invokevirtual org.graalvm.compiler.nodes.calc.ZeroExtendNode.getResultBits:()I
            bipush 64
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.graalvm.compiler.nodes.calc.ZeroExtendNode zeroExtendNode
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0  zeroExtendNode  Lorg/graalvm/compiler/nodes/calc/ZeroExtendNode;
    MethodParameters:
                Name  Flags
      zeroExtendNode  

  private static org.graalvm.compiler.nodes.ValueNode tryImplicitZeroExtend(org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.nodes.ValueNode input
         0: .line 230
            aload 0 /* input */
            instanceof org.graalvm.compiler.nodes.calc.ZeroExtendNode
            ifeq 4
         1: .line 231
            aload 0 /* input */
            checkcast org.graalvm.compiler.nodes.calc.ZeroExtendNode
            astore 1 /* zeroExtendNode */
        start local 1 // org.graalvm.compiler.nodes.calc.ZeroExtendNode zeroExtendNode
         2: .line 232
            aload 1 /* zeroExtendNode */
            invokestatic org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering.applicableToImplicitZeroExtend:(Lorg/graalvm/compiler/nodes/calc/ZeroExtendNode;)Z
            ifeq 4
         3: .line 233
            aload 1 /* zeroExtendNode */
            invokevirtual org.graalvm.compiler.nodes.calc.ZeroExtendNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
            areturn
        end local 1 // org.graalvm.compiler.nodes.calc.ZeroExtendNode zeroExtendNode
         4: .line 236
      StackMap locals:
      StackMap stack:
            aload 0 /* input */
            areturn
        end local 0 // org.graalvm.compiler.nodes.ValueNode input
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0           input  Lorg/graalvm/compiler/nodes/ValueNode;
            2    4     1  zeroExtendNode  Lorg/graalvm/compiler/nodes/calc/ZeroExtendNode;
    MethodParameters:
       Name  Flags
      input  
}
SourceFile: "AMD64HotSpotAddressLowering.java"
InnerClasses:
  public final Scale = org.graalvm.compiler.asm.amd64.AMD64Address$Scale of org.graalvm.compiler.asm.amd64.AMD64Address
  public HeapBaseNode = org.graalvm.compiler.core.amd64.AMD64CompressAddressLowering$HeapBaseNode of org.graalvm.compiler.core.amd64.AMD64CompressAddressLowering
  public abstract ValueNumberable = org.graalvm.compiler.graph.Node$ValueNumberable of org.graalvm.compiler.graph.Node
  public final Direction = org.graalvm.compiler.loop.InductionVariable$Direction of org.graalvm.compiler.loop.InductionVariable