public abstract class sun.java2d.pipe.BufferedMaskBlit extends sun.java2d.loops.MaskBlit
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: sun.java2d.pipe.BufferedMaskBlit
  super_class: sun.java2d.loops.MaskBlit
{
  private static final int ST_INT_ARGB;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

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

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

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

  private final sun.java2d.pipe.RenderQueue rq;
    descriptor: Lsun/java2d/pipe/RenderQueue;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int srcTypeVal;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private sun.java2d.loops.Blit blitop;
    descriptor: Lsun/java2d/loops/Blit;
    flags: (0x0002) ACC_PRIVATE

  protected void <init>(sun.java2d.pipe.RenderQueue, sun.java2d.loops.SurfaceType, sun.java2d.loops.CompositeType, sun.java2d.loops.SurfaceType);
    descriptor: (Lsun/java2d/pipe/RenderQueue;Lsun/java2d/loops/SurfaceType;Lsun/java2d/loops/CompositeType;Lsun/java2d/loops/SurfaceType;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // sun.java2d.pipe.BufferedMaskBlit this
        start local 1 // sun.java2d.pipe.RenderQueue rq
        start local 2 // sun.java2d.loops.SurfaceType srcType
        start local 3 // sun.java2d.loops.CompositeType compType
        start local 4 // sun.java2d.loops.SurfaceType dstType
         0: .line 75
            aload 0 /* this */
            aload 2 /* srcType */
            aload 3 /* compType */
            aload 4 /* dstType */
            invokespecial sun.java2d.loops.MaskBlit.<init>:(Lsun/java2d/loops/SurfaceType;Lsun/java2d/loops/CompositeType;Lsun/java2d/loops/SurfaceType;)V
         1: .line 76
            aload 0 /* this */
            aload 1 /* rq */
            putfield sun.java2d.pipe.BufferedMaskBlit.rq:Lsun/java2d/pipe/RenderQueue;
         2: .line 77
            aload 2 /* srcType */
            getstatic sun.java2d.loops.SurfaceType.IntArgb:Lsun/java2d/loops/SurfaceType;
            if_acmpne 5
         3: .line 78
            aload 0 /* this */
            iconst_0
            putfield sun.java2d.pipe.BufferedMaskBlit.srcTypeVal:I
         4: .line 79
            goto 15
      StackMap locals: sun.java2d.pipe.BufferedMaskBlit sun.java2d.pipe.RenderQueue sun.java2d.loops.SurfaceType sun.java2d.loops.CompositeType sun.java2d.loops.SurfaceType
      StackMap stack:
         5: aload 2 /* srcType */
            getstatic sun.java2d.loops.SurfaceType.IntArgbPre:Lsun/java2d/loops/SurfaceType;
            if_acmpne 8
         6: .line 80
            aload 0 /* this */
            iconst_1
            putfield sun.java2d.pipe.BufferedMaskBlit.srcTypeVal:I
         7: .line 81
            goto 15
      StackMap locals:
      StackMap stack:
         8: aload 2 /* srcType */
            getstatic sun.java2d.loops.SurfaceType.IntRgb:Lsun/java2d/loops/SurfaceType;
            if_acmpne 11
         9: .line 82
            aload 0 /* this */
            iconst_2
            putfield sun.java2d.pipe.BufferedMaskBlit.srcTypeVal:I
        10: .line 83
            goto 15
      StackMap locals:
      StackMap stack:
        11: aload 2 /* srcType */
            getstatic sun.java2d.loops.SurfaceType.IntBgr:Lsun/java2d/loops/SurfaceType;
            if_acmpne 14
        12: .line 84
            aload 0 /* this */
            iconst_3
            putfield sun.java2d.pipe.BufferedMaskBlit.srcTypeVal:I
        13: .line 85
            goto 15
        14: .line 86
      StackMap locals:
      StackMap stack:
            new java.lang.InternalError
            dup
            ldc "unrecognized source surface type"
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
        15: .line 88
      StackMap locals:
      StackMap stack:
            return
        end local 4 // sun.java2d.loops.SurfaceType dstType
        end local 3 // sun.java2d.loops.CompositeType compType
        end local 2 // sun.java2d.loops.SurfaceType srcType
        end local 1 // sun.java2d.pipe.RenderQueue rq
        end local 0 // sun.java2d.pipe.BufferedMaskBlit this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   16     0      this  Lsun/java2d/pipe/BufferedMaskBlit;
            0   16     1        rq  Lsun/java2d/pipe/RenderQueue;
            0   16     2   srcType  Lsun/java2d/loops/SurfaceType;
            0   16     3  compType  Lsun/java2d/loops/CompositeType;
            0   16     4   dstType  Lsun/java2d/loops/SurfaceType;
    MethodParameters:
          Name  Flags
      rq        
      srcType   
      compType  
      dstType   

  public void MaskBlit(sun.java2d.SurfaceData, sun.java2d.SurfaceData, java.awt.Composite, sun.java2d.pipe.Region, int, int, int, int, int, int, byte[], int, int);
    descriptor: (Lsun/java2d/SurfaceData;Lsun/java2d/SurfaceData;Ljava/awt/Composite;Lsun/java2d/pipe/Region;IIIIII[BII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=18, locals=19, args_size=14
        start local 0 // sun.java2d.pipe.BufferedMaskBlit this
        start local 1 // sun.java2d.SurfaceData src
        start local 2 // sun.java2d.SurfaceData dst
        start local 3 // java.awt.Composite comp
        start local 4 // sun.java2d.pipe.Region clip
        start local 5 // int srcx
        start local 6 // int srcy
        start local 7 // int dstx
        start local 8 // int dsty
        start local 9 // int width
        start local 10 // int height
        start local 11 // byte[] mask
        start local 12 // int maskoff
        start local 13 // int maskscan
         0: .line 98
            iload 9 /* width */
            ifle 1
            iload 10 /* height */
            ifgt 2
         1: .line 99
      StackMap locals:
      StackMap stack:
            return
         2: .line 102
      StackMap locals:
      StackMap stack:
            aload 11 /* mask */
            ifnonnull 14
         3: .line 104
            aload 0 /* this */
            getfield sun.java2d.pipe.BufferedMaskBlit.blitop:Lsun/java2d/loops/Blit;
            ifnonnull 8
         4: .line 105
            aload 0 /* this */
            aload 1 /* src */
            invokevirtual sun.java2d.SurfaceData.getSurfaceType:()Lsun/java2d/loops/SurfaceType;
         5: .line 106
            getstatic sun.java2d.loops.CompositeType.AnyAlpha:Lsun/java2d/loops/CompositeType;
         6: .line 107
            aload 0 /* this */
            invokevirtual sun.java2d.pipe.BufferedMaskBlit.getDestType:()Lsun/java2d/loops/SurfaceType;
         7: .line 105
            invokestatic sun.java2d.loops.Blit.getFromCache:(Lsun/java2d/loops/SurfaceType;Lsun/java2d/loops/CompositeType;Lsun/java2d/loops/SurfaceType;)Lsun/java2d/loops/Blit;
            putfield sun.java2d.pipe.BufferedMaskBlit.blitop:Lsun/java2d/loops/Blit;
         8: .line 109
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.java2d.pipe.BufferedMaskBlit.blitop:Lsun/java2d/loops/Blit;
            aload 1 /* src */
            aload 2 /* dst */
         9: .line 110
            aload 3 /* comp */
            aload 4 /* clip */
        10: .line 111
            iload 5 /* srcx */
            iload 6 /* srcy */
            iload 7 /* dstx */
            iload 8 /* dsty */
        11: .line 112
            iload 9 /* width */
            iload 10 /* height */
        12: .line 109
            invokevirtual sun.java2d.loops.Blit.Blit:(Lsun/java2d/SurfaceData;Lsun/java2d/SurfaceData;Ljava/awt/Composite;Lsun/java2d/pipe/Region;IIIIII)V
        13: .line 113
            return
        14: .line 116
      StackMap locals:
      StackMap stack:
            aload 3 /* comp */
            checkcast java.awt.AlphaComposite
            astore 14 /* acomp */
        start local 14 // java.awt.AlphaComposite acomp
        15: .line 117
            aload 14 /* acomp */
            invokevirtual java.awt.AlphaComposite.getRule:()I
            iconst_3
            if_icmpeq 17
        16: .line 118
            getstatic java.awt.AlphaComposite.SrcOver:Ljava/awt/AlphaComposite;
            astore 3 /* comp */
        17: .line 121
      StackMap locals: java.awt.AlphaComposite
      StackMap stack:
            aload 0 /* this */
            getfield sun.java2d.pipe.BufferedMaskBlit.rq:Lsun/java2d/pipe/RenderQueue;
            invokevirtual sun.java2d.pipe.RenderQueue.lock:()V
        18: .line 123
            aload 0 /* this */
            aload 2 /* dst */
            aload 3 /* comp */
            aload 4 /* clip */
            invokevirtual sun.java2d.pipe.BufferedMaskBlit.validateContext:(Lsun/java2d/SurfaceData;Ljava/awt/Composite;Lsun/java2d/pipe/Region;)V
        19: .line 125
            aload 0 /* this */
            getfield sun.java2d.pipe.BufferedMaskBlit.rq:Lsun/java2d/pipe/RenderQueue;
            invokevirtual sun.java2d.pipe.RenderQueue.getBuffer:()Lsun/java2d/pipe/RenderBuffer;
            astore 15 /* buf */
        start local 15 // sun.java2d.pipe.RenderBuffer buf
        20: .line 126
            bipush 20
            iload 9 /* width */
            iload 10 /* height */
            imul
            iconst_4
            imul
            iadd
            istore 16 /* totalBytesRequired */
        start local 16 // int totalBytesRequired
        21: .line 134
            aload 0 /* this */
            getfield sun.java2d.pipe.BufferedMaskBlit.rq:Lsun/java2d/pipe/RenderQueue;
            iload 16 /* totalBytesRequired */
            invokevirtual sun.java2d.pipe.RenderQueue.ensureCapacity:(I)V
        22: .line 137
            aload 0 /* this */
            aload 15 /* buf */
            invokevirtual sun.java2d.pipe.RenderBuffer.getAddress:()J
            aload 15 /* buf */
            invokevirtual sun.java2d.pipe.RenderBuffer.position:()I
        23: .line 138
            aload 1 /* src */
            aload 1 /* src */
            invokevirtual sun.java2d.SurfaceData.getNativeOps:()J
            aload 0 /* this */
            getfield sun.java2d.pipe.BufferedMaskBlit.srcTypeVal:I
        24: .line 139
            aload 11 /* mask */
            aload 11 /* mask */
            arraylength
            iload 12 /* maskoff */
            iload 13 /* maskscan */
        25: .line 140
            iload 5 /* srcx */
            iload 6 /* srcy */
            iload 7 /* dstx */
            iload 8 /* dsty */
        26: .line 141
            iload 9 /* width */
            iload 10 /* height */
        27: .line 137
            invokevirtual sun.java2d.pipe.BufferedMaskBlit.enqueueTile:(JILsun/java2d/SurfaceData;JI[BIIIIIIIII)I
            istore 17 /* newpos */
        start local 17 // int newpos
        28: .line 143
            aload 15 /* buf */
            iload 17 /* newpos */
            i2l
            invokevirtual sun.java2d.pipe.RenderBuffer.position:(J)V
        end local 17 // int newpos
        end local 16 // int totalBytesRequired
        end local 15 // sun.java2d.pipe.RenderBuffer buf
        29: .line 144
            goto 33
      StackMap locals:
      StackMap stack: java.lang.Throwable
        30: astore 18
        31: .line 145
            aload 0 /* this */
            getfield sun.java2d.pipe.BufferedMaskBlit.rq:Lsun/java2d/pipe/RenderQueue;
            invokevirtual sun.java2d.pipe.RenderQueue.unlock:()V
        32: .line 146
            aload 18
            athrow
        33: .line 145
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.java2d.pipe.BufferedMaskBlit.rq:Lsun/java2d/pipe/RenderQueue;
            invokevirtual sun.java2d.pipe.RenderQueue.unlock:()V
        34: .line 147
            return
        end local 14 // java.awt.AlphaComposite acomp
        end local 13 // int maskscan
        end local 12 // int maskoff
        end local 11 // byte[] mask
        end local 10 // int height
        end local 9 // int width
        end local 8 // int dsty
        end local 7 // int dstx
        end local 6 // int srcy
        end local 5 // int srcx
        end local 4 // sun.java2d.pipe.Region clip
        end local 3 // java.awt.Composite comp
        end local 2 // sun.java2d.SurfaceData dst
        end local 1 // sun.java2d.SurfaceData src
        end local 0 // sun.java2d.pipe.BufferedMaskBlit this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   35     0                this  Lsun/java2d/pipe/BufferedMaskBlit;
            0   35     1                 src  Lsun/java2d/SurfaceData;
            0   35     2                 dst  Lsun/java2d/SurfaceData;
            0   35     3                comp  Ljava/awt/Composite;
            0   35     4                clip  Lsun/java2d/pipe/Region;
            0   35     5                srcx  I
            0   35     6                srcy  I
            0   35     7                dstx  I
            0   35     8                dsty  I
            0   35     9               width  I
            0   35    10              height  I
            0   35    11                mask  [B
            0   35    12             maskoff  I
            0   35    13            maskscan  I
           15   35    14               acomp  Ljava/awt/AlphaComposite;
           20   29    15                 buf  Lsun/java2d/pipe/RenderBuffer;
           21   29    16  totalBytesRequired  I
           28   29    17              newpos  I
      Exception table:
        from    to  target  type
          18    30      30  any
    MethodParameters:
          Name  Flags
      src       
      dst       
      comp      
      clip      
      srcx      
      srcy      
      dstx      
      dsty      
      width     
      height    
      mask      
      maskoff   
      maskscan  

  private native int enqueueTile(long, int, sun.java2d.SurfaceData, long, int, byte[], int, int, int, int, int, int, int, int, int);
    descriptor: (JILsun/java2d/SurfaceData;JI[BIIIIIIIII)I
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    MethodParameters:
          Name  Flags
      buf       
      bpos      
      srcData   
      pSrcOps   
      srcType   
      mask      
      masklen   
      maskoff   
      maskscan  
      srcx      
      srcy      
      dstx      
      dsty      
      width     
      height    

  protected abstract void validateContext(sun.java2d.SurfaceData, java.awt.Composite, sun.java2d.pipe.Region);
    descriptor: (Lsun/java2d/SurfaceData;Ljava/awt/Composite;Lsun/java2d/pipe/Region;)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
         Name  Flags
      dstData  
      comp     
      clip     
}
SourceFile: "BufferedMaskBlit.java"