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

  final int[] touchedTile_initial;
    descriptor: [I
    flags: (0x0010) 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:Lsun/misc/Unsafe;
            astore 1 /* _unsafe */
        start local 1 // sun.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[] sun.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 sun.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 // sun.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  Lsun/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=6, 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 104
            aload 0 /* this */
            sipush 256
            newarray 10
            putfield sun.java2d.marlin.MarlinCache.touchedTile_initial:[I
         8: .line 108
            aload 0 /* this */
            iconst_0
            putfield sun.java2d.marlin.MarlinCache.useRLE:Z
         9: .line 111
            aload 0 /* this */
            aload 1 /* rdrCtx */
            putfield sun.java2d.marlin.MarlinCache.rdrCtx:Lsun/java2d/marlin/RendererContext;
        10: .line 113
            aload 0 /* this */
            new sun.java2d.marlin.OffHeapArray
            dup
            aload 1 /* rdrCtx */
            getstatic sun.java2d.marlin.MarlinCache.INITIAL_CHUNK_ARRAY:J
            invokespecial sun.java2d.marlin.OffHeapArray.<init>:(Ljava/lang/Object;J)V
            putfield sun.java2d.marlin.MarlinCache.rowAAChunk:Lsun/java2d/marlin/OffHeapArray;
        11: .line 115
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.touchedTile_initial:[I
            putfield sun.java2d.marlin.MarlinCache.touchedTile:[I
        12: .line 118
            aload 0 /* this */
            ldc 2147483647
            putfield sun.java2d.marlin.MarlinCache.tileMin:I
        13: .line 119
            aload 0 /* this */
            ldc -2147483648
            putfield sun.java2d.marlin.MarlinCache.tileMax:I
        14: .line 120
            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 125
            aload 0 /* this */
            iload 1 /* minx */
            putfield sun.java2d.marlin.MarlinCache.bboxX0:I
         1: .line 126
            aload 0 /* this */
            iload 2 /* miny */
            putfield sun.java2d.marlin.MarlinCache.bboxY0:I
         2: .line 127
            aload 0 /* this */
            iload 3 /* maxx */
            putfield sun.java2d.marlin.MarlinCache.bboxX1:I
         3: .line 128
            aload 0 /* this */
            iload 4 /* maxy */
            putfield sun.java2d.marlin.MarlinCache.bboxY1:I
         4: .line 130
            iload 3 /* maxx */
            iload 1 /* minx */
            isub
            istore 6 /* width */
        start local 6 // int width
         5: .line 132
            getstatic sun.java2d.marlin.MarlinCache.FORCE_NO_RLE:Z
            ifeq 8
         6: .line 133
            aload 0 /* this */
            iconst_0
            putfield sun.java2d.marlin.MarlinCache.useRLE:Z
         7: .line 134
            goto 35
      StackMap locals: int
      StackMap stack:
         8: getstatic sun.java2d.marlin.MarlinCache.FORCE_RLE:Z
            ifeq 11
         9: .line 135
            aload 0 /* this */
            iconst_1
            putfield sun.java2d.marlin.MarlinCache.useRLE:Z
        10: .line 136
            goto 35
        11: .line 141
      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 142
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield sun.java2d.marlin.MarlinCache.useRLE:Z
        13: .line 143
            goto 35
        14: .line 148
      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 147
            istore 7 /* heightSubPixel */
        start local 7 // int heightSubPixel
        16: .line 154
            aload 0 /* this */
            iload 5 /* edgeSumDeltaY */
            iload 7 /* heightSubPixel */
            iconst_1
            ishl
            if_icmple 19
        17: .line 157
            iload 6 /* width */
            iload 7 /* heightSubPixel */
            imul
        18: .line 158
            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 154
      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 160
            getstatic sun.java2d.marlin.MarlinCache.doTrace:Z
            ifeq 35
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.useRLE:Z
            ifne 35
        22: .line 162
            iload 5 /* edgeSumDeltaY */
            i2f
            iload 7 /* heightSubPixel */
            i2f
            fdiv
        23: .line 161
            fstore 8 /* meanCrossings */
        start local 8 // float meanCrossings
        24: .line 163
            iload 6 /* width */
            i2f
            fload 8 /* meanCrossings */
            fconst_1
            fsub
            fdiv
            fstore 9 /* meanDist */
        start local 9 // float meanDist
        25: .line 165
            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 166
            iload 6 /* width */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        27: .line 167
            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 168
            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 169
            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 170
            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 171
            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 172
            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 173
            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 165
            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 180
      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 182
            iload 7 /* nxTiles */
            sipush 256
            if_icmple 41
        37: .line 183
            getstatic sun.java2d.marlin.MarlinCache.doStats:Z
            ifeq 40
        38: .line 184
            getstatic sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
            getfield sun.java2d.marlin.RendererStats.stat_array_marlincache_touchedTile:Lsun/java2d/marlin/stats/StatLong;
        39: .line 185
            iload 7 /* nxTiles */
            invokevirtual sun.java2d.marlin.stats.StatLong.add:(I)V
        40: .line 187
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.rdrCtx:Lsun/java2d/marlin/RendererContext;
            iload 7 /* nxTiles */
            invokevirtual sun.java2d.marlin.RendererContext.getIntArray:(I)[I
            putfield sun.java2d.marlin.MarlinCache.touchedTile:[I
        41: .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   42     0            this  Lsun/java2d/marlin/MarlinCache;
            0   42     1            minx  I
            0   42     2            miny  I
            0   42     3            maxx  I
            0   42     4            maxy  I
            0   42     5   edgeSumDeltaY  I
            5   42     6           width  I
           16   35     7  heightSubPixel  I
           24   35     8   meanCrossings  F
           25   35     9        meanDist  F
           36   42     7         nxTiles  I
    MethodParameters:
               Name  Flags
      minx           
      miny           
      maxx           
      maxy           
      edgeSumDeltaY  

  void dispose();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=4, 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 200
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.touchedTile:[I
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.touchedTile_initial:[I
            if_acmpeq 4
         2: .line 201
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.rdrCtx:Lsun/java2d/marlin/RendererContext;
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.touchedTile:[I
            iconst_0
            iconst_0
            invokevirtual sun.java2d.marlin.RendererContext.putIntArray:([III)V
         3: .line 202
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.touchedTile_initial:[I
            putfield sun.java2d.marlin.MarlinCache.touchedTile:[I
         4: .line 205
      StackMap locals:
      StackMap stack:
            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 207
            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 213
      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 217
            aload 0 /* this */
            iload 1 /* pminY */
            putfield sun.java2d.marlin.MarlinCache.bboxY0:I
         1: .line 220
            getstatic sun.java2d.marlin.MarlinCache.doStats:Z
            ifeq 3
         2: .line 221
            getstatic 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 223
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lconst_0
            putfield sun.java2d.marlin.MarlinCache.rowAAChunkPos:J
         4: .line 226
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.tileMin:I
            ldc 2147483647
            if_icmpeq 13
         5: .line 227
            getstatic sun.java2d.marlin.MarlinCache.doStats:Z
            ifeq 7
         6: .line 228
            getstatic 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 231
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.tileMax:I
            iconst_1
            if_icmpne 10
         8: .line 232
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.touchedTile:[I
            iconst_0
            iconst_0
            iastore
         9: .line 233
            goto 11
        10: .line 234
      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 237
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc 2147483647
            putfield sun.java2d.marlin.MarlinCache.tileMin:I
        12: .line 238
            aload 0 /* this */
            ldc -2147483648
            putfield sun.java2d.marlin.MarlinCache.tileMax:I
        13: .line 245
      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 249
            iload 1 /* y */
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.bboxY0:I
            isub
            istore 2 /* row */
        start local 2 // int row
         1: .line 252
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.rowAAx0:[I
            iload 2 /* row */
            iconst_0
            iastore
         2: .line 253
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.rowAAx1:[I
            iload 2 /* row */
            iconst_0
            iastore
         3: .line 254
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.rowAAEnc:[I
            iload 2 /* row */
            iconst_0
            iastore
         4: .line 258
            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 275
            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 277
            getstatic sun.java2d.marlin.MarlinCache.doLogBounds:Z
            ifeq 5
         2: .line 278
            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 279
            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 278
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic sun.java2d.marlin.MarlinUtils.logInfo:(Ljava/lang/String;)V
         5: .line 282
      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 285
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.rowAAx0:[I
            iload 6 /* row */
            iload 3 /* px0 */
            iastore
         7: .line 286
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.rowAAx1:[I
            iload 6 /* row */
            iload 5 /* px_bbox1 */
            iastore
         8: .line 287
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.rowAAEnc:[I
            iload 6 /* row */
            iconst_0
            iastore
         9: .line 290
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.rowAAChunkPos:J
            lstore 7 /* pos */
        start local 7 // long pos
        10: .line 292
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.rowAAChunkIndex:[J
            iload 6 /* row */
            lload 7 /* pos */
            lastore
        11: .line 297
            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 300
            aload 0 /* this */
            lload 9 /* needSize */
            putfield sun.java2d.marlin.MarlinCache.rowAAChunkPos:J
        13: .line 303
            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 305
            aload 11 /* _rowAAChunk */
            getfield sun.java2d.marlin.OffHeapArray.length:J
            lload 9 /* needSize */
            lcmp
            ifge 16
        15: .line 306
            aload 0 /* this */
            lload 9 /* needSize */
            invokevirtual sun.java2d.marlin.MarlinCache.expandRowAAChunk:(J)V
        16: .line 308
      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.doStats:Z
            ifeq 18
        17: .line 309
            getstatic 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 313
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.touchedTile:[I
            astore 12 /* _touchedTile */
        start local 12 // int[] _touchedTile
        19: .line 314
            getstatic sun.java2d.marlin.MarlinCache.TILE_SIZE_LG:I
            istore 13 /* _TILE_SIZE_LG */
        start local 13 // int _TILE_SIZE_LG
        20: .line 316
            iload 3 /* px0 */
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.bboxX0:I
            isub
            istore 14 /* from */
        start local 14 // int from
        21: .line 317
            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 319
            getstatic sun.java2d.marlin.OffHeapArray.unsafe:Lsun/misc/Unsafe;
            astore 16 /* _unsafe */
        start local 16 // sun.misc.Unsafe _unsafe
        23: .line 321
            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 322
            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 325
            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 327
      StackMap locals: sun.java2d.marlin.MarlinCache int[] int int int int int long long sun.java2d.marlin.OffHeapArray int[] int int int sun.misc.Unsafe long long int int
      StackMap stack:
            iload 22 /* val */
            aload 1 /* alphaRow */
            iload 21 /* x */
            iaload
            iadd
            istore 22 /* val */
        29: .line 342
            iload 22 /* val */
            ifne 32
        30: .line 343
            aload 16 /* _unsafe */
            lload 19 /* addr_off */
            iconst_0
            invokevirtual sun.misc.Unsafe.putByte:(JB)V
        31: .line 344
            goto 34
        32: .line 345
      StackMap locals:
      StackMap stack:
            aload 16 /* _unsafe */
            lload 19 /* addr_off */
            aload 16 /* _unsafe */
            lload 17 /* addr_alpha */
            iload 22 /* val */
            i2l
            ladd
            invokevirtual sun.misc.Unsafe.getByte:(J)B
            invokevirtual sun.misc.Unsafe.putByte:(JB)V
        33: .line 348
            aload 12 /* _touchedTile */
            iload 21 /* x */
            iload 13 /* _TILE_SIZE_LG */
            ishr
            dup2
            iaload
            iload 22 /* val */
            iadd
            iastore
        34: .line 350
      StackMap locals:
      StackMap stack:
            lload 19 /* addr_off */
            lconst_1
            ladd
            lstore 19 /* addr_off */
        35: .line 325
            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 354
            iload 14 /* from */
            iload 13 /* _TILE_SIZE_LG */
            ishr
            istore 21 /* tx */
        start local 21 // int tx
        38: .line 355
            iload 21 /* tx */
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.tileMin:I
            if_icmpge 40
        39: .line 356
            aload 0 /* this */
            iload 21 /* tx */
            putfield sun.java2d.marlin.MarlinCache.tileMin:I
        40: .line 359
      StackMap locals:
      StackMap stack:
            iload 15 /* to */
            iconst_1
            isub
            iload 13 /* _TILE_SIZE_LG */
            ishr
            iconst_1
            iadd
            istore 21 /* tx */
        41: .line 360
            iload 21 /* tx */
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.tileMax:I
            if_icmple 43
        42: .line 361
            aload 0 /* this */
            iload 21 /* tx */
            putfield sun.java2d.marlin.MarlinCache.tileMax:I
        43: .line 364
      StackMap locals:
      StackMap stack:
            getstatic sun.java2d.marlin.MarlinCache.doLogBounds:Z
            ifeq 45
        44: .line 365
            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 369
      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 374
            return
        end local 21 // int tx
        end local 19 // long addr_off
        end local 17 // long addr_alpha
        end local 16 // sun.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  Lsun/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 384
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.bboxX0:I
            istore 6 /* _bboxX0 */
        start local 6 // int _bboxX0
         1: .line 387
            iload 3 /* y */
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.bboxY0:I
            isub
            istore 7 /* row */
        start local 7 // int row
         2: .line 388
            iload 4 /* px0 */
            iload 6 /* _bboxX0 */
            isub
            istore 8 /* from */
        start local 8 // int from
         3: .line 391
            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 392
            iload 9 /* px_bbox1 */
            iload 6 /* _bboxX0 */
            isub
            istore 10 /* to */
        start local 10 // int to
         5: .line 394
            getstatic sun.java2d.marlin.MarlinCache.doLogBounds:Z
            ifeq 9
         6: .line 395
            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 396
            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 395
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic sun.java2d.marlin.MarlinUtils.logInfo:(Ljava/lang/String;)V
         9: .line 400
      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 404
            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 407
            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 409
            aload 15 /* _rowAAChunk */
            getfield sun.java2d.marlin.OffHeapArray.length:J
            lload 13 /* needSize */
            lcmp
            ifge 14
        13: .line 410
            aload 0 /* this */
            lload 13 /* needSize */
            invokevirtual sun.java2d.marlin.MarlinCache.expandRowAAChunk:(J)V
        14: .line 413
      StackMap locals: long long sun.java2d.marlin.OffHeapArray
      StackMap stack:
            getstatic sun.java2d.marlin.OffHeapArray.unsafe:Lsun/misc/Unsafe;
            astore 16 /* _unsafe */
        start local 16 // sun.misc.Unsafe _unsafe
        15: .line 415
            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 416
            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 418
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.touchedTile:[I
            astore 21 /* _touchedTile */
        start local 21 // int[] _touchedTile
        18: .line 419
            getstatic sun.java2d.marlin.MarlinCache.TILE_SIZE_LG:I
            istore 22 /* _TILE_SIZE_LG */
        start local 22 // int _TILE_SIZE_LG
        19: .line 420
            getstatic sun.java2d.marlin.MarlinCache.BLOCK_SIZE_LG:I
            istore 23 /* _BLK_SIZE_LG */
        start local 23 // int _BLK_SIZE_LG
        20: .line 423
            iload 8 /* from */
            iload 23 /* _BLK_SIZE_LG */
            ishr
            istore 24 /* blkW */
        start local 24 // int blkW
        21: .line 424
            iload 10 /* to */
            iload 23 /* _BLK_SIZE_LG */
            ishr
            iconst_1
            iadd
            istore 25 /* blkE */
        start local 25 // int blkE
        22: .line 427
            iconst_0
            istore 26 /* val */
        start local 26 // int val
        23: .line 428
            iload 8 /* from */
            istore 27 /* cx0 */
        start local 27 // int cx0
        24: .line 432
            ldc 2147483647
            istore 29 /* last_t0 */
        start local 29 // int last_t0
        25: .line 434
            iconst_0
            istore 30 /* skip */
        start local 30 // int skip
        26: .line 436
            iload 24 /* blkW */
            istore 31 /* t */
        start local 31 // int t
        27: goto 70
        28: .line 437
      StackMap locals: sun.java2d.marlin.MarlinCache int[] int[] int int int int int int int int long long sun.java2d.marlin.OffHeapArray sun.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 438
            aload 1 /* blkFlags */
            iload 31 /* t */
            iconst_0
            iastore
        30: .line 440
            iload 29 /* last_t0 */
            ldc 2147483647
            if_icmpne 69
        31: .line 441
            iload 31 /* t */
            istore 29 /* last_t0 */
        32: .line 443
            goto 69
        33: .line 445
      StackMap locals:
      StackMap stack:
            iload 29 /* last_t0 */
            ldc 2147483647
            if_icmpeq 67
        34: .line 447
            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 448
            ldc 2147483647
            istore 29 /* last_t0 */
        36: .line 451
            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 453
            iload 32 /* blk_x0 */
            istore 34 /* cx */
        start local 34 // int cx
        38: goto 65
        39: .line 454
      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 455
            aload 2 /* alphaRow */
            iload 34 /* cx */
            iconst_0
            iastore
        42: .line 458
            iload 34 /* cx */
            iload 27 /* cx0 */
            if_icmpeq 63
        43: .line 459
            iload 34 /* cx */
            iload 27 /* cx0 */
            isub
            istore 28 /* runLen */
        start local 28 // int runLen
        44: .line 475
            iload 26 /* val */
            ifne 49
        45: .line 476
            aload 16 /* _unsafe */
            lload 19 /* addr_off */
        46: .line 477
            iload 6 /* _bboxX0 */
            iload 34 /* cx */
            iadd
            bipush 8
            ishl
        47: .line 476
            invokevirtual sun.misc.Unsafe.putInt:(JI)V
        48: .line 479
            goto 58
        49: .line 480
      StackMap locals: sun.java2d.marlin.MarlinCache int[] int[] int int int int int int int int long long sun.java2d.marlin.OffHeapArray sun.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 481
            iload 6 /* _bboxX0 */
            iload 34 /* cx */
            iadd
            bipush 8
            ishl
        51: .line 482
            aload 16 /* _unsafe */
            lload 17 /* addr_alpha */
            iload 26 /* val */
            i2l
            ladd
            invokevirtual sun.misc.Unsafe.getByte:(J)B
            sipush 255
            iand
        52: .line 481
            ior
        53: .line 480
            invokevirtual sun.misc.Unsafe.putInt:(JI)V
        54: .line 485
            iload 28 /* runLen */
            iconst_1
            if_icmpne 57
        55: .line 486
            aload 21 /* _touchedTile */
            iload 27 /* cx0 */
            iload 22 /* _TILE_SIZE_LG */
            ishr
            dup2
            iaload
            iload 26 /* val */
            iadd
            iastore
        56: .line 487
            goto 58
        57: .line 488
      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 491
      StackMap locals:
      StackMap stack:
            lload 19 /* addr_off */
            ldc 4
            ladd
            lstore 19 /* addr_off */
        59: .line 493
            getstatic sun.java2d.marlin.MarlinCache.doStats:Z
            ifeq 62
        60: .line 494
            getstatic 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 495
            iload 28 /* runLen */
            invokevirtual sun.java2d.marlin.stats.Histogram.add:(I)V
        62: .line 497
      StackMap locals:
      StackMap stack:
            iload 34 /* cx */
            istore 27 /* cx0 */
        end local 28 // int runLen
        63: .line 501
      StackMap locals: sun.java2d.marlin.MarlinCache int[] int[] int int int int int int int int long long sun.java2d.marlin.OffHeapArray sun.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 453
      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 516
            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.doStats:Z
            ifeq 69
        68: .line 517
            iinc 30 /* skip */ 1
        69: .line 436
      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 522
            iload 10 /* to */
            iload 27 /* cx0 */
            isub
            istore 28 /* runLen */
        start local 28 // int runLen
        72: .line 538
            iload 26 /* val */
            ifne 77
        73: .line 539
            aload 16 /* _unsafe */
            lload 19 /* addr_off */
        74: .line 540
            iload 6 /* _bboxX0 */
            iload 10 /* to */
            iadd
            bipush 8
            ishl
        75: .line 539
            invokevirtual sun.misc.Unsafe.putInt:(JI)V
        76: .line 542
            goto 86
        77: .line 543
      StackMap locals: sun.java2d.marlin.MarlinCache int[] int[] int int int int int int int int long long sun.java2d.marlin.OffHeapArray sun.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 544
            iload 6 /* _bboxX0 */
            iload 10 /* to */
            iadd
            bipush 8
            ishl
        79: .line 545
            aload 16 /* _unsafe */
            lload 17 /* addr_alpha */
            iload 26 /* val */
            i2l
            ladd
            invokevirtual sun.misc.Unsafe.getByte:(J)B
            sipush 255
            iand
        80: .line 544
            ior
        81: .line 543
            invokevirtual sun.misc.Unsafe.putInt:(JI)V
        82: .line 548
            iload 28 /* runLen */
            iconst_1
            if_icmpne 85
        83: .line 549
            aload 21 /* _touchedTile */
            iload 27 /* cx0 */
            iload 22 /* _TILE_SIZE_LG */
            ishr
            dup2
            iaload
            iload 26 /* val */
            iadd
            iastore
        84: .line 550
            goto 86
        85: .line 551
      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 554
      StackMap locals:
      StackMap stack:
            lload 19 /* addr_off */
            ldc 4
            ladd
            lstore 19 /* addr_off */
        87: .line 556
            getstatic sun.java2d.marlin.MarlinCache.doStats:Z
            ifeq 90
        88: .line 557
            getstatic sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
            getfield sun.java2d.marlin.RendererStats.hist_tile_generator_encoding_runLen:Lsun/java2d/marlin/stats/Histogram;
        89: .line 558
            iload 28 /* runLen */
            invokevirtual sun.java2d.marlin.stats.Histogram.add:(I)V
        90: .line 561
      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
        91: .line 564
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.rowAALen:[J
            iload 7 /* row */
            lload 31 /* len */
            lload 11 /* initialPos */
            lsub
            lastore
        92: .line 567
            aload 0 /* this */
            lload 31 /* len */
            putfield sun.java2d.marlin.MarlinCache.rowAAChunkPos:J
        93: .line 569
            getstatic sun.java2d.marlin.MarlinCache.doStats:Z
            ifeq 98
        94: .line 570
            getstatic 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
        95: .line 571
            getstatic sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
            getfield sun.java2d.marlin.RendererStats.hist_tile_generator_encoding_ratio:Lsun/java2d/marlin/stats/Histogram;
        96: .line 572
            bipush 100
            iload 30 /* skip */
            imul
            iload 25 /* blkE */
            iload 24 /* blkW */
            isub
            idiv
        97: .line 571
            invokevirtual sun.java2d.marlin.stats.Histogram.add:(I)V
        98: .line 577
      StackMap locals: long
      StackMap stack:
            iload 8 /* from */
            iload 22 /* _TILE_SIZE_LG */
            ishr
            istore 33 /* tx */
        start local 33 // int tx
        99: .line 578
            iload 33 /* tx */
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.tileMin:I
            if_icmpge 101
       100: .line 579
            aload 0 /* this */
            iload 33 /* tx */
            putfield sun.java2d.marlin.MarlinCache.tileMin:I
       101: .line 582
      StackMap locals: int
      StackMap stack:
            iload 10 /* to */
            iconst_1
            isub
            iload 22 /* _TILE_SIZE_LG */
            ishr
            iconst_1
            iadd
            istore 33 /* tx */
       102: .line 583
            iload 33 /* tx */
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.tileMax:I
            if_icmple 104
       103: .line 584
            aload 0 /* this */
            iload 33 /* tx */
            putfield sun.java2d.marlin.MarlinCache.tileMax:I
       104: .line 588
      StackMap locals:
      StackMap stack:
            iload 5 /* px1 */
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.bboxX1:I
            if_icmple 107
       105: .line 589
            aload 2 /* alphaRow */
            iload 10 /* to */
            iconst_0
            iastore
       106: .line 590
            aload 2 /* alphaRow */
            iload 10 /* to */
            iconst_1
            iadd
            iconst_0
            iastore
       107: .line 592
      StackMap locals:
      StackMap stack:
            getstatic sun.java2d.marlin.MarlinCache.doChecks:Z
            ifeq 110
       108: .line 593
            aload 1 /* blkFlags */
            iload 24 /* blkW */
            iload 25 /* blkE */
            iconst_0
            invokestatic sun.java2d.marlin.IntArrayCache.check:([IIII)V
       109: .line 594
            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
       110: .line 600
      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 // sun.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  111     0           this  Lsun/java2d/marlin/MarlinCache;
            0  111     1       blkFlags  [I
            0  111     2       alphaRow  [I
            0  111     3              y  I
            0  111     4            px0  I
            0  111     5            px1  I
            1  111     6        _bboxX0  I
            2  111     7            row  I
            3  111     8           from  I
            4  111     9       px_bbox1  I
            5  111    10             to  I
           10  111    11     initialPos  J
           11  111    13       needSize  J
           12  111    15    _rowAAChunk  Lsun/java2d/marlin/OffHeapArray;
           15  111    16        _unsafe  Lsun/misc/Unsafe;
           16  111    17     addr_alpha  J
           17  111    19       addr_off  J
           18  111    21   _touchedTile  [I
           19  111    22  _TILE_SIZE_LG  I
           20  111    23   _BLK_SIZE_LG  I
           21  111    24           blkW  I
           22  111    25           blkE  I
           23  111    26            val  I
           24  111    27            cx0  I
           44   63    28         runLen  I
           72  111    28         runLen  I
           25  111    29        last_t0  I
           26  111    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
           91  111    31            len  J
           99  111    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 604
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.rowAAx0:[I
            iload 1 /* row */
            iload 2 /* x0 */
            iastore
         1: .line 605
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.rowAAx1:[I
            iload 1 /* row */
            iload 3 /* x1 */
            iastore
         2: .line 606
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.rowAAEnc:[I
            iload 1 /* row */
            iconst_1
            iastore
         3: .line 607
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.rowAAPos:[J
            iload 1 /* row */
            lconst_0
            lastore
         4: .line 610
            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 614
            getstatic sun.java2d.marlin.MarlinCache.doStats:Z
            ifeq 3
         1: .line 615
            getstatic sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
            getfield sun.java2d.marlin.RendererStats.stat_array_marlincache_rowAAChunk:Lsun/java2d/marlin/stats/StatLong;
         2: .line 616
            lload 1 /* needSize */
            invokevirtual sun.java2d.marlin.stats.StatLong.add:(J)V
         3: .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
            lload 1 /* needSize */
            invokestatic sun.java2d.marlin.ArrayCache.getNewLargeSize:(JJ)J
            lstore 3 /* newSize */
        start local 3 // long newSize
         4: .line 622
            aload 0 /* this */
            getfield sun.java2d.marlin.MarlinCache.rowAAChunk:Lsun/java2d/marlin/OffHeapArray;
            lload 3 /* newSize */
            invokevirtual sun.java2d.marlin.OffHeapArray.resize:(J)V
         5: .line 623
            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    6     0      this  Lsun/java2d/marlin/MarlinCache;
            0    6     1  needSize  J
            4    6     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 631
            getstatic sun.java2d.marlin.MarlinCache.TILE_SIZE_LG:I
            istore 6 /* _TILE_SIZE_LG */
        start local 6 // int _TILE_SIZE_LG
         1: .line 634
            iload 1 /* x0 */
            iload 6 /* _TILE_SIZE_LG */
            ishr
            istore 7 /* tx */
        start local 7 // int tx
         2: .line 637
            iload 7 /* tx */
            iload 3 /* x1 */
            iload 6 /* _TILE_SIZE_LG */
            ishr
            if_icmpne 5
         3: .line 639
            aload 5 /* _touchedTile */
            iload 7 /* tx */
            dup2
            iaload
            iload 2 /* val */
            iload 4 /* runLen */
            imul
            iadd
            iastore
         4: .line 640
            return
         5: .line 643
      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 645
            iload 7 /* tx */
            iload 8 /* tx1 */
            if_icmpgt 9
         7: .line 646
            iload 7 /* tx */
            iconst_1
            iadd
            iload 6 /* _TILE_SIZE_LG */
            ishl
            istore 9 /* nextTileXCoord */
        start local 9 // int nextTileXCoord
         8: .line 647
            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 649
      StackMap locals: int
      StackMap stack:
            iload 7 /* tx */
            iload 8 /* tx1 */
            if_icmpge 15
        10: .line 652
            iload 2 /* val */
            iload 6 /* _TILE_SIZE_LG */
            ishl
            istore 9 /* tileVal */
        start local 9 // int tileVal
        11: .line 653
            goto 14
        12: .line 654
      StackMap locals: int
      StackMap stack:
            aload 5 /* _touchedTile */
            iload 7 /* tx */
            dup2
            iaload
            iload 9 /* tileVal */
            iadd
            iastore
        13: .line 653
            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 658
      StackMap locals:
      StackMap stack:
            iload 7 /* tx */
            iload 8 /* tx1 */
            if_icmpne 22
        16: .line 659
            iload 7 /* tx */
            iload 6 /* _TILE_SIZE_LG */
            ishl
            istore 9 /* txXCoord */
        start local 9 // int txXCoord
        17: .line 660
            iload 7 /* tx */
            iconst_1
            iadd
            iload 6 /* _TILE_SIZE_LG */
            ishl
            istore 10 /* nextTileXCoord */
        start local 10 // int nextTileXCoord
        18: .line 662
            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 663
            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 665
      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 668
            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 673
            new java.lang.StringBuilder
            dup
            ldc "bbox = ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         1: .line 674
            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 675
            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 673
            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 680
            iload 0 /* maxalpha */
            iconst_1
            ishl
            newarray 8
            astore 1 /* alMap */
        start local 1 // byte[] alMap
         1: .line 681
            iload 0 /* maxalpha */
            iconst_2
            ishr
            istore 2 /* halfmaxalpha */
        start local 2 // int halfmaxalpha
         2: .line 682
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 6
         4: .line 683
      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 682
            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 687
            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"