public final class sun.java2d.marlin.MarlinCache implements sun.java2d.marlin.MarlinConst
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: sun.java2d.marlin.MarlinCache
  super_class: java.lang.Object
{
  static final boolean FORCE_RLE;
    descriptor: Z
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final boolean FORCE_NO_RLE;
    descriptor: Z
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final int RLE_MIN_WIDTH;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final int RLE_MAX_WIDTH;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 8388608

  static final long INITIAL_CHUNK_ARRAY;
    descriptor: J
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final byte[] ALPHA_MAP;
    descriptor: [B
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final sun.java2d.marlin.OffHeapArray ALPHA_MAP_UNSAFE;
    descriptor: Lsun/java2d/marlin/OffHeapArray;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  int bboxX0;
    descriptor: I
    flags: (0x0000) 

  int bboxY0;
    descriptor: I
    flags: (0x0000) 

  int bboxX1;
    descriptor: I
    flags: (0x0000) 

  int bboxY1;
    descriptor: I
    flags: (0x0000) 

  final long[] rowAAChunkIndex;
    descriptor: [J
    flags: (0x0010) ACC_FINAL

  final int[] rowAAx0;
    descriptor: [I
    flags: (0x0010) ACC_FINAL

  final int[] rowAAx1;
    descriptor: [I
    flags: (0x0010) ACC_FINAL

  final int[] rowAAEnc;
    descriptor: [I
    flags: (0x0010) ACC_FINAL

  final long[] rowAALen;
    descriptor: [J
    flags: (0x0010) ACC_FINAL

  final long[] rowAAPos;
    descriptor: [J
    flags: (0x0010) ACC_FINAL

  final sun.java2d.marlin.OffHeapArray rowAAChunk;
    descriptor: Lsun/java2d/marlin/OffHeapArray;
    flags: (0x0010) ACC_FINAL

  long rowAAChunkPos;
    descriptor: J
    flags: (0x0000) 

  int[] touchedTile;
    descriptor: [I
    flags: (0x0000) 

  final sun.java2d.marlin.RendererContext rdrCtx;
    descriptor: Lsun/java2d/marlin/RendererContext;
    flags: (0x0010) ACC_FINAL

  private final sun.java2d.marlin.IntArrayCache$Reference touchedTile_ref;
    descriptor: Lsun/java2d/marlin/IntArrayCache$Reference;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  int tileMin;
    descriptor: I
    flags: (0x0000) 

  int tileMax;
    descriptor: I
    flags: (0x0000) 

  boolean useRLE;
    descriptor: Z
    flags: (0x0000) 

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=5, args_size=0
         0: .line 37
            invokestatic sun.java2d.marlin.MarlinProperties.isForceRLE:()Z
            putstatic sun.java2d.marlin.MarlinCache.FORCE_RLE:Z
         1: .line 38
            invokestatic sun.java2d.marlin.MarlinProperties.isForceNoRLE:()Z
            putstatic sun.java2d.marlin.MarlinCache.FORCE_NO_RLE:Z
         2: .line 41
            getstatic sun.java2d.marlin.MarlinCache.BLOCK_SIZE:I
            invokestatic sun.java2d.marlin.MarlinProperties.getRLEMinWidth:()I
            invokestatic java.lang.Math.max:(II)I
         3: .line 40
            putstatic sun.java2d.marlin.MarlinCache.RLE_MIN_WIDTH:I
         4: .line 48
            getstatic sun.java2d.marlin.MarlinCache.TILE_SIZE:I
            getstatic sun.java2d.marlin.MarlinCache.INITIAL_PIXEL_DIM:I
            imul
            i2l
            putstatic sun.java2d.marlin.MarlinCache.INITIAL_CHUNK_ARRAY:J
         5: .line 58
            getstatic sun.java2d.marlin.MarlinCache.MAX_AA_ALPHA:I
            invokestatic sun.java2d.marlin.MarlinCache.buildAlphaMap:(I)[B
            astore 0 /* _ALPHA_MAP */
        start local 0 // byte[] _ALPHA_MAP
         6: .line 60
            new sun.java2d.marlin.OffHeapArray
            dup
            aload 0 /* _ALPHA_MAP */
            aload 0 /* _ALPHA_MAP */
            arraylength
            i2l
            invokespecial sun.java2d.marlin.OffHeapArray.<init>:(Ljava/lang/Object;J)V
            putstatic sun.java2d.marlin.MarlinCache.ALPHA_MAP_UNSAFE:Lsun/java2d/marlin/OffHeapArray;
         7: .line 61
            aload 0 /* _ALPHA_MAP */
            putstatic sun.java2d.marlin.MarlinCache.ALPHA_MAP:[B
         8: .line 63
            getstatic sun.java2d.marlin.OffHeapArray.UNSAFE:Ljdk/internal/misc/Unsafe;
            astore 1 /* _unsafe */
        start local 1 // jdk.internal.misc.Unsafe _unsafe
         9: .line 64
            getstatic sun.java2d.marlin.MarlinCache.ALPHA_MAP_UNSAFE:Lsun/java2d/marlin/OffHeapArray;
            getfield sun.java2d.marlin.OffHeapArray.address:J
            lstore 2 /* addr */
        start local 2 // long addr
        10: .line 66
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        11: goto 14
        12: .line 67
      StackMap locals: byte[] jdk.internal.misc.Unsafe long int
      StackMap stack:
            aload 1 /* _unsafe */
            lload 2 /* addr */
            iload 4 /* i */
            i2l
            ladd
            aload 0 /* _ALPHA_MAP */
            iload 4 /* i */
            baload
            invokevirtual jdk.internal.misc.Unsafe.putByte:(JB)V
        13: .line 66
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 4 /* i */
            aload 0 /* _ALPHA_MAP */
            arraylength
            if_icmplt 12
        end local 4 // int i
        end local 2 // long addr
        end local 1 // jdk.internal.misc.Unsafe _unsafe
        end local 0 // byte[] _ALPHA_MAP
        15: .line 69
            return
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            6   15     0  _ALPHA_MAP  [B
            9   15     1     _unsafe  Ljdk/internal/misc/Unsafe;
           10   15     2        addr  J
           11   15     4           i  I

  void <init>(sun.java2d.marlin.RendererContext);
    descriptor: (Lsun/java2d/marlin/RendererContext;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // sun.java2d.marlin.MarlinCache this
        start local 1 // sun.java2d.marlin.RendererContext rdrCtx
         0: .line 110
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 75
            aload 0 /* this */
            getstatic sun.java2d.marlin.MarlinCache.TILE_SIZE:I
            newarray 11
            putfield sun.java2d.marlin.MarlinCache.rowAAChunkIndex:[J
         2: .line 77
            aload 0 /* this */
            getstatic sun.java2d.marlin.MarlinCache.TILE_SIZE:I
            newarray 10
            putfield sun.java2d.marlin.MarlinCache.rowAAx0:[I
         3: .line 79
            aload 0 /* this */
            getstatic sun.java2d.marlin.MarlinCache.TILE_SIZE:I
            newarray 10
            putfield sun.java2d.marlin.MarlinCache.rowAAx1:[I
         4: .line 81
            aload 0 /* this */
            getstatic sun.java2d.marlin.MarlinCache.TILE_SIZE:I
            newarray 10
            putfield sun.java2d.marlin.MarlinCache.rowAAEnc:[I
         5: .line 83
            aload 0 /* this */
            getstatic sun.java2d.marlin.MarlinCache.TILE_SIZE:I
            newarray 11
            putfield sun.java2d.marlin.MarlinCache.rowAALen:[J
         6: .line 85
            aload 0 /* this */
            getstatic sun.java2d.marlin.MarlinCache.TILE_SIZE:I
            newarray 11
            putfield sun.java2d.marlin.MarlinCache.rowAAPos:[J
         7: .line 108
            aload 0 /* this */
            iconst_0
            putfield sun.java2d.marlin.MarlinCache.useRLE:Z
         8: .line 111
            aload 0 /* this */
            aload 1 /* rdrCtx */
            putfield sun.java2d.marlin.MarlinCache.rdrCtx:Lsun/java2d/marlin/RendererContext;
         9: .line 113
            aload 0 /* this */
            aload 1 /* rdrCtx */
            getstatic sun.java2d.marlin.MarlinCache.INITIAL_CHUNK_ARRAY:J
            invokevirtual sun.java2d.marlin.RendererContext.newOffHeapArray:(J)Lsun/java2d/marlin/OffHeapArray;
            putfield sun.java2d.marlin.MarlinCache.rowAAChunk:Lsun/java2d/marlin/OffHeapArray;
        10: .line 115
            aload 0 /* this */
            aload 1 /* rdrCtx */
            sipush 256
            invokevirtual sun.java2d.marlin.RendererContext.newCleanIntArrayRef:(I)Lsun/java2d/marlin/IntArrayCache$Reference;
            putfield sun.java2d.marlin.MarlinCache.touchedTile_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
        11: .line 116
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.touchedTile_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
            getfield sun.java2d.marlin.IntArrayCache$Reference.initial:[I
            putfield sun.java2d.marlin.MarlinCache.touchedTile:[I
        12: .line 119
            aload 0 /* this */
            ldc 2147483647
            putfield sun.java2d.marlin.MarlinCache.tileMin:I
        13: .line 120
            aload 0 /* this */
            ldc -2147483648
            putfield sun.java2d.marlin.MarlinCache.tileMax:I
        14: .line 121
            return
        end local 1 // sun.java2d.marlin.RendererContext rdrCtx
        end local 0 // sun.java2d.marlin.MarlinCache this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   15     0    this  Lsun/java2d/marlin/MarlinCache;
            0   15     1  rdrCtx  Lsun/java2d/marlin/RendererContext;
    MethodParameters:
        Name  Flags
      rdrCtx  final

  void init(int, int, int, int, int);
    descriptor: (IIIII)V
    flags: (0x0000) 
    Code:
      stack=4, locals=10, args_size=6
        start local 0 // sun.java2d.marlin.MarlinCache this
        start local 1 // int minx
        start local 2 // int miny
        start local 3 // int maxx
        start local 4 // int maxy
        start local 5 // int edgeSumDeltaY
         0: .line 126
            aload 0 /* this */
            iload 1 /* minx */
            putfield sun.java2d.marlin.MarlinCache.bboxX0:I
         1: .line 127
            aload 0 /* this */
            iload 2 /* miny */
            putfield sun.java2d.marlin.MarlinCache.bboxY0:I
         2: .line 128
            aload 0 /* this */
            iload 3 /* maxx */
            putfield sun.java2d.marlin.MarlinCache.bboxX1:I
         3: .line 129
            aload 0 /* this */
            iload 4 /* maxy */
            putfield sun.java2d.marlin.MarlinCache.bboxY1:I
         4: .line 131
            iload 3 /* maxx */
            iload 1 /* minx */
            isub
            istore 6 /* width */
        start local 6 // int width
         5: .line 133
            getstatic sun.java2d.marlin.MarlinCache.FORCE_NO_RLE:Z
            ifeq 8
         6: .line 134
            aload 0 /* this */
            iconst_0
            putfield sun.java2d.marlin.MarlinCache.useRLE:Z
         7: .line 135
            goto 35
      StackMap locals: int
      StackMap stack:
         8: getstatic sun.java2d.marlin.MarlinCache.FORCE_RLE:Z
            ifeq 11
         9: .line 136
            aload 0 /* this */
            iconst_1
            putfield sun.java2d.marlin.MarlinCache.useRLE:Z
        10: .line 137
            goto 35
        11: .line 142
      StackMap locals:
      StackMap stack:
            iload 6 /* width */
            getstatic sun.java2d.marlin.MarlinCache.RLE_MIN_WIDTH:I
            if_icmple 12
            iload 6 /* width */
            ldc 8388608
            if_icmplt 14
        12: .line 143
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield sun.java2d.marlin.MarlinCache.useRLE:Z
        13: .line 144
            goto 35
        14: .line 149
      StackMap locals:
      StackMap stack:
            iload 4 /* maxy */
            iload 2 /* miny */
            isub
            getstatic sun.java2d.marlin.MarlinCache.SUBPIXEL_LG_POSITIONS_Y:I
            ishl
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.rdrCtx:Lsun/java2d/marlin/RendererContext;
            getfield sun.java2d.marlin.RendererContext.stroking:I
            ishl
        15: .line 148
            istore 7 /* heightSubPixel */
        start local 7 // int heightSubPixel
        16: .line 155
            aload 0 /* this */
            iload 5 /* edgeSumDeltaY */
            iload 7 /* heightSubPixel */
            iconst_1
            ishl
            if_icmple 19
        17: .line 158
            iload 6 /* width */
            iload 7 /* heightSubPixel */
            imul
        18: .line 159
            iload 5 /* edgeSumDeltaY */
            iload 7 /* heightSubPixel */
            isub
            getstatic sun.java2d.marlin.MarlinCache.BLOCK_SIZE_LG:I
            ishl
            if_icmpgt 19
            iconst_0
            goto 20
      StackMap locals: sun.java2d.marlin.MarlinCache int int int int int int int
      StackMap stack: sun.java2d.marlin.MarlinCache
        19: iconst_1
        20: .line 155
      StackMap locals: sun.java2d.marlin.MarlinCache int int int int int int int
      StackMap stack: sun.java2d.marlin.MarlinCache int
            putfield sun.java2d.marlin.MarlinCache.useRLE:Z
        21: .line 161
            getstatic sun.java2d.marlin.MarlinCache.DO_TRACE:Z
            ifeq 35
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.useRLE:Z
            ifne 35
        22: .line 163
            iload 5 /* edgeSumDeltaY */
            i2f
            iload 7 /* heightSubPixel */
            i2f
            fdiv
        23: .line 162
            fstore 8 /* meanCrossings */
        start local 8 // float meanCrossings
        24: .line 164
            iload 6 /* width */
            i2f
            fload 8 /* meanCrossings */
            fconst_1
            fsub
            fdiv
            fstore 9 /* meanDist */
        start local 9 // float meanDist
        25: .line 166
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "High complexity:  for bbox[width = "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        26: .line 167
            iload 6 /* width */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        27: .line 168
            ldc " height = "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 4 /* maxy */
            iload 2 /* miny */
            isub
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        28: .line 169
            ldc "] edgeSumDeltaY = "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 5 /* edgeSumDeltaY */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        29: .line 170
            ldc " heightSubPixel = "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 7 /* heightSubPixel */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        30: .line 171
            ldc " meanCrossings = "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            fload 8 /* meanCrossings */
            invokevirtual java.lang.StringBuilder.append:(F)Ljava/lang/StringBuilder;
        31: .line 172
            ldc " meanDist = "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            fload 9 /* meanDist */
            invokevirtual java.lang.StringBuilder.append:(F)Ljava/lang/StringBuilder;
        32: .line 173
            ldc " width =  "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 6 /* width */
            iload 7 /* heightSubPixel */
            imul
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        33: .line 174
            ldc " <= criteria:  "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 5 /* edgeSumDeltaY */
            iload 7 /* heightSubPixel */
            isub
            getstatic sun.java2d.marlin.MarlinCache.BLOCK_SIZE_LG:I
            ishl
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        34: .line 166
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 9 // float meanDist
        end local 8 // float meanCrossings
        end local 7 // int heightSubPixel
        35: .line 181
      StackMap locals:
      StackMap stack:
            iload 6 /* width */
            getstatic sun.java2d.marlin.MarlinCache.TILE_SIZE:I
            iadd
            getstatic sun.java2d.marlin.MarlinCache.TILE_SIZE_LG:I
            ishr
            istore 7 /* nxTiles */
        start local 7 // int nxTiles
        36: .line 183
            iload 7 /* nxTiles */
            sipush 256
            if_icmple 40
        37: .line 184
            getstatic sun.java2d.marlin.MarlinCache.DO_STATS:Z
            ifeq 39
        38: .line 185
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.rdrCtx:Lsun/java2d/marlin/RendererContext;
            getfield sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
            getfield sun.java2d.marlin.RendererStats.stat_array_marlincache_touchedTile:Lsun/java2d/marlin/stats/StatLong;
            iload 7 /* nxTiles */
            invokevirtual sun.java2d.marlin.stats.StatLong.add:(I)V
        39: .line 187
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.touchedTile_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
            iload 7 /* nxTiles */
            invokevirtual sun.java2d.marlin.IntArrayCache$Reference.getArray:(I)[I
            putfield sun.java2d.marlin.MarlinCache.touchedTile:[I
        40: .line 189
      StackMap locals:
      StackMap stack:
            return
        end local 7 // int nxTiles
        end local 6 // int width
        end local 5 // int edgeSumDeltaY
        end local 4 // int maxy
        end local 3 // int maxx
        end local 2 // int miny
        end local 1 // int minx
        end local 0 // sun.java2d.marlin.MarlinCache this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   41     0            this  Lsun/java2d/marlin/MarlinCache;
            0   41     1            minx  I
            0   41     2            miny  I
            0   41     3            maxx  I
            0   41     4            maxy  I
            0   41     5   edgeSumDeltaY  I
            5   41     6           width  I
           16   35     7  heightSubPixel  I
           24   35     8   meanCrossings  F
           25   35     9        meanDist  F
           36   41     7         nxTiles  I
    MethodParameters:
               Name  Flags
      minx           
      miny           
      maxx           
      maxy           
      edgeSumDeltaY  

  void dispose();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // sun.java2d.marlin.MarlinCache this
         0: .line 197
            aload 0 /* this */
            iconst_0
            invokevirtual sun.java2d.marlin.MarlinCache.resetTileLine:(I)V
         1: .line 199
            getstatic sun.java2d.marlin.MarlinCache.DO_STATS:Z
            ifeq 3
         2: .line 200
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.rdrCtx:Lsun/java2d/marlin/RendererContext;
            getfield sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
            dup
            getfield sun.java2d.marlin.RendererStats.totalOffHeap:J
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.rowAAChunk:Lsun/java2d/marlin/OffHeapArray;
            getfield sun.java2d.marlin.OffHeapArray.length:J
            ladd
            putfield sun.java2d.marlin.RendererStats.totalOffHeap:J
         3: .line 204
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.touchedTile_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.touchedTile:[I
            iconst_0
            iconst_0
            invokevirtual sun.java2d.marlin.IntArrayCache$Reference.putArray:([III)[I
            putfield sun.java2d.marlin.MarlinCache.touchedTile:[I
         4: .line 207
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.rowAAChunk:Lsun/java2d/marlin/OffHeapArray;
            getfield sun.java2d.marlin.OffHeapArray.length:J
            getstatic sun.java2d.marlin.MarlinCache.INITIAL_CHUNK_ARRAY:J
            lcmp
            ifeq 6
         5: .line 209
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.rowAAChunk:Lsun/java2d/marlin/OffHeapArray;
            getstatic sun.java2d.marlin.MarlinCache.INITIAL_CHUNK_ARRAY:J
            invokevirtual sun.java2d.marlin.OffHeapArray.resize:(J)V
         6: .line 215
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.java2d.marlin.MarlinCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lsun/java2d/marlin/MarlinCache;

  void resetTileLine(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // sun.java2d.marlin.MarlinCache this
        start local 1 // int pminY
         0: .line 219
            aload 0 /* this */
            iload 1 /* pminY */
            putfield sun.java2d.marlin.MarlinCache.bboxY0:I
         1: .line 222
            getstatic sun.java2d.marlin.MarlinCache.DO_STATS:Z
            ifeq 3
         2: .line 223
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.rdrCtx:Lsun/java2d/marlin/RendererContext;
            getfield sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
            getfield sun.java2d.marlin.RendererStats.stat_cache_rowAAChunk:Lsun/java2d/marlin/stats/StatLong;
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.rowAAChunkPos:J
            invokevirtual sun.java2d.marlin.stats.StatLong.add:(J)V
         3: .line 225
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lconst_0
            putfield sun.java2d.marlin.MarlinCache.rowAAChunkPos:J
         4: .line 228
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.tileMin:I
            ldc 2147483647
            if_icmpeq 13
         5: .line 229
            getstatic sun.java2d.marlin.MarlinCache.DO_STATS:Z
            ifeq 7
         6: .line 230
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.rdrCtx:Lsun/java2d/marlin/RendererContext;
            getfield sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
            getfield sun.java2d.marlin.RendererStats.stat_cache_tiles:Lsun/java2d/marlin/stats/StatLong;
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.tileMax:I
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.tileMin:I
            isub
            invokevirtual sun.java2d.marlin.stats.StatLong.add:(I)V
         7: .line 233
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.tileMax:I
            iconst_1
            if_icmpne 10
         8: .line 234
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.touchedTile:[I
            iconst_0
            iconst_0
            iastore
         9: .line 235
            goto 11
        10: .line 236
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.touchedTile:[I
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.tileMin:I
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.tileMax:I
            iconst_0
            invokestatic sun.java2d.marlin.IntArrayCache.fill:([IIII)V
        11: .line 239
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc 2147483647
            putfield sun.java2d.marlin.MarlinCache.tileMin:I
        12: .line 240
            aload 0 /* this */
            ldc -2147483648
            putfield sun.java2d.marlin.MarlinCache.tileMax:I
        13: .line 247
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int pminY
        end local 0 // sun.java2d.marlin.MarlinCache this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   14     0   this  Lsun/java2d/marlin/MarlinCache;
            0   14     1  pminY  I
    MethodParameters:
       Name  Flags
      pminY  final

  void clearAARow(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // sun.java2d.marlin.MarlinCache this
        start local 1 // int y
         0: .line 251
            iload 1 /* y */
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.bboxY0:I
            isub
            istore 2 /* row */
        start local 2 // int row
         1: .line 254
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.rowAAx0:[I
            iload 2 /* row */
            iconst_0
            iastore
         2: .line 255
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.rowAAx1:[I
            iload 2 /* row */
            iconst_0
            iastore
         3: .line 256
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.rowAAEnc:[I
            iload 2 /* row */
            iconst_0
            iastore
         4: .line 260
            return
        end local 2 // int row
        end local 1 // int y
        end local 0 // sun.java2d.marlin.MarlinCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/java2d/marlin/MarlinCache;
            0    5     1     y  I
            1    5     2   row  I
    MethodParameters:
      Name  Flags
      y     final

  void copyAARowNoRLE(int[], int, int, int);
    descriptor: ([IIII)V
    flags: (0x0000) 
    Code:
      stack=8, locals=23, args_size=5
        start local 0 // sun.java2d.marlin.MarlinCache this
        start local 1 // int[] alphaRow
        start local 2 // int y
        start local 3 // int px0
        start local 4 // int px1
         0: .line 277
            iload 4 /* px1 */
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.bboxX1:I
            invokestatic sun.java2d.marlin.FloatMath.min:(II)I
            istore 5 /* px_bbox1 */
        start local 5 // int px_bbox1
         1: .line 279
            getstatic sun.java2d.marlin.MarlinCache.DO_LOG_BOUNDS:Z
            ifeq 5
         2: .line 280
            new java.lang.StringBuilder
            dup
            ldc "row = ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* px0 */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " ... "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 5 /* px_bbox1 */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         3: .line 281
            ldc " ("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 4 /* px1 */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ") [ for y="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* y */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         4: .line 280
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic sun.java2d.marlin.MarlinUtils.logInfo:(Ljava/lang/String;)V
         5: .line 284
      StackMap locals: int
      StackMap stack:
            iload 2 /* y */
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.bboxY0:I
            isub
            istore 6 /* row */
        start local 6 // int row
         6: .line 287
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.rowAAx0:[I
            iload 6 /* row */
            iload 3 /* px0 */
            iastore
         7: .line 288
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.rowAAx1:[I
            iload 6 /* row */
            iload 5 /* px_bbox1 */
            iastore
         8: .line 289
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.rowAAEnc:[I
            iload 6 /* row */
            iconst_0
            iastore
         9: .line 292
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.rowAAChunkPos:J
            lstore 7 /* pos */
        start local 7 // long pos
        10: .line 294
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.rowAAChunkIndex:[J
            iload 6 /* row */
            lload 7 /* pos */
            lastore
        11: .line 299
            lload 7 /* pos */
            iload 5 /* px_bbox1 */
            iload 3 /* px0 */
            isub
            iconst_3
            iadd
            bipush -4
            iand
            i2l
            ladd
            lstore 9 /* needSize */
        start local 9 // long needSize
        12: .line 302
            aload 0 /* this */
            lload 9 /* needSize */
            putfield sun.java2d.marlin.MarlinCache.rowAAChunkPos:J
        13: .line 305
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.rowAAChunk:Lsun/java2d/marlin/OffHeapArray;
            astore 11 /* _rowAAChunk */
        start local 11 // sun.java2d.marlin.OffHeapArray _rowAAChunk
        14: .line 307
            aload 11 /* _rowAAChunk */
            getfield sun.java2d.marlin.OffHeapArray.length:J
            lload 9 /* needSize */
            lcmp
            ifge 16
        15: .line 308
            aload 0 /* this */
            lload 9 /* needSize */
            invokevirtual sun.java2d.marlin.MarlinCache.expandRowAAChunk:(J)V
        16: .line 310
      StackMap locals: sun.java2d.marlin.MarlinCache int[] int int int int int long long sun.java2d.marlin.OffHeapArray
      StackMap stack:
            getstatic sun.java2d.marlin.MarlinCache.DO_STATS:Z
            ifeq 18
        17: .line 311
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.rdrCtx:Lsun/java2d/marlin/RendererContext;
            getfield sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
            getfield sun.java2d.marlin.RendererStats.stat_cache_rowAA:Lsun/java2d/marlin/stats/StatLong;
            iload 5 /* px_bbox1 */
            iload 3 /* px0 */
            isub
            invokevirtual sun.java2d.marlin.stats.StatLong.add:(I)V
        18: .line 315
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.touchedTile:[I
            astore 12 /* _touchedTile */
        start local 12 // int[] _touchedTile
        19: .line 316
            getstatic sun.java2d.marlin.MarlinCache.TILE_SIZE_LG:I
            istore 13 /* _TILE_SIZE_LG */
        start local 13 // int _TILE_SIZE_LG
        20: .line 318
            iload 3 /* px0 */
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.bboxX0:I
            isub
            istore 14 /* from */
        start local 14 // int from
        21: .line 319
            iload 5 /* px_bbox1 */
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.bboxX0:I
            isub
            istore 15 /* to */
        start local 15 // int to
        22: .line 321
            getstatic sun.java2d.marlin.OffHeapArray.UNSAFE:Ljdk/internal/misc/Unsafe;
            astore 16 /* _unsafe */
        start local 16 // jdk.internal.misc.Unsafe _unsafe
        23: .line 323
            getstatic sun.java2d.marlin.MarlinCache.ALPHA_MAP_UNSAFE:Lsun/java2d/marlin/OffHeapArray;
            getfield sun.java2d.marlin.OffHeapArray.address:J
            lstore 17 /* addr_alpha */
        start local 17 // long addr_alpha
        24: .line 324
            aload 11 /* _rowAAChunk */
            getfield sun.java2d.marlin.OffHeapArray.address:J
            lload 7 /* pos */
            ladd
            lstore 19 /* addr_off */
        start local 19 // long addr_off
        25: .line 327
            iload 14 /* from */
            istore 21 /* x */
        start local 21 // int x
        26: iconst_0
            istore 22 /* val */
        start local 22 // int val
        27: goto 36
        28: .line 329
      StackMap locals: sun.java2d.marlin.MarlinCache int[] int int int int int long long sun.java2d.marlin.OffHeapArray int[] int int int jdk.internal.misc.Unsafe long long int int
      StackMap stack:
            iload 22 /* val */
            aload 1 /* alphaRow */
            iload 21 /* x */
            iaload
            iadd
            istore 22 /* val */
        29: .line 344
            iload 22 /* val */
            ifne 32
        30: .line 345
            aload 16 /* _unsafe */
            lload 19 /* addr_off */
            iconst_0
            invokevirtual jdk.internal.misc.Unsafe.putByte:(JB)V
        31: .line 346
            goto 34
        32: .line 347
      StackMap locals:
      StackMap stack:
            aload 16 /* _unsafe */
            lload 19 /* addr_off */
            aload 16 /* _unsafe */
            lload 17 /* addr_alpha */
            iload 22 /* val */
            i2l
            ladd
            invokevirtual jdk.internal.misc.Unsafe.getByte:(J)B
            invokevirtual jdk.internal.misc.Unsafe.putByte:(JB)V
        33: .line 350
            aload 12 /* _touchedTile */
            iload 21 /* x */
            iload 13 /* _TILE_SIZE_LG */
            ishr
            dup2
            iaload
            iload 22 /* val */
            iadd
            iastore
        34: .line 352
      StackMap locals:
      StackMap stack:
            lload 19 /* addr_off */
            lconst_1
            ladd
            lstore 19 /* addr_off */
        35: .line 327
            iinc 21 /* x */ 1
      StackMap locals:
      StackMap stack:
        36: iload 21 /* x */
            iload 15 /* to */
            if_icmplt 28
        end local 22 // int val
        end local 21 // int x
        37: .line 356
            iload 14 /* from */
            iload 13 /* _TILE_SIZE_LG */
            ishr
            istore 21 /* tx */
        start local 21 // int tx
        38: .line 357
            iload 21 /* tx */
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.tileMin:I
            if_icmpge 40
        39: .line 358
            aload 0 /* this */
            iload 21 /* tx */
            putfield sun.java2d.marlin.MarlinCache.tileMin:I
        40: .line 361
      StackMap locals:
      StackMap stack:
            iload 15 /* to */
            iconst_1
            isub
            iload 13 /* _TILE_SIZE_LG */
            ishr
            iconst_1
            iadd
            istore 21 /* tx */
        41: .line 362
            iload 21 /* tx */
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.tileMax:I
            if_icmple 43
        42: .line 363
            aload 0 /* this */
            iload 21 /* tx */
            putfield sun.java2d.marlin.MarlinCache.tileMax:I
        43: .line 366
      StackMap locals:
      StackMap stack:
            getstatic sun.java2d.marlin.MarlinCache.DO_LOG_BOUNDS:Z
            ifeq 45
        44: .line 367
            new java.lang.StringBuilder
            dup
            ldc "clear = ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 14 /* from */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " ... "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 15 /* to */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic sun.java2d.marlin.MarlinUtils.logInfo:(Ljava/lang/String;)V
        45: .line 371
      StackMap locals:
      StackMap stack:
            aload 1 /* alphaRow */
            iload 14 /* from */
            iload 4 /* px1 */
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.bboxX0:I
            isub
            iconst_0
            invokestatic sun.java2d.marlin.IntArrayCache.fill:([IIII)V
        46: .line 376
            return
        end local 21 // int tx
        end local 19 // long addr_off
        end local 17 // long addr_alpha
        end local 16 // jdk.internal.misc.Unsafe _unsafe
        end local 15 // int to
        end local 14 // int from
        end local 13 // int _TILE_SIZE_LG
        end local 12 // int[] _touchedTile
        end local 11 // sun.java2d.marlin.OffHeapArray _rowAAChunk
        end local 9 // long needSize
        end local 7 // long pos
        end local 6 // int row
        end local 5 // int px_bbox1
        end local 4 // int px1
        end local 3 // int px0
        end local 2 // int y
        end local 1 // int[] alphaRow
        end local 0 // sun.java2d.marlin.MarlinCache this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   47     0           this  Lsun/java2d/marlin/MarlinCache;
            0   47     1       alphaRow  [I
            0   47     2              y  I
            0   47     3            px0  I
            0   47     4            px1  I
            1   47     5       px_bbox1  I
            6   47     6            row  I
           10   47     7            pos  J
           12   47     9       needSize  J
           14   47    11    _rowAAChunk  Lsun/java2d/marlin/OffHeapArray;
           19   47    12   _touchedTile  [I
           20   47    13  _TILE_SIZE_LG  I
           21   47    14           from  I
           22   47    15             to  I
           23   47    16        _unsafe  Ljdk/internal/misc/Unsafe;
           24   47    17     addr_alpha  J
           25   47    19       addr_off  J
           26   37    21              x  I
           27   37    22            val  I
           38   47    21             tx  I
    MethodParameters:
          Name  Flags
      alphaRow  final
      y         final
      px0       final
      px1       final

  void copyAARowRLE_WithBlockFlags(int[], int[], int, int, int);
    descriptor: ([I[IIII)V
    flags: (0x0000) 
    Code:
      stack=9, locals=36, args_size=6
        start local 0 // sun.java2d.marlin.MarlinCache this
        start local 1 // int[] blkFlags
        start local 2 // int[] alphaRow
        start local 3 // int y
        start local 4 // int px0
        start local 5 // int px1
         0: .line 386
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.bboxX0:I
            istore 6 /* _bboxX0 */
        start local 6 // int _bboxX0
         1: .line 389
            iload 3 /* y */
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.bboxY0:I
            isub
            istore 7 /* row */
        start local 7 // int row
         2: .line 390
            iload 4 /* px0 */
            iload 6 /* _bboxX0 */
            isub
            istore 8 /* from */
        start local 8 // int from
         3: .line 393
            iload 5 /* px1 */
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.bboxX1:I
            invokestatic sun.java2d.marlin.FloatMath.min:(II)I
            istore 9 /* px_bbox1 */
        start local 9 // int px_bbox1
         4: .line 394
            iload 9 /* px_bbox1 */
            iload 6 /* _bboxX0 */
            isub
            istore 10 /* to */
        start local 10 // int to
         5: .line 396
            getstatic sun.java2d.marlin.MarlinCache.DO_LOG_BOUNDS:Z
            ifeq 9
         6: .line 397
            new java.lang.StringBuilder
            dup
            ldc "row = ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 4 /* px0 */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " ... "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 9 /* px_bbox1 */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         7: .line 398
            ldc " ("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 5 /* px1 */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ") [ for y="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 3 /* y */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         8: .line 397
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic sun.java2d.marlin.MarlinUtils.logInfo:(Ljava/lang/String;)V
         9: .line 402
      StackMap locals: sun.java2d.marlin.MarlinCache int[] int[] int int int int int int int int
      StackMap stack:
            aload 0 /* this */
            iload 7 /* row */
            iload 4 /* px0 */
            iload 9 /* px_bbox1 */
            invokevirtual sun.java2d.marlin.MarlinCache.startRLERow:(III)J
            lstore 11 /* initialPos */
        start local 11 // long initialPos
        10: .line 406
            lload 11 /* initialPos */
            iload 10 /* to */
            iload 8 /* from */
            isub
            iconst_2
            ishl
            i2l
            ladd
            lstore 13 /* needSize */
        start local 13 // long needSize
        11: .line 409
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.rowAAChunk:Lsun/java2d/marlin/OffHeapArray;
            astore 15 /* _rowAAChunk */
        start local 15 // sun.java2d.marlin.OffHeapArray _rowAAChunk
        12: .line 411
            aload 15 /* _rowAAChunk */
            getfield sun.java2d.marlin.OffHeapArray.length:J
            lload 13 /* needSize */
            lcmp
            ifge 14
        13: .line 412
            aload 0 /* this */
            lload 13 /* needSize */
            invokevirtual sun.java2d.marlin.MarlinCache.expandRowAAChunk:(J)V
        14: .line 415
      StackMap locals: long long sun.java2d.marlin.OffHeapArray
      StackMap stack:
            getstatic sun.java2d.marlin.OffHeapArray.UNSAFE:Ljdk/internal/misc/Unsafe;
            astore 16 /* _unsafe */
        start local 16 // jdk.internal.misc.Unsafe _unsafe
        15: .line 417
            getstatic sun.java2d.marlin.MarlinCache.ALPHA_MAP_UNSAFE:Lsun/java2d/marlin/OffHeapArray;
            getfield sun.java2d.marlin.OffHeapArray.address:J
            lstore 17 /* addr_alpha */
        start local 17 // long addr_alpha
        16: .line 418
            aload 15 /* _rowAAChunk */
            getfield sun.java2d.marlin.OffHeapArray.address:J
            lload 11 /* initialPos */
            ladd
            lstore 19 /* addr_off */
        start local 19 // long addr_off
        17: .line 420
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.touchedTile:[I
            astore 21 /* _touchedTile */
        start local 21 // int[] _touchedTile
        18: .line 421
            getstatic sun.java2d.marlin.MarlinCache.TILE_SIZE_LG:I
            istore 22 /* _TILE_SIZE_LG */
        start local 22 // int _TILE_SIZE_LG
        19: .line 422
            getstatic sun.java2d.marlin.MarlinCache.BLOCK_SIZE_LG:I
            istore 23 /* _BLK_SIZE_LG */
        start local 23 // int _BLK_SIZE_LG
        20: .line 425
            iload 8 /* from */
            iload 23 /* _BLK_SIZE_LG */
            ishr
            istore 24 /* blkW */
        start local 24 // int blkW
        21: .line 426
            iload 10 /* to */
            iload 23 /* _BLK_SIZE_LG */
            ishr
            iconst_1
            iadd
            istore 25 /* blkE */
        start local 25 // int blkE
        22: .line 429
            iconst_0
            istore 26 /* val */
        start local 26 // int val
        23: .line 430
            iload 8 /* from */
            istore 27 /* cx0 */
        start local 27 // int cx0
        24: .line 434
            ldc 2147483647
            istore 29 /* last_t0 */
        start local 29 // int last_t0
        25: .line 436
            iconst_0
            istore 30 /* skip */
        start local 30 // int skip
        26: .line 438
            iload 24 /* blkW */
            istore 31 /* t */
        start local 31 // int t
        27: goto 70
        28: .line 439
      StackMap locals: sun.java2d.marlin.MarlinCache int[] int[] int int int int int int int int long long sun.java2d.marlin.OffHeapArray jdk.internal.misc.Unsafe long long int[] int int int int int int top int int int
      StackMap stack:
            aload 1 /* blkFlags */
            iload 31 /* t */
            iaload
            ifeq 33
        29: .line 440
            aload 1 /* blkFlags */
            iload 31 /* t */
            iconst_0
            iastore
        30: .line 442
            iload 29 /* last_t0 */
            ldc 2147483647
            if_icmpne 69
        31: .line 443
            iload 31 /* t */
            istore 29 /* last_t0 */
        32: .line 445
            goto 69
        33: .line 447
      StackMap locals:
      StackMap stack:
            iload 29 /* last_t0 */
            ldc 2147483647
            if_icmpeq 67
        34: .line 449
            iload 29 /* last_t0 */
            iload 23 /* _BLK_SIZE_LG */
            ishl
            iload 8 /* from */
            invokestatic sun.java2d.marlin.FloatMath.max:(II)I
            istore 32 /* blk_x0 */
        start local 32 // int blk_x0
        35: .line 450
            ldc 2147483647
            istore 29 /* last_t0 */
        36: .line 453
            iload 31 /* t */
            iload 23 /* _BLK_SIZE_LG */
            ishl
            iconst_1
            iadd
            iload 10 /* to */
            invokestatic sun.java2d.marlin.FloatMath.min:(II)I
            istore 33 /* blk_x1 */
        start local 33 // int blk_x1
        37: .line 455
            iload 32 /* blk_x0 */
            istore 34 /* cx */
        start local 34 // int cx
        38: goto 65
        39: .line 456
      StackMap locals: int int int
      StackMap stack:
            aload 2 /* alphaRow */
            iload 34 /* cx */
            iaload
            dup
            istore 35 /* delta */
        start local 35 // int delta
        40: ifeq 64
        41: .line 457
            aload 2 /* alphaRow */
            iload 34 /* cx */
            iconst_0
            iastore
        42: .line 460
            iload 34 /* cx */
            iload 27 /* cx0 */
            if_icmpeq 63
        43: .line 461
            iload 34 /* cx */
            iload 27 /* cx0 */
            isub
            istore 28 /* runLen */
        start local 28 // int runLen
        44: .line 477
            iload 26 /* val */
            ifne 49
        45: .line 478
            aload 16 /* _unsafe */
            lload 19 /* addr_off */
        46: .line 479
            iload 6 /* _bboxX0 */
            iload 34 /* cx */
            iadd
            bipush 8
            ishl
        47: .line 478
            invokevirtual jdk.internal.misc.Unsafe.putInt:(JI)V
        48: .line 481
            goto 58
        49: .line 482
      StackMap locals: sun.java2d.marlin.MarlinCache int[] int[] int int int int int int int int long long sun.java2d.marlin.OffHeapArray jdk.internal.misc.Unsafe long long int[] int int int int int int int int int int int int int int
      StackMap stack:
            aload 16 /* _unsafe */
            lload 19 /* addr_off */
        50: .line 483
            iload 6 /* _bboxX0 */
            iload 34 /* cx */
            iadd
            bipush 8
            ishl
        51: .line 484
            aload 16 /* _unsafe */
            lload 17 /* addr_alpha */
            iload 26 /* val */
            i2l
            ladd
            invokevirtual jdk.internal.misc.Unsafe.getByte:(J)B
            sipush 255
            iand
        52: .line 483
            ior
        53: .line 482
            invokevirtual jdk.internal.misc.Unsafe.putInt:(JI)V
        54: .line 487
            iload 28 /* runLen */
            iconst_1
            if_icmpne 57
        55: .line 488
            aload 21 /* _touchedTile */
            iload 27 /* cx0 */
            iload 22 /* _TILE_SIZE_LG */
            ishr
            dup2
            iaload
            iload 26 /* val */
            iadd
            iastore
        56: .line 489
            goto 58
        57: .line 490
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 27 /* cx0 */
            iload 26 /* val */
            iload 34 /* cx */
            iload 28 /* runLen */
            aload 21 /* _touchedTile */
            invokevirtual sun.java2d.marlin.MarlinCache.touchTile:(IIII[I)V
        58: .line 493
      StackMap locals:
      StackMap stack:
            lload 19 /* addr_off */
            ldc 4
            ladd
            lstore 19 /* addr_off */
        59: .line 495
            getstatic sun.java2d.marlin.MarlinCache.DO_STATS:Z
            ifeq 62
        60: .line 496
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.rdrCtx:Lsun/java2d/marlin/RendererContext;
            getfield sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
            getfield sun.java2d.marlin.RendererStats.hist_tile_generator_encoding_runLen:Lsun/java2d/marlin/stats/Histogram;
        61: .line 497
            iload 28 /* runLen */
            invokevirtual sun.java2d.marlin.stats.Histogram.add:(I)V
        62: .line 499
      StackMap locals:
      StackMap stack:
            iload 34 /* cx */
            istore 27 /* cx0 */
        end local 28 // int runLen
        63: .line 503
      StackMap locals: sun.java2d.marlin.MarlinCache int[] int[] int int int int int int int int long long sun.java2d.marlin.OffHeapArray jdk.internal.misc.Unsafe long long int[] int int int int int int top int int int int int int int
      StackMap stack:
            iload 26 /* val */
            iload 35 /* delta */
            iadd
            istore 26 /* val */
        64: .line 455
      StackMap locals:
      StackMap stack:
            iinc 34 /* cx */ 1
        end local 35 // int delta
      StackMap locals:
      StackMap stack:
        65: iload 34 /* cx */
            iload 33 /* blk_x1 */
            if_icmplt 39
        66: .line 518
            goto 69
        end local 34 // int cx
        end local 33 // int blk_x1
        end local 32 // int blk_x0
      StackMap locals:
      StackMap stack:
        67: getstatic sun.java2d.marlin.MarlinCache.DO_STATS:Z
            ifeq 69
        68: .line 519
            iinc 30 /* skip */ 1
        69: .line 438
      StackMap locals:
      StackMap stack:
            iinc 31 /* t */ 1
      StackMap locals:
      StackMap stack:
        70: iload 31 /* t */
            iload 25 /* blkE */
            if_icmple 28
        end local 31 // int t
        71: .line 524
            iload 10 /* to */
            iload 27 /* cx0 */
            isub
            istore 28 /* runLen */
        start local 28 // int runLen
        72: .line 540
            iload 26 /* val */
            ifne 77
        73: .line 541
            aload 16 /* _unsafe */
            lload 19 /* addr_off */
        74: .line 542
            iload 6 /* _bboxX0 */
            iload 10 /* to */
            iadd
            bipush 8
            ishl
        75: .line 541
            invokevirtual jdk.internal.misc.Unsafe.putInt:(JI)V
        76: .line 544
            goto 86
        77: .line 545
      StackMap locals: sun.java2d.marlin.MarlinCache int[] int[] int int int int int int int int long long sun.java2d.marlin.OffHeapArray jdk.internal.misc.Unsafe long long int[] int int int int int int int int int
      StackMap stack:
            aload 16 /* _unsafe */
            lload 19 /* addr_off */
        78: .line 546
            iload 6 /* _bboxX0 */
            iload 10 /* to */
            iadd
            bipush 8
            ishl
        79: .line 547
            aload 16 /* _unsafe */
            lload 17 /* addr_alpha */
            iload 26 /* val */
            i2l
            ladd
            invokevirtual jdk.internal.misc.Unsafe.getByte:(J)B
            sipush 255
            iand
        80: .line 546
            ior
        81: .line 545
            invokevirtual jdk.internal.misc.Unsafe.putInt:(JI)V
        82: .line 550
            iload 28 /* runLen */
            iconst_1
            if_icmpne 85
        83: .line 551
            aload 21 /* _touchedTile */
            iload 27 /* cx0 */
            iload 22 /* _TILE_SIZE_LG */
            ishr
            dup2
            iaload
            iload 26 /* val */
            iadd
            iastore
        84: .line 552
            goto 86
        85: .line 553
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 27 /* cx0 */
            iload 26 /* val */
            iload 10 /* to */
            iload 28 /* runLen */
            aload 21 /* _touchedTile */
            invokevirtual sun.java2d.marlin.MarlinCache.touchTile:(IIII[I)V
        86: .line 556
      StackMap locals:
      StackMap stack:
            lload 19 /* addr_off */
            ldc 4
            ladd
            lstore 19 /* addr_off */
        87: .line 558
            getstatic sun.java2d.marlin.MarlinCache.DO_STATS:Z
            ifeq 89
        88: .line 559
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.rdrCtx:Lsun/java2d/marlin/RendererContext;
            getfield sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
            getfield sun.java2d.marlin.RendererStats.hist_tile_generator_encoding_runLen:Lsun/java2d/marlin/stats/Histogram;
            iload 28 /* runLen */
            invokevirtual sun.java2d.marlin.stats.Histogram.add:(I)V
        89: .line 562
      StackMap locals:
      StackMap stack:
            lload 19 /* addr_off */
            aload 15 /* _rowAAChunk */
            getfield sun.java2d.marlin.OffHeapArray.address:J
            lsub
            lstore 31 /* len */
        start local 31 // long len
        90: .line 565
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.rowAALen:[J
            iload 7 /* row */
            lload 31 /* len */
            lload 11 /* initialPos */
            lsub
            lastore
        91: .line 568
            aload 0 /* this */
            lload 31 /* len */
            putfield sun.java2d.marlin.MarlinCache.rowAAChunkPos:J
        92: .line 570
            getstatic sun.java2d.marlin.MarlinCache.DO_STATS:Z
            ifeq 97
        93: .line 571
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.rdrCtx:Lsun/java2d/marlin/RendererContext;
            getfield sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
            getfield sun.java2d.marlin.RendererStats.stat_cache_rowAA:Lsun/java2d/marlin/stats/StatLong;
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.rowAALen:[J
            iload 7 /* row */
            laload
            invokevirtual sun.java2d.marlin.stats.StatLong.add:(J)V
        94: .line 572
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.rdrCtx:Lsun/java2d/marlin/RendererContext;
            getfield sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
            getfield sun.java2d.marlin.RendererStats.hist_tile_generator_encoding_ratio:Lsun/java2d/marlin/stats/Histogram;
        95: .line 573
            bipush 100
            iload 30 /* skip */
            imul
            iload 25 /* blkE */
            iload 24 /* blkW */
            isub
            idiv
        96: .line 572
            invokevirtual sun.java2d.marlin.stats.Histogram.add:(I)V
        97: .line 578
      StackMap locals: long
      StackMap stack:
            iload 8 /* from */
            iload 22 /* _TILE_SIZE_LG */
            ishr
            istore 33 /* tx */
        start local 33 // int tx
        98: .line 579
            iload 33 /* tx */
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.tileMin:I
            if_icmpge 100
        99: .line 580
            aload 0 /* this */
            iload 33 /* tx */
            putfield sun.java2d.marlin.MarlinCache.tileMin:I
       100: .line 583
      StackMap locals: int
      StackMap stack:
            iload 10 /* to */
            iconst_1
            isub
            iload 22 /* _TILE_SIZE_LG */
            ishr
            iconst_1
            iadd
            istore 33 /* tx */
       101: .line 584
            iload 33 /* tx */
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.tileMax:I
            if_icmple 103
       102: .line 585
            aload 0 /* this */
            iload 33 /* tx */
            putfield sun.java2d.marlin.MarlinCache.tileMax:I
       103: .line 589
      StackMap locals:
      StackMap stack:
            iload 5 /* px1 */
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.bboxX1:I
            if_icmple 106
       104: .line 590
            aload 2 /* alphaRow */
            iload 10 /* to */
            iconst_0
            iastore
       105: .line 591
            aload 2 /* alphaRow */
            iload 10 /* to */
            iconst_1
            iadd
            iconst_0
            iastore
       106: .line 593
      StackMap locals:
      StackMap stack:
            getstatic sun.java2d.marlin.MarlinCache.DO_CHECKS:Z
            ifeq 109
       107: .line 594
            aload 1 /* blkFlags */
            iload 24 /* blkW */
            iload 25 /* blkE */
            iconst_0
            invokestatic sun.java2d.marlin.IntArrayCache.check:([IIII)V
       108: .line 595
            aload 2 /* alphaRow */
            iload 8 /* from */
            iload 5 /* px1 */
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.bboxX0:I
            isub
            iconst_0
            invokestatic sun.java2d.marlin.IntArrayCache.check:([IIII)V
       109: .line 601
      StackMap locals:
      StackMap stack:
            return
        end local 33 // int tx
        end local 31 // long len
        end local 30 // int skip
        end local 29 // int last_t0
        end local 28 // int runLen
        end local 27 // int cx0
        end local 26 // int val
        end local 25 // int blkE
        end local 24 // int blkW
        end local 23 // int _BLK_SIZE_LG
        end local 22 // int _TILE_SIZE_LG
        end local 21 // int[] _touchedTile
        end local 19 // long addr_off
        end local 17 // long addr_alpha
        end local 16 // jdk.internal.misc.Unsafe _unsafe
        end local 15 // sun.java2d.marlin.OffHeapArray _rowAAChunk
        end local 13 // long needSize
        end local 11 // long initialPos
        end local 10 // int to
        end local 9 // int px_bbox1
        end local 8 // int from
        end local 7 // int row
        end local 6 // int _bboxX0
        end local 5 // int px1
        end local 4 // int px0
        end local 3 // int y
        end local 2 // int[] alphaRow
        end local 1 // int[] blkFlags
        end local 0 // sun.java2d.marlin.MarlinCache this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0  110     0           this  Lsun/java2d/marlin/MarlinCache;
            0  110     1       blkFlags  [I
            0  110     2       alphaRow  [I
            0  110     3              y  I
            0  110     4            px0  I
            0  110     5            px1  I
            1  110     6        _bboxX0  I
            2  110     7            row  I
            3  110     8           from  I
            4  110     9       px_bbox1  I
            5  110    10             to  I
           10  110    11     initialPos  J
           11  110    13       needSize  J
           12  110    15    _rowAAChunk  Lsun/java2d/marlin/OffHeapArray;
           15  110    16        _unsafe  Ljdk/internal/misc/Unsafe;
           16  110    17     addr_alpha  J
           17  110    19       addr_off  J
           18  110    21   _touchedTile  [I
           19  110    22  _TILE_SIZE_LG  I
           20  110    23   _BLK_SIZE_LG  I
           21  110    24           blkW  I
           22  110    25           blkE  I
           23  110    26            val  I
           24  110    27            cx0  I
           44   63    28         runLen  I
           72  110    28         runLen  I
           25  110    29        last_t0  I
           26  110    30           skip  I
           27   71    31              t  I
           35   67    32         blk_x0  I
           37   67    33         blk_x1  I
           38   67    34             cx  I
           40   65    35          delta  I
           90  110    31            len  J
           98  110    33             tx  I
    MethodParameters:
          Name  Flags
      blkFlags  final
      alphaRow  final
      y         final
      px0       final
      px1       final

  long startRLERow(int, int, int);
    descriptor: (III)J
    flags: (0x0000) 
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // sun.java2d.marlin.MarlinCache this
        start local 1 // int row
        start local 2 // int x0
        start local 3 // int x1
         0: .line 605
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.rowAAx0:[I
            iload 1 /* row */
            iload 2 /* x0 */
            iastore
         1: .line 606
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.rowAAx1:[I
            iload 1 /* row */
            iload 3 /* x1 */
            iastore
         2: .line 607
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.rowAAEnc:[I
            iload 1 /* row */
            iconst_1
            iastore
         3: .line 608
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.rowAAPos:[J
            iload 1 /* row */
            lconst_0
            lastore
         4: .line 611
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.rowAAChunkIndex:[J
            iload 1 /* row */
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.rowAAChunkPos:J
            dup2_x2
            lastore
            lreturn
        end local 3 // int x1
        end local 2 // int x0
        end local 1 // int row
        end local 0 // sun.java2d.marlin.MarlinCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/java2d/marlin/MarlinCache;
            0    5     1   row  I
            0    5     2    x0  I
            0    5     3    x1  I
    MethodParameters:
      Name  Flags
      row   final
      x0    final
      x1    final

  private void expandRowAAChunk(long);
    descriptor: (J)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // sun.java2d.marlin.MarlinCache this
        start local 1 // long needSize
         0: .line 615
            getstatic sun.java2d.marlin.MarlinCache.DO_STATS:Z
            ifeq 2
         1: .line 616
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.rdrCtx:Lsun/java2d/marlin/RendererContext;
            getfield sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
            getfield sun.java2d.marlin.RendererStats.stat_array_marlincache_rowAAChunk:Lsun/java2d/marlin/stats/StatLong;
            lload 1 /* needSize */
            invokevirtual sun.java2d.marlin.stats.StatLong.add:(J)V
         2: .line 620
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.rowAAChunk:Lsun/java2d/marlin/OffHeapArray;
            getfield sun.java2d.marlin.OffHeapArray.length:J
         3: .line 621
            lload 1 /* needSize */
         4: .line 620
            invokestatic sun.java2d.marlin.ArrayCacheConst.getNewLargeSize:(JJ)J
            lstore 3 /* newSize */
        start local 3 // long newSize
         5: .line 623
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.rowAAChunk:Lsun/java2d/marlin/OffHeapArray;
            lload 3 /* newSize */
            invokevirtual sun.java2d.marlin.OffHeapArray.resize:(J)V
         6: .line 624
            return
        end local 3 // long newSize
        end local 1 // long needSize
        end local 0 // sun.java2d.marlin.MarlinCache this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lsun/java2d/marlin/MarlinCache;
            0    7     1  needSize  J
            5    7     3   newSize  J
    MethodParameters:
          Name  Flags
      needSize  final

  private void touchTile(int, int, int, int, int[]);
    descriptor: (IIII[I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=12, args_size=6
        start local 0 // sun.java2d.marlin.MarlinCache this
        start local 1 // int x0
        start local 2 // int val
        start local 3 // int x1
        start local 4 // int runLen
        start local 5 // int[] _touchedTile
         0: .line 632
            getstatic sun.java2d.marlin.MarlinCache.TILE_SIZE_LG:I
            istore 6 /* _TILE_SIZE_LG */
        start local 6 // int _TILE_SIZE_LG
         1: .line 635
            iload 1 /* x0 */
            iload 6 /* _TILE_SIZE_LG */
            ishr
            istore 7 /* tx */
        start local 7 // int tx
         2: .line 638
            iload 7 /* tx */
            iload 3 /* x1 */
            iload 6 /* _TILE_SIZE_LG */
            ishr
            if_icmpne 5
         3: .line 640
            aload 5 /* _touchedTile */
            iload 7 /* tx */
            dup2
            iaload
            iload 2 /* val */
            iload 4 /* runLen */
            imul
            iadd
            iastore
         4: .line 641
            return
         5: .line 644
      StackMap locals: int int
      StackMap stack:
            iload 3 /* x1 */
            iconst_1
            isub
            iload 6 /* _TILE_SIZE_LG */
            ishr
            istore 8 /* tx1 */
        start local 8 // int tx1
         6: .line 646
            iload 7 /* tx */
            iload 8 /* tx1 */
            if_icmpgt 9
         7: .line 647
            iload 7 /* tx */
            iconst_1
            iadd
            iload 6 /* _TILE_SIZE_LG */
            ishl
            istore 9 /* nextTileXCoord */
        start local 9 // int nextTileXCoord
         8: .line 648
            aload 5 /* _touchedTile */
            iload 7 /* tx */
            iinc 7 /* tx */ 1
            dup2
            iaload
            iload 2 /* val */
            iload 9 /* nextTileXCoord */
            iload 1 /* x0 */
            isub
            imul
            iadd
            iastore
        end local 9 // int nextTileXCoord
         9: .line 650
      StackMap locals: int
      StackMap stack:
            iload 7 /* tx */
            iload 8 /* tx1 */
            if_icmpge 15
        10: .line 653
            iload 2 /* val */
            iload 6 /* _TILE_SIZE_LG */
            ishl
            istore 9 /* tileVal */
        start local 9 // int tileVal
        11: .line 654
            goto 14
        12: .line 655
      StackMap locals: int
      StackMap stack:
            aload 5 /* _touchedTile */
            iload 7 /* tx */
            dup2
            iaload
            iload 9 /* tileVal */
            iadd
            iastore
        13: .line 654
            iinc 7 /* tx */ 1
      StackMap locals:
      StackMap stack:
        14: iload 7 /* tx */
            iload 8 /* tx1 */
            if_icmplt 12
        end local 9 // int tileVal
        15: .line 659
      StackMap locals:
      StackMap stack:
            iload 7 /* tx */
            iload 8 /* tx1 */
            if_icmpne 22
        16: .line 660
            iload 7 /* tx */
            iload 6 /* _TILE_SIZE_LG */
            ishl
            istore 9 /* txXCoord */
        start local 9 // int txXCoord
        17: .line 661
            iload 7 /* tx */
            iconst_1
            iadd
            iload 6 /* _TILE_SIZE_LG */
            ishl
            istore 10 /* nextTileXCoord */
        start local 10 // int nextTileXCoord
        18: .line 663
            iload 10 /* nextTileXCoord */
            iload 3 /* x1 */
            if_icmpgt 19
            iload 10 /* nextTileXCoord */
            goto 20
      StackMap locals: int int
      StackMap stack:
        19: iload 3 /* x1 */
      StackMap locals:
      StackMap stack: int
        20: istore 11 /* lastXCoord */
        start local 11 // int lastXCoord
        21: .line 664
            aload 5 /* _touchedTile */
            iload 7 /* tx */
            dup2
            iaload
            iload 2 /* val */
            iload 11 /* lastXCoord */
            iload 9 /* txXCoord */
            isub
            imul
            iadd
            iastore
        end local 11 // int lastXCoord
        end local 10 // int nextTileXCoord
        end local 9 // int txXCoord
        22: .line 666
      StackMap locals:
      StackMap stack:
            return
        end local 8 // int tx1
        end local 7 // int tx
        end local 6 // int _TILE_SIZE_LG
        end local 5 // int[] _touchedTile
        end local 4 // int runLen
        end local 3 // int x1
        end local 2 // int val
        end local 1 // int x0
        end local 0 // sun.java2d.marlin.MarlinCache this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   23     0            this  Lsun/java2d/marlin/MarlinCache;
            0   23     1              x0  I
            0   23     2             val  I
            0   23     3              x1  I
            0   23     4          runLen  I
            0   23     5    _touchedTile  [I
            1   23     6   _TILE_SIZE_LG  I
            2   23     7              tx  I
            6   23     8             tx1  I
            8    9     9  nextTileXCoord  I
           11   15     9         tileVal  I
           17   22     9        txXCoord  I
           18   22    10  nextTileXCoord  I
           21   22    11      lastXCoord  I
    MethodParameters:
              Name  Flags
      x0            final
      val           final
      x1            final
      runLen        final
      _touchedTile  final

  int alphaSumInTile(int);
    descriptor: (I)I
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.java2d.marlin.MarlinCache this
        start local 1 // int x
         0: .line 669
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.touchedTile:[I
            iload 1 /* x */
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.bboxX0:I
            isub
            getstatic sun.java2d.marlin.MarlinCache.TILE_SIZE_LG:I
            ishr
            iaload
            ireturn
        end local 1 // int x
        end local 0 // sun.java2d.marlin.MarlinCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/java2d/marlin/MarlinCache;
            0    1     1     x  I
    MethodParameters:
      Name  Flags
      x     final

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.java2d.marlin.MarlinCache this
         0: .line 674
            new java.lang.StringBuilder
            dup
            ldc "bbox = ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         1: .line 675
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.bboxX0:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.bboxY0:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " => "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 676
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.bboxX1:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.bboxY1:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "]\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 674
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // sun.java2d.marlin.MarlinCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/java2d/marlin/MarlinCache;

  private static byte[] buildAlphaMap(int);
    descriptor: (I)[B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // int maxalpha
         0: .line 681
            iload 0 /* maxalpha */
            iconst_1
            ishl
            newarray 8
            astore 1 /* alMap */
        start local 1 // byte[] alMap
         1: .line 682
            iload 0 /* maxalpha */
            iconst_2
            ishr
            istore 2 /* halfmaxalpha */
        start local 2 // int halfmaxalpha
         2: .line 683
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 6
         4: .line 684
      StackMap locals: byte[] int int
      StackMap stack:
            aload 1 /* alMap */
            iload 3 /* i */
            iload 3 /* i */
            sipush 255
            imul
            iload 2 /* halfmaxalpha */
            iadd
            iload 0 /* maxalpha */
            idiv
            i2b
            bastore
         5: .line 683
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            iload 0 /* maxalpha */
            if_icmple 4
        end local 3 // int i
         7: .line 688
            aload 1 /* alMap */
            areturn
        end local 2 // int halfmaxalpha
        end local 1 // byte[] alMap
        end local 0 // int maxalpha
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0      maxalpha  I
            1    8     1         alMap  [B
            2    8     2  halfmaxalpha  I
            3    7     3             i  I
    MethodParameters:
          Name  Flags
      maxalpha  final
}
SourceFile: "MarlinCache.java"
InnerClasses:
  final Reference = sun.java2d.marlin.IntArrayCache$Reference of sun.java2d.marlin.IntArrayCache