public abstract class org.graalvm.compiler.core.amd64.AMD64CompressAddressLowering extends org.graalvm.compiler.core.amd64.AMD64AddressLowering
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.graalvm.compiler.core.amd64.AMD64CompressAddressLowering
  super_class: org.graalvm.compiler.core.amd64.AMD64AddressLowering
{
  private static final org.graalvm.compiler.debug.CounterKey counterFoldedUncompressDuringAddressLowering;
    descriptor: Lorg/graalvm/compiler/debug/CounterKey;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 48
            ldc "FoldedUncompressDuringAddressLowering"
            invokestatic org.graalvm.compiler.debug.DebugContext.counter:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/CounterKey;
            putstatic org.graalvm.compiler.core.amd64.AMD64CompressAddressLowering.counterFoldedUncompressDuringAddressLowering:Lorg/graalvm/compiler/debug/CounterKey;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.core.amd64.AMD64CompressAddressLowering this
         0: .line 47
            aload 0 /* this */
            invokespecial org.graalvm.compiler.core.amd64.AMD64AddressLowering.<init>:()V
            return
        end local 0 // org.graalvm.compiler.core.amd64.AMD64CompressAddressLowering this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/core/amd64/AMD64CompressAddressLowering;

  protected final boolean improve(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.debug.DebugContext, org.graalvm.compiler.core.amd64.AMD64AddressNode, boolean, boolean);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/core/amd64/AMD64AddressNode;ZZ)Z
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=6, locals=8, args_size=6
        start local 0 // org.graalvm.compiler.core.amd64.AMD64CompressAddressLowering this
        start local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        start local 2 // org.graalvm.compiler.debug.DebugContext debug
        start local 3 // org.graalvm.compiler.core.amd64.AMD64AddressNode addr
        start local 4 // boolean isBaseNegated
        start local 5 // boolean isIndexNegated
         0: .line 52
            aload 0 /* this */
            aload 1 /* graph */
            aload 2 /* debug */
            aload 3 /* addr */
            iload 4 /* isBaseNegated */
            iload 5 /* isIndexNegated */
            invokespecial org.graalvm.compiler.core.amd64.AMD64AddressLowering.improve:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/core/amd64/AMD64AddressNode;ZZ)Z
            ifeq 2
         1: .line 53
            iconst_1
            ireturn
         2: .line 56
      StackMap locals:
      StackMap stack:
            iload 4 /* isBaseNegated */
            ifne 8
            iload 5 /* isIndexNegated */
            ifne 8
            aload 3 /* addr */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64AddressNode.getScale:()Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Address$Scale.Times1:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
            if_acmpne 8
         3: .line 57
            aload 3 /* addr */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64AddressNode.getBase:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 6 /* base */
        start local 6 // org.graalvm.compiler.nodes.ValueNode base
         4: .line 58
            aload 3 /* addr */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64AddressNode.getIndex:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 7 /* index */
        start local 7 // org.graalvm.compiler.nodes.ValueNode index
         5: .line 60
            aload 0 /* this */
            aload 3 /* addr */
            aload 7 /* index */
            aload 6 /* base */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64CompressAddressLowering.tryToImproveUncompression:(Lorg/graalvm/compiler/core/amd64/AMD64AddressNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Z
            ifne 6
            aload 0 /* this */
            aload 3 /* addr */
            aload 6 /* base */
            aload 7 /* index */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64CompressAddressLowering.tryToImproveUncompression:(Lorg/graalvm/compiler/core/amd64/AMD64AddressNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Z
            ifeq 8
         6: .line 61
      StackMap locals: org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            getstatic org.graalvm.compiler.core.amd64.AMD64CompressAddressLowering.counterFoldedUncompressDuringAddressLowering:Lorg/graalvm/compiler/debug/CounterKey;
            aload 2 /* debug */
            invokeinterface org.graalvm.compiler.debug.CounterKey.increment:(Lorg/graalvm/compiler/debug/DebugContext;)V
         7: .line 62
            iconst_1
            ireturn
        end local 7 // org.graalvm.compiler.nodes.ValueNode index
        end local 6 // org.graalvm.compiler.nodes.ValueNode base
         8: .line 66
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 5 // boolean isIndexNegated
        end local 4 // boolean isBaseNegated
        end local 3 // org.graalvm.compiler.core.amd64.AMD64AddressNode addr
        end local 2 // org.graalvm.compiler.debug.DebugContext debug
        end local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 0 // org.graalvm.compiler.core.amd64.AMD64CompressAddressLowering this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    9     0            this  Lorg/graalvm/compiler/core/amd64/AMD64CompressAddressLowering;
            0    9     1           graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0    9     2           debug  Lorg/graalvm/compiler/debug/DebugContext;
            0    9     3            addr  Lorg/graalvm/compiler/core/amd64/AMD64AddressNode;
            0    9     4   isBaseNegated  Z
            0    9     5  isIndexNegated  Z
            4    8     6            base  Lorg/graalvm/compiler/nodes/ValueNode;
            5    8     7           index  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
                Name  Flags
      graph           
      debug           
      addr            
      isBaseNegated   
      isIndexNegated  

  private boolean tryToImproveUncompression(org.graalvm.compiler.core.amd64.AMD64AddressNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/core/amd64/AMD64AddressNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.graalvm.compiler.core.amd64.AMD64CompressAddressLowering this
        start local 1 // org.graalvm.compiler.core.amd64.AMD64AddressNode addr
        start local 2 // org.graalvm.compiler.nodes.ValueNode value
        start local 3 // org.graalvm.compiler.nodes.ValueNode other
         0: .line 70
            aload 2 /* value */
            instanceof org.graalvm.compiler.nodes.CompressionNode
            ifeq 4
         1: .line 71
            aload 2 /* value */
            checkcast org.graalvm.compiler.nodes.CompressionNode
            astore 4 /* compression */
        start local 4 // org.graalvm.compiler.nodes.CompressionNode compression
         2: .line 72
            aload 4 /* compression */
            invokevirtual org.graalvm.compiler.nodes.CompressionNode.getOp:()Lorg/graalvm/compiler/nodes/CompressionNode$CompressionOp;
            getstatic org.graalvm.compiler.nodes.CompressionNode$CompressionOp.Uncompress:Lorg/graalvm/compiler/nodes/CompressionNode$CompressionOp;
            if_acmpne 4
            aload 0 /* this */
            aload 1 /* addr */
            aload 4 /* compression */
            aload 3 /* other */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64CompressAddressLowering.improveUncompression:(Lorg/graalvm/compiler/core/amd64/AMD64AddressNode;Lorg/graalvm/compiler/nodes/CompressionNode;Lorg/graalvm/compiler/nodes/ValueNode;)Z
            ifeq 4
         3: .line 73
            iconst_1
            ireturn
        end local 4 // org.graalvm.compiler.nodes.CompressionNode compression
         4: .line 77
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // org.graalvm.compiler.nodes.ValueNode other
        end local 2 // org.graalvm.compiler.nodes.ValueNode value
        end local 1 // org.graalvm.compiler.core.amd64.AMD64AddressNode addr
        end local 0 // org.graalvm.compiler.core.amd64.AMD64CompressAddressLowering this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lorg/graalvm/compiler/core/amd64/AMD64CompressAddressLowering;
            0    5     1         addr  Lorg/graalvm/compiler/core/amd64/AMD64AddressNode;
            0    5     2        value  Lorg/graalvm/compiler/nodes/ValueNode;
            0    5     3        other  Lorg/graalvm/compiler/nodes/ValueNode;
            2    4     4  compression  Lorg/graalvm/compiler/nodes/CompressionNode;
    MethodParameters:
       Name  Flags
      addr   
      value  
      other  

  protected abstract 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: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
             Name  Flags
      addr         
      compression  
      other        
}
SourceFile: "AMD64CompressAddressLowering.java"
NestMembers:
  org.graalvm.compiler.core.amd64.AMD64CompressAddressLowering$HeapBaseNode
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 final CompressionOp = org.graalvm.compiler.nodes.CompressionNode$CompressionOp of org.graalvm.compiler.nodes.CompressionNode