public class sun.java2d.xr.XRBackendNative implements sun.java2d.xr.XRBackend
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.java2d.xr.XRBackendNative
  super_class: java.lang.Object
{
  private static long FMTPTR_A8;
    descriptor: J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static long FMTPTR_ARGB32;
    descriptor: J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static long MASK_XIMG;
    descriptor: J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=0, locals=0, args_size=0
         0: .line 46
            invokestatic sun.java2d.xr.XRBackendNative.initIDs:()V
         1: .line 51
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.java2d.xr.XRBackendNative this
         0: .line 43
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // sun.java2d.xr.XRBackendNative this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/java2d/xr/XRBackendNative;

  private static native void initIDs();
    descriptor: ()V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE

  public native long createGC(int);
    descriptor: (I)J
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
    MethodParameters:
          Name  Flags
      drawable  

  public native void freeGC(long);
    descriptor: (J)V
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
    MethodParameters:
      Name  Flags
      gc    

  public native int createPixmap(int, int, int, int);
    descriptor: (IIII)I
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
    MethodParameters:
          Name  Flags
      drawable  
      depth     
      width     
      height    

  private native int createPictureNative(int, long);
    descriptor: (IJ)I
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    MethodParameters:
          Name  Flags
      drawable  
      formatID  

  public native void freePicture(int);
    descriptor: (I)V
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
    MethodParameters:
         Name  Flags
      picture  

  public native void freePixmap(int);
    descriptor: (I)V
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
    MethodParameters:
        Name  Flags
      pixmap  

  public native void setGCExposures(long, boolean);
    descriptor: (JZ)V
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
    MethodParameters:
          Name  Flags
      gc        
      exposure  

  public native void setGCForeground(long, int);
    descriptor: (JI)V
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
    MethodParameters:
       Name  Flags
      gc     
      pixel  

  public native void setPictureRepeat(int, int);
    descriptor: (II)V
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
    MethodParameters:
         Name  Flags
      picture  
      repeat   

  public native void copyArea(int, int, long, int, int, int, int, int, int);
    descriptor: (IIJIIIIII)V
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
    MethodParameters:
        Name  Flags
      src     
      dst     
      gc      
      srcx    
      srcy    
      width   
      height  
      dstx    
      dsty    

  public native void setGCMode(long, boolean);
    descriptor: (JZ)V
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
    MethodParameters:
      Name  Flags
      gc    
      copy  

  private static native void GCRectanglesNative(int, long, int[], int);
    descriptor: (IJ[II)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
           Name  Flags
      drawable   
      gc         
      rectArray  
      rectCnt    

  public native void renderComposite(byte, int, int, int, int, int, int, int, int, int, int, int);
    descriptor: (BIIIIIIIIIII)V
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
    MethodParameters:
        Name  Flags
      op      
      src     
      mask    
      dst     
      srcX    
      srcY    
      maskX   
      maskY   
      dstX    
      dstY    
      width   
      height  

  private native void renderRectangle(int, byte, short, short, short, short, int, int, int, int);
    descriptor: (IBSSSSIIII)V
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    MethodParameters:
        Name  Flags
      dst     
      op      
      red     
      green   
      blue    
      alpha   
      x       
      y       
      width   
      height  

  private static native void XRenderRectanglesNative(int, byte, short, short, short, short, int[], int);
    descriptor: (IBSSSS[II)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
         Name  Flags
      dst      
      op       
      red      
      green    
      blue     
      alpha    
      rects    
      rectCnt  

  private native void XRSetTransformNative(int, int, int, int, int, int, int);
    descriptor: (IIIIIII)V
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    MethodParameters:
      Name  Flags
      pic   
      m00   
      m01   
      m02   
      m10   
      m11   
      m12   

  private static native int XRCreateLinearGradientPaintNative(float[], short[], int, int, int, int, int, int);
    descriptor: ([F[SIIIIII)I
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
                Name  Flags
      fractionsArray  
      pixelsArray     
      x1              
      y1              
      x2              
      y2              
      numStops        
      repeat          

  private static native int XRCreateRadialGradientPaintNative(float[], short[], int, int, int, int, int, int);
    descriptor: ([F[SIIIIII)I
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
                Name  Flags
      fractionsArray  
      pixelsArray     
      numStops        
      centerX         
      centerY         
      innerRadius     
      outerRadius     
      repeat          

  public native void setFilter(int, int);
    descriptor: (II)V
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
    MethodParameters:
         Name  Flags
      picture  
      filter   

  private static native void XRSetClipNative(long, int, int, int, int, sun.java2d.pipe.Region, boolean);
    descriptor: (JIIIILsun/java2d/pipe/Region;Z)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
      Name  Flags
      dst   
      x1    
      y1    
      x2    
      y2    
      clip  
      isGC  

  public void GCRectangles(int, long, sun.java2d.xr.GrowableRectArray);
    descriptor: (IJLsun/java2d/xr/GrowableRectArray;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // sun.java2d.xr.XRBackendNative this
        start local 1 // int drawable
        start local 2 // long gc
        start local 4 // sun.java2d.xr.GrowableRectArray rects
         0: .line 123
            iload 1 /* drawable */
            lload 2 /* gc */
            aload 4 /* rects */
            invokevirtual sun.java2d.xr.GrowableRectArray.getArray:()[I
            aload 4 /* rects */
            invokevirtual sun.java2d.xr.GrowableRectArray.getSize:()I
            invokestatic sun.java2d.xr.XRBackendNative.GCRectanglesNative:(IJ[II)V
         1: .line 124
            return
        end local 4 // sun.java2d.xr.GrowableRectArray rects
        end local 2 // long gc
        end local 1 // int drawable
        end local 0 // sun.java2d.xr.XRBackendNative this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lsun/java2d/xr/XRBackendNative;
            0    2     1  drawable  I
            0    2     2        gc  J
            0    2     4     rects  Lsun/java2d/xr/GrowableRectArray;
    MethodParameters:
          Name  Flags
      drawable  
      gc        
      rects     

  public int createPicture(int, int);
    descriptor: (II)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // sun.java2d.xr.XRBackendNative this
        start local 1 // int drawable
        start local 2 // int formatID
         0: .line 127
            aload 0 /* this */
            iload 1 /* drawable */
            iload 2 /* formatID */
            invokestatic sun.java2d.xr.XRBackendNative.getFormatPtr:(I)J
            invokevirtual sun.java2d.xr.XRBackendNative.createPictureNative:(IJ)I
            ireturn
        end local 2 // int formatID
        end local 1 // int drawable
        end local 0 // sun.java2d.xr.XRBackendNative this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lsun/java2d/xr/XRBackendNative;
            0    1     1  drawable  I
            0    1     2  formatID  I
    MethodParameters:
          Name  Flags
      drawable  
      formatID  

  public void setPictureTransform(int, java.awt.geom.AffineTransform);
    descriptor: (ILjava/awt/geom/AffineTransform;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=3, args_size=3
        start local 0 // sun.java2d.xr.XRBackendNative this
        start local 1 // int picture
        start local 2 // java.awt.geom.AffineTransform transform
         0: .line 131
            aload 0 /* this */
            iload 1 /* picture */
         1: .line 132
            aload 2 /* transform */
            invokevirtual java.awt.geom.AffineTransform.getScaleX:()D
            invokestatic sun.java2d.xr.XRUtils.XDoubleToFixed:(D)I
         2: .line 133
            aload 2 /* transform */
            invokevirtual java.awt.geom.AffineTransform.getShearX:()D
            invokestatic sun.java2d.xr.XRUtils.XDoubleToFixed:(D)I
         3: .line 134
            aload 2 /* transform */
            invokevirtual java.awt.geom.AffineTransform.getTranslateX:()D
            invokestatic sun.java2d.xr.XRUtils.XDoubleToFixed:(D)I
         4: .line 135
            aload 2 /* transform */
            invokevirtual java.awt.geom.AffineTransform.getShearY:()D
            invokestatic sun.java2d.xr.XRUtils.XDoubleToFixed:(D)I
         5: .line 136
            aload 2 /* transform */
            invokevirtual java.awt.geom.AffineTransform.getScaleY:()D
            invokestatic sun.java2d.xr.XRUtils.XDoubleToFixed:(D)I
         6: .line 137
            aload 2 /* transform */
            invokevirtual java.awt.geom.AffineTransform.getTranslateY:()D
            invokestatic sun.java2d.xr.XRUtils.XDoubleToFixed:(D)I
         7: .line 131
            invokevirtual sun.java2d.xr.XRBackendNative.XRSetTransformNative:(IIIIIII)V
         8: .line 138
            return
        end local 2 // java.awt.geom.AffineTransform transform
        end local 1 // int picture
        end local 0 // sun.java2d.xr.XRBackendNative this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Lsun/java2d/xr/XRBackendNative;
            0    9     1    picture  I
            0    9     2  transform  Ljava/awt/geom/AffineTransform;
    MethodParameters:
           Name  Flags
      picture    
      transform  

  public void renderRectangle(int, byte, sun.java2d.xr.XRColor, int, int, int, int);
    descriptor: (IBLsun/java2d/xr/XRColor;IIII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=11, locals=8, args_size=8
        start local 0 // sun.java2d.xr.XRBackendNative this
        start local 1 // int dst
        start local 2 // byte op
        start local 3 // sun.java2d.xr.XRColor color
        start local 4 // int x
        start local 5 // int y
        start local 6 // int width
        start local 7 // int height
         0: .line 142
            aload 0 /* this */
            iload 1 /* dst */
            iload 2 /* op */
            aload 3 /* color */
            getfield sun.java2d.xr.XRColor.red:I
            i2s
            aload 3 /* color */
            getfield sun.java2d.xr.XRColor.green:I
            i2s
         1: .line 143
            aload 3 /* color */
            getfield sun.java2d.xr.XRColor.blue:I
            i2s
            aload 3 /* color */
            getfield sun.java2d.xr.XRColor.alpha:I
            i2s
         2: .line 144
            iload 4 /* x */
            iload 5 /* y */
            iload 6 /* width */
            iload 7 /* height */
         3: .line 142
            invokevirtual sun.java2d.xr.XRBackendNative.renderRectangle:(IBSSSSIIII)V
         4: .line 145
            return
        end local 7 // int height
        end local 6 // int width
        end local 5 // int y
        end local 4 // int x
        end local 3 // sun.java2d.xr.XRColor color
        end local 2 // byte op
        end local 1 // int dst
        end local 0 // sun.java2d.xr.XRBackendNative this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lsun/java2d/xr/XRBackendNative;
            0    5     1     dst  I
            0    5     2      op  B
            0    5     3   color  Lsun/java2d/xr/XRColor;
            0    5     4       x  I
            0    5     5       y  I
            0    5     6   width  I
            0    5     7  height  I
    MethodParameters:
        Name  Flags
      dst     
      op      
      color   
      x       
      y       
      width   
      height  

  private short[] getRenderColors(int[]);
    descriptor: ([I)[S
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // sun.java2d.xr.XRBackendNative this
        start local 1 // int[] pixels
         0: .line 148
            aload 1 /* pixels */
            arraylength
            iconst_4
            imul
            newarray 9
            astore 2 /* renderColors */
        start local 2 // short[] renderColors
         1: .line 150
            new sun.java2d.xr.XRColor
            dup
            invokespecial sun.java2d.xr.XRColor.<init>:()V
            astore 3 /* c */
        start local 3 // sun.java2d.xr.XRColor c
         2: .line 151
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 10
         4: .line 152
      StackMap locals: short[] sun.java2d.xr.XRColor int
      StackMap stack:
            aload 3 /* c */
            aload 1 /* pixels */
            iload 4 /* i */
            iaload
            invokevirtual sun.java2d.xr.XRColor.setColorValues:(I)V
         5: .line 153
            aload 2 /* renderColors */
            iload 4 /* i */
            iconst_4
            imul
            iconst_0
            iadd
            aload 3 /* c */
            getfield sun.java2d.xr.XRColor.alpha:I
            i2s
            sastore
         6: .line 154
            aload 2 /* renderColors */
            iload 4 /* i */
            iconst_4
            imul
            iconst_1
            iadd
            aload 3 /* c */
            getfield sun.java2d.xr.XRColor.red:I
            i2s
            sastore
         7: .line 155
            aload 2 /* renderColors */
            iload 4 /* i */
            iconst_4
            imul
            iconst_2
            iadd
            aload 3 /* c */
            getfield sun.java2d.xr.XRColor.green:I
            i2s
            sastore
         8: .line 156
            aload 2 /* renderColors */
            iload 4 /* i */
            iconst_4
            imul
            iconst_3
            iadd
            aload 3 /* c */
            getfield sun.java2d.xr.XRColor.blue:I
            i2s
            sastore
         9: .line 151
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 4 /* i */
            aload 1 /* pixels */
            arraylength
            if_icmplt 4
        end local 4 // int i
        11: .line 159
            aload 2 /* renderColors */
            areturn
        end local 3 // sun.java2d.xr.XRColor c
        end local 2 // short[] renderColors
        end local 1 // int[] pixels
        end local 0 // sun.java2d.xr.XRBackendNative this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   12     0          this  Lsun/java2d/xr/XRBackendNative;
            0   12     1        pixels  [I
            1   12     2  renderColors  [S
            2   12     3             c  Lsun/java2d/xr/XRColor;
            3   11     4             i  I
    MethodParameters:
        Name  Flags
      pixels  

  private static long getFormatPtr(int);
    descriptor: (I)J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int formatID
         0: .line 163
            iload 0 /* formatID */
            tableswitch { // 0 - 2
                    0: 2
                    1: 3
                    2: 1
              default: 3
          }
         1: .line 165
      StackMap locals:
      StackMap stack:
            getstatic sun.java2d.xr.XRBackendNative.FMTPTR_A8:J
            lreturn
         2: .line 167
      StackMap locals:
      StackMap stack:
            getstatic sun.java2d.xr.XRBackendNative.FMTPTR_ARGB32:J
            lreturn
         3: .line 170
      StackMap locals:
      StackMap stack:
            lconst_0
            lreturn
        end local 0 // int formatID
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0  formatID  I
    MethodParameters:
          Name  Flags
      formatID  

  public int createLinearGradient(java.awt.geom.Point2D, java.awt.geom.Point2D, float[], int[], int);
    descriptor: (Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;[F[II)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=8, args_size=6
        start local 0 // sun.java2d.xr.XRBackendNative this
        start local 1 // java.awt.geom.Point2D p1
        start local 2 // java.awt.geom.Point2D p2
        start local 3 // float[] fractions
        start local 4 // int[] pixels
        start local 5 // int repeat
         0: .line 176
            aload 0 /* this */
            aload 4 /* pixels */
            invokevirtual sun.java2d.xr.XRBackendNative.getRenderColors:([I)[S
            astore 6 /* colorValues */
        start local 6 // short[] colorValues
         1: .line 178
            aload 3 /* fractions */
            aload 6 /* colorValues */
         2: .line 179
            aload 1 /* p1 */
            invokevirtual java.awt.geom.Point2D.getX:()D
            invokestatic sun.java2d.xr.XRUtils.XDoubleToFixed:(D)I
            aload 1 /* p1 */
            invokevirtual java.awt.geom.Point2D.getY:()D
            invokestatic sun.java2d.xr.XRUtils.XDoubleToFixed:(D)I
         3: .line 180
            aload 2 /* p2 */
            invokevirtual java.awt.geom.Point2D.getX:()D
            invokestatic sun.java2d.xr.XRUtils.XDoubleToFixed:(D)I
            aload 2 /* p2 */
            invokevirtual java.awt.geom.Point2D.getY:()D
            invokestatic sun.java2d.xr.XRUtils.XDoubleToFixed:(D)I
         4: .line 181
            aload 3 /* fractions */
            arraylength
            iload 5 /* repeat */
         5: .line 178
            invokestatic sun.java2d.xr.XRBackendNative.XRCreateLinearGradientPaintNative:([F[SIIIIII)I
         6: .line 177
            istore 7 /* gradient */
        start local 7 // int gradient
         7: .line 182
            iload 7 /* gradient */
            ireturn
        end local 7 // int gradient
        end local 6 // short[] colorValues
        end local 5 // int repeat
        end local 4 // int[] pixels
        end local 3 // float[] fractions
        end local 2 // java.awt.geom.Point2D p2
        end local 1 // java.awt.geom.Point2D p1
        end local 0 // sun.java2d.xr.XRBackendNative this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0         this  Lsun/java2d/xr/XRBackendNative;
            0    8     1           p1  Ljava/awt/geom/Point2D;
            0    8     2           p2  Ljava/awt/geom/Point2D;
            0    8     3    fractions  [F
            0    8     4       pixels  [I
            0    8     5       repeat  I
            1    8     6  colorValues  [S
            7    8     7     gradient  I
    MethodParameters:
           Name  Flags
      p1         
      p2         
      fractions  
      pixels     
      repeat     

  public int createRadialGradient(float, float, float, float, float[], int[], int);
    descriptor: (FFFF[F[II)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=9, args_size=8
        start local 0 // sun.java2d.xr.XRBackendNative this
        start local 1 // float centerX
        start local 2 // float centerY
        start local 3 // float innerRadius
        start local 4 // float outerRadius
        start local 5 // float[] fractions
        start local 6 // int[] pixels
        start local 7 // int repeat
         0: .line 189
            aload 0 /* this */
            aload 6 /* pixels */
            invokevirtual sun.java2d.xr.XRBackendNative.getRenderColors:([I)[S
            astore 8 /* colorValues */
        start local 8 // short[] colorValues
         1: .line 191
            aload 5 /* fractions */
            aload 8 /* colorValues */
            aload 5 /* fractions */
            arraylength
         2: .line 192
            fload 1 /* centerX */
            f2d
            invokestatic sun.java2d.xr.XRUtils.XDoubleToFixed:(D)I
         3: .line 193
            fload 2 /* centerY */
            f2d
            invokestatic sun.java2d.xr.XRUtils.XDoubleToFixed:(D)I
         4: .line 194
            fload 3 /* innerRadius */
            f2d
            invokestatic sun.java2d.xr.XRUtils.XDoubleToFixed:(D)I
         5: .line 195
            fload 4 /* outerRadius */
            f2d
            invokestatic sun.java2d.xr.XRUtils.XDoubleToFixed:(D)I
         6: .line 196
            iload 7 /* repeat */
         7: .line 190
            invokestatic sun.java2d.xr.XRBackendNative.XRCreateRadialGradientPaintNative:([F[SIIIIII)I
            ireturn
        end local 8 // short[] colorValues
        end local 7 // int repeat
        end local 6 // int[] pixels
        end local 5 // float[] fractions
        end local 4 // float outerRadius
        end local 3 // float innerRadius
        end local 2 // float centerY
        end local 1 // float centerX
        end local 0 // sun.java2d.xr.XRBackendNative this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0         this  Lsun/java2d/xr/XRBackendNative;
            0    8     1      centerX  F
            0    8     2      centerY  F
            0    8     3  innerRadius  F
            0    8     4  outerRadius  F
            0    8     5    fractions  [F
            0    8     6       pixels  [I
            0    8     7       repeat  I
            1    8     8  colorValues  [S
    MethodParameters:
             Name  Flags
      centerX      
      centerY      
      innerRadius  
      outerRadius  
      fractions    
      pixels       
      repeat       

  public void setGCClipRectangles(long, sun.java2d.pipe.Region);
    descriptor: (JLsun/java2d/pipe/Region;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=4, args_size=3
        start local 0 // sun.java2d.xr.XRBackendNative this
        start local 1 // long gc
        start local 3 // sun.java2d.pipe.Region clip
         0: .line 200
            lload 1 /* gc */
            aload 3 /* clip */
            invokevirtual sun.java2d.pipe.Region.getLoX:()I
            aload 3 /* clip */
            invokevirtual sun.java2d.pipe.Region.getLoY:()I
         1: .line 201
            aload 3 /* clip */
            invokevirtual sun.java2d.pipe.Region.getHiX:()I
            aload 3 /* clip */
            invokevirtual sun.java2d.pipe.Region.getHiY:()I
         2: .line 202
            aload 3 /* clip */
            invokevirtual sun.java2d.pipe.Region.isRectangular:()Z
            ifeq 3
            aconst_null
            goto 4
      StackMap locals: sun.java2d.xr.XRBackendNative long sun.java2d.pipe.Region
      StackMap stack: long int int int int
         3: aload 3 /* clip */
      StackMap locals: sun.java2d.xr.XRBackendNative long sun.java2d.pipe.Region
      StackMap stack: long int int int int sun.java2d.pipe.Region
         4: iconst_1
         5: .line 200
            invokestatic sun.java2d.xr.XRBackendNative.XRSetClipNative:(JIIIILsun/java2d/pipe/Region;Z)V
         6: .line 203
            return
        end local 3 // sun.java2d.pipe.Region clip
        end local 1 // long gc
        end local 0 // sun.java2d.xr.XRBackendNative this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lsun/java2d/xr/XRBackendNative;
            0    7     1    gc  J
            0    7     3  clip  Lsun/java2d/pipe/Region;
    MethodParameters:
      Name  Flags
      gc    
      clip  

  public void setClipRectangles(int, sun.java2d.pipe.Region);
    descriptor: (ILsun/java2d/pipe/Region;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=3, args_size=3
        start local 0 // sun.java2d.xr.XRBackendNative this
        start local 1 // int picture
        start local 2 // sun.java2d.pipe.Region clip
         0: .line 206
            aload 2 /* clip */
            ifnull 8
         1: .line 207
            iload 1 /* picture */
            i2l
            aload 2 /* clip */
            invokevirtual sun.java2d.pipe.Region.getLoX:()I
            aload 2 /* clip */
            invokevirtual sun.java2d.pipe.Region.getLoY:()I
         2: .line 208
            aload 2 /* clip */
            invokevirtual sun.java2d.pipe.Region.getHiX:()I
            aload 2 /* clip */
            invokevirtual sun.java2d.pipe.Region.getHiY:()I
         3: .line 209
            aload 2 /* clip */
            invokevirtual sun.java2d.pipe.Region.isRectangular:()Z
            ifeq 4
            aconst_null
            goto 5
      StackMap locals: sun.java2d.xr.XRBackendNative int sun.java2d.pipe.Region
      StackMap stack: long int int int int
         4: aload 2 /* clip */
      StackMap locals: sun.java2d.xr.XRBackendNative int sun.java2d.pipe.Region
      StackMap stack: long int int int int sun.java2d.pipe.Region
         5: iconst_0
         6: .line 207
            invokestatic sun.java2d.xr.XRBackendNative.XRSetClipNative:(JIIIILsun/java2d/pipe/Region;Z)V
         7: .line 210
            goto 9
         8: .line 211
      StackMap locals:
      StackMap stack:
            iload 1 /* picture */
            i2l
            iconst_0
            iconst_0
            sipush 32767
            sipush 32767
            aconst_null
            iconst_0
            invokestatic sun.java2d.xr.XRBackendNative.XRSetClipNative:(JIIIILsun/java2d/pipe/Region;Z)V
         9: .line 213
      StackMap locals:
      StackMap stack:
            return
        end local 2 // sun.java2d.pipe.Region clip
        end local 1 // int picture
        end local 0 // sun.java2d.xr.XRBackendNative this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lsun/java2d/xr/XRBackendNative;
            0   10     1  picture  I
            0   10     2     clip  Lsun/java2d/pipe/Region;
    MethodParameters:
         Name  Flags
      picture  
      clip     

  public void renderRectangles(int, byte, sun.java2d.xr.XRColor, sun.java2d.xr.GrowableRectArray);
    descriptor: (IBLsun/java2d/xr/XRColor;Lsun/java2d/xr/GrowableRectArray;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=5, args_size=5
        start local 0 // sun.java2d.xr.XRBackendNative this
        start local 1 // int dst
        start local 2 // byte op
        start local 3 // sun.java2d.xr.XRColor color
        start local 4 // sun.java2d.xr.GrowableRectArray rects
         0: .line 217
            iload 1 /* dst */
            iload 2 /* op */
         1: .line 218
            aload 3 /* color */
            getfield sun.java2d.xr.XRColor.red:I
            i2s
            aload 3 /* color */
            getfield sun.java2d.xr.XRColor.green:I
            i2s
         2: .line 219
            aload 3 /* color */
            getfield sun.java2d.xr.XRColor.blue:I
            i2s
            aload 3 /* color */
            getfield sun.java2d.xr.XRColor.alpha:I
            i2s
         3: .line 220
            aload 4 /* rects */
            invokevirtual sun.java2d.xr.GrowableRectArray.getArray:()[I
            aload 4 /* rects */
         4: .line 221
            invokevirtual sun.java2d.xr.GrowableRectArray.getSize:()I
         5: .line 217
            invokestatic sun.java2d.xr.XRBackendNative.XRenderRectanglesNative:(IBSSSS[II)V
         6: .line 222
            return
        end local 4 // sun.java2d.xr.GrowableRectArray rects
        end local 3 // sun.java2d.xr.XRColor color
        end local 2 // byte op
        end local 1 // int dst
        end local 0 // sun.java2d.xr.XRBackendNative this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lsun/java2d/xr/XRBackendNative;
            0    7     1    dst  I
            0    7     2     op  B
            0    7     3  color  Lsun/java2d/xr/XRColor;
            0    7     4  rects  Lsun/java2d/xr/GrowableRectArray;
    MethodParameters:
       Name  Flags
      dst    
      op     
      color  
      rects  

  private static long[] getGlyphInfoPtrs(java.util.List<sun.font.XRGlyphCacheEntry>);
    descriptor: (Ljava/util/List;)[J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // java.util.List cacheEntries
         0: .line 225
            aload 0 /* cacheEntries */
            invokeinterface java.util.List.size:()I
            newarray 11
            astore 1 /* glyphInfoPtrs */
        start local 1 // long[] glyphInfoPtrs
         1: .line 226
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 5
         3: .line 227
      StackMap locals: long[] int
      StackMap stack:
            aload 1 /* glyphInfoPtrs */
            iload 2 /* i */
            aload 0 /* cacheEntries */
            iload 2 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast sun.font.XRGlyphCacheEntry
            invokevirtual sun.font.XRGlyphCacheEntry.getGlyphInfoPtr:()J
            lastore
         4: .line 226
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 0 /* cacheEntries */
            invokeinterface java.util.List.size:()I
            if_icmplt 3
        end local 2 // int i
         6: .line 229
            aload 1 /* glyphInfoPtrs */
            areturn
        end local 1 // long[] glyphInfoPtrs
        end local 0 // java.util.List cacheEntries
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0   cacheEntries  Ljava/util/List<Lsun/font/XRGlyphCacheEntry;>;
            1    7     1  glyphInfoPtrs  [J
            2    6     2              i  I
    Signature: (Ljava/util/List<Lsun/font/XRGlyphCacheEntry;>;)[J
    MethodParameters:
              Name  Flags
      cacheEntries  

  public void XRenderAddGlyphs(int, sun.font.GlyphList, java.util.List<sun.font.XRGlyphCacheEntry>, );
    descriptor: (ILsun/font/GlyphList;Ljava/util/List;[B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // sun.java2d.xr.XRBackendNative this
        start local 1 // int glyphSet
        start local 2 // sun.font.GlyphList gl
        start local 3 // java.util.List cacheEntries
        start local 4 // byte[] pixelData
         0: .line 235
            aload 3 /* cacheEntries */
            invokestatic sun.java2d.xr.XRBackendNative.getGlyphInfoPtrs:(Ljava/util/List;)[J
            astore 5 /* glyphInfoPtrs */
        start local 5 // long[] glyphInfoPtrs
         1: .line 236
            iload 1 /* glyphSet */
            aload 5 /* glyphInfoPtrs */
         2: .line 237
            aload 5 /* glyphInfoPtrs */
            arraylength
            aload 4 /* pixelData */
            aload 4 /* pixelData */
            arraylength
         3: .line 236
            invokestatic sun.java2d.xr.XRBackendNative.XRAddGlyphsNative:(I[JI[BI)V
         4: .line 238
            return
        end local 5 // long[] glyphInfoPtrs
        end local 4 // byte[] pixelData
        end local 3 // java.util.List cacheEntries
        end local 2 // sun.font.GlyphList gl
        end local 1 // int glyphSet
        end local 0 // sun.java2d.xr.XRBackendNative this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Lsun/java2d/xr/XRBackendNative;
            0    5     1       glyphSet  I
            0    5     2             gl  Lsun/font/GlyphList;
            0    5     3   cacheEntries  Ljava/util/List<Lsun/font/XRGlyphCacheEntry;>;
            0    5     4      pixelData  [B
            1    5     5  glyphInfoPtrs  [J
    Signature: (ILsun/font/GlyphList;Ljava/util/List<Lsun/font/XRGlyphCacheEntry;>;[B)V
    MethodParameters:
              Name  Flags
      glyphSet      
      gl            
      cacheEntries  
      pixelData     

  public void XRenderFreeGlyphs(int, int[]);
    descriptor: (I[I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // sun.java2d.xr.XRBackendNative this
        start local 1 // int glyphSet
        start local 2 // int[] gids
         0: .line 241
            iload 1 /* glyphSet */
            aload 2 /* gids */
            aload 2 /* gids */
            arraylength
            invokestatic sun.java2d.xr.XRBackendNative.XRFreeGlyphsNative:(I[II)V
         1: .line 242
            return
        end local 2 // int[] gids
        end local 1 // int glyphSet
        end local 0 // sun.java2d.xr.XRBackendNative this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lsun/java2d/xr/XRBackendNative;
            0    2     1  glyphSet  I
            0    2     2      gids  [I
    MethodParameters:
          Name  Flags
      glyphSet  
      gids      

  private static native void XRAddGlyphsNative(int, long[], int, byte[], int);
    descriptor: (I[JI[BI)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
                 Name  Flags
      glyphSet         
      glyphInfoPtrs    
      glyphCnt         
      pixelData        
      pixelDataLength  

  private static native void XRFreeGlyphsNative(int, int[], int);
    descriptor: (I[II)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
          Name  Flags
      glyphSet  
      gids      
      idCnt     

  private static native void XRenderCompositeTextNative(int, int, int, int, int, long, int[], int[], int, int);
    descriptor: (IIIIIJ[I[III)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
            Name  Flags
      op          
      src         
      dst         
      srcX        
      srcY        
      maskFormat  
      eltArray    
      glyphIDs    
      eltCnt      
      glyphCnt    

  public int XRenderCreateGlyphSet(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.java2d.xr.XRBackendNative this
        start local 1 // int formatID
         0: .line 260
            iload 1 /* formatID */
            invokestatic sun.java2d.xr.XRBackendNative.getFormatPtr:(I)J
            invokestatic sun.java2d.xr.XRBackendNative.XRenderCreateGlyphSetNative:(J)I
            ireturn
        end local 1 // int formatID
        end local 0 // sun.java2d.xr.XRBackendNative this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lsun/java2d/xr/XRBackendNative;
            0    1     1  formatID  I
    MethodParameters:
          Name  Flags
      formatID  

  private static native int XRenderCreateGlyphSetNative(long);
    descriptor: (J)I
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
        Name  Flags
      format  

  public void XRenderCompositeText(byte, int, int, int, int, int, int, int, int, sun.java2d.xr.GrowableEltArray);
    descriptor: (BIIIIIIIILsun/java2d/xr/GrowableEltArray;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=11, locals=12, args_size=11
        start local 0 // sun.java2d.xr.XRBackendNative this
        start local 1 // byte op
        start local 2 // int src
        start local 3 // int dst
        start local 4 // int maskFormatID
        start local 5 // int sx
        start local 6 // int sy
        start local 7 // int dx
        start local 8 // int dy
        start local 9 // int glyphset
        start local 10 // sun.java2d.xr.GrowableEltArray elts
         0: .line 270
            aload 10 /* elts */
            invokevirtual sun.java2d.xr.GrowableEltArray.getGlyphs:()Lsun/java2d/xr/GrowableIntArray;
            astore 11 /* glyphs */
        start local 11 // sun.java2d.xr.GrowableIntArray glyphs
         1: .line 271
            iload 1 /* op */
            iload 2 /* src */
            iload 3 /* dst */
            iload 5 /* sx */
            iload 6 /* sy */
            lconst_0
            aload 10 /* elts */
            invokevirtual sun.java2d.xr.GrowableEltArray.getArray:()[I
         2: .line 272
            aload 11 /* glyphs */
            invokevirtual sun.java2d.xr.GrowableIntArray.getArray:()[I
            aload 10 /* elts */
            invokevirtual sun.java2d.xr.GrowableEltArray.getSize:()I
         3: .line 273
            aload 11 /* glyphs */
            invokevirtual sun.java2d.xr.GrowableIntArray.getSize:()I
         4: .line 271
            invokestatic sun.java2d.xr.XRBackendNative.XRenderCompositeTextNative:(IIIIIJ[I[III)V
         5: .line 274
            return
        end local 11 // sun.java2d.xr.GrowableIntArray glyphs
        end local 10 // sun.java2d.xr.GrowableEltArray elts
        end local 9 // int glyphset
        end local 8 // int dy
        end local 7 // int dx
        end local 6 // int sy
        end local 5 // int sx
        end local 4 // int maskFormatID
        end local 3 // int dst
        end local 2 // int src
        end local 1 // byte op
        end local 0 // sun.java2d.xr.XRBackendNative this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Lsun/java2d/xr/XRBackendNative;
            0    6     1            op  B
            0    6     2           src  I
            0    6     3           dst  I
            0    6     4  maskFormatID  I
            0    6     5            sx  I
            0    6     6            sy  I
            0    6     7            dx  I
            0    6     8            dy  I
            0    6     9      glyphset  I
            0    6    10          elts  Lsun/java2d/xr/GrowableEltArray;
            1    6    11        glyphs  Lsun/java2d/xr/GrowableIntArray;
    MethodParameters:
              Name  Flags
      op            
      src           
      dst           
      maskFormatID  
      sx            
      sy            
      dx            
      dy            
      glyphset      
      elts          

  public void putMaskImage(int, long, byte[], int, int, int, int, int, int, int, int, float);
    descriptor: (IJ[BIIIIIIIIF)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=15, locals=14, args_size=13
        start local 0 // sun.java2d.xr.XRBackendNative this
        start local 1 // int drawable
        start local 2 // long gc
        start local 4 // byte[] imageData
        start local 5 // int sx
        start local 6 // int sy
        start local 7 // int dx
        start local 8 // int dy
        start local 9 // int width
        start local 10 // int height
        start local 11 // int maskOff
        start local 12 // int maskScan
        start local 13 // float ea
         0: .line 280
            iload 1 /* drawable */
            lload 2 /* gc */
            aload 4 /* imageData */
            iload 5 /* sx */
            iload 6 /* sy */
            iload 7 /* dx */
            iload 8 /* dy */
         1: .line 281
            iload 9 /* width */
            iload 10 /* height */
            iload 11 /* maskOff */
            iload 12 /* maskScan */
            fload 13 /* ea */
            getstatic sun.java2d.xr.XRBackendNative.MASK_XIMG:J
         2: .line 280
            invokestatic sun.java2d.xr.XRBackendNative.putMaskNative:(IJ[BIIIIIIIIFJ)V
         3: .line 282
            return
        end local 13 // float ea
        end local 12 // int maskScan
        end local 11 // int maskOff
        end local 10 // int height
        end local 9 // int width
        end local 8 // int dy
        end local 7 // int dx
        end local 6 // int sy
        end local 5 // int sx
        end local 4 // byte[] imageData
        end local 2 // long gc
        end local 1 // int drawable
        end local 0 // sun.java2d.xr.XRBackendNative this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lsun/java2d/xr/XRBackendNative;
            0    4     1   drawable  I
            0    4     2         gc  J
            0    4     4  imageData  [B
            0    4     5         sx  I
            0    4     6         sy  I
            0    4     7         dx  I
            0    4     8         dy  I
            0    4     9      width  I
            0    4    10     height  I
            0    4    11    maskOff  I
            0    4    12   maskScan  I
            0    4    13         ea  F
    MethodParameters:
           Name  Flags
      drawable   
      gc         
      imageData  
      sx         
      sy         
      dx         
      dy         
      width      
      height     
      maskOff    
      maskScan   
      ea         

  private static native void putMaskNative(int, long, byte[], int, int, int, int, int, int, int, int, float, long);
    descriptor: (IJ[BIIIIIIIIFJ)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
           Name  Flags
      drawable   
      gc         
      imageData  
      sx         
      sy         
      dx         
      dy         
      width      
      height     
      maskOff    
      maskScan   
      ea         
      xImg       

  public void padBlit(byte, int, int, int, java.awt.geom.AffineTransform, int, int, int, int, int, int, int, int, int, int);
    descriptor: (BIIILjava/awt/geom/AffineTransform;IIIIIIIIII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=20, locals=16, args_size=16
        start local 0 // sun.java2d.xr.XRBackendNative this
        start local 1 // byte op
        start local 2 // int srcPict
        start local 3 // int maskPict
        start local 4 // int dstPict
        start local 5 // java.awt.geom.AffineTransform maskTrx
        start local 6 // int maskWidth
        start local 7 // int maskHeight
        start local 8 // int lastMaskWidth
        start local 9 // int lastMaskHeight
        start local 10 // int sx
        start local 11 // int sy
        start local 12 // int dx
        start local 13 // int dy
        start local 14 // int w
        start local 15 // int h
         0: .line 296
            iload 1 /* op */
            iload 2 /* srcPict */
            iload 3 /* maskPict */
            iload 4 /* dstPict */
         1: .line 297
            aload 5 /* maskTrx */
            invokevirtual java.awt.geom.AffineTransform.getScaleX:()D
            invokestatic sun.java2d.xr.XRUtils.XDoubleToFixed:(D)I
         2: .line 298
            aload 5 /* maskTrx */
            invokevirtual java.awt.geom.AffineTransform.getShearX:()D
            invokestatic sun.java2d.xr.XRUtils.XDoubleToFixed:(D)I
         3: .line 299
            aload 5 /* maskTrx */
            invokevirtual java.awt.geom.AffineTransform.getTranslateX:()D
            invokestatic sun.java2d.xr.XRUtils.XDoubleToFixed:(D)I
         4: .line 300
            aload 5 /* maskTrx */
            invokevirtual java.awt.geom.AffineTransform.getShearY:()D
            invokestatic sun.java2d.xr.XRUtils.XDoubleToFixed:(D)I
         5: .line 301
            aload 5 /* maskTrx */
            invokevirtual java.awt.geom.AffineTransform.getScaleY:()D
            invokestatic sun.java2d.xr.XRUtils.XDoubleToFixed:(D)I
         6: .line 302
            aload 5 /* maskTrx */
            invokevirtual java.awt.geom.AffineTransform.getTranslateY:()D
            invokestatic sun.java2d.xr.XRUtils.XDoubleToFixed:(D)I
         7: .line 303
            iload 6 /* maskWidth */
            iload 7 /* maskHeight */
            iload 8 /* lastMaskWidth */
            iload 9 /* lastMaskHeight */
         8: .line 304
            iload 10 /* sx */
            iload 11 /* sy */
            iload 12 /* dx */
            iload 13 /* dy */
            iload 14 /* w */
            iload 15 /* h */
         9: .line 296
            invokestatic sun.java2d.xr.XRBackendNative.padBlitNative:(BIIIIIIIIIIIIIIIIIII)V
        10: .line 305
            return
        end local 15 // int h
        end local 14 // int w
        end local 13 // int dy
        end local 12 // int dx
        end local 11 // int sy
        end local 10 // int sx
        end local 9 // int lastMaskHeight
        end local 8 // int lastMaskWidth
        end local 7 // int maskHeight
        end local 6 // int maskWidth
        end local 5 // java.awt.geom.AffineTransform maskTrx
        end local 4 // int dstPict
        end local 3 // int maskPict
        end local 2 // int srcPict
        end local 1 // byte op
        end local 0 // sun.java2d.xr.XRBackendNative this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   11     0            this  Lsun/java2d/xr/XRBackendNative;
            0   11     1              op  B
            0   11     2         srcPict  I
            0   11     3        maskPict  I
            0   11     4         dstPict  I
            0   11     5         maskTrx  Ljava/awt/geom/AffineTransform;
            0   11     6       maskWidth  I
            0   11     7      maskHeight  I
            0   11     8   lastMaskWidth  I
            0   11     9  lastMaskHeight  I
            0   11    10              sx  I
            0   11    11              sy  I
            0   11    12              dx  I
            0   11    13              dy  I
            0   11    14               w  I
            0   11    15               h  I
    MethodParameters:
                Name  Flags
      op              
      srcPict         
      maskPict        
      dstPict         
      maskTrx         
      maskWidth       
      maskHeight      
      lastMaskWidth   
      lastMaskHeight  
      sx              
      sy              
      dx              
      dy              
      w               
      h               

  private static native void padBlitNative(byte, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int);
    descriptor: (BIIIIIIIIIIIIIIIIIII)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
                Name  Flags
      op              
      srcPict         
      maskPict        
      dstPict         
      m00             
      m01             
      m02             
      m10             
      m11             
      m12             
      maskWidth       
      maskHeight      
      lastMaskWidth   
      lastMaskHeight  
      sx              
      sy              
      dx              
      dy              
      w               
      h               
}
SourceFile: "XRBackendNative.java"