final class sun.java2d.pisces.PiscesCache
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: sun.java2d.pisces.PiscesCache
super_class: java.lang.Object
{
final int bboxX0;
descriptor: I
flags: (0x0010) ACC_FINAL
final int bboxY0;
descriptor: I
flags: (0x0010) ACC_FINAL
final int bboxX1;
descriptor: I
flags: (0x0010) ACC_FINAL
final int bboxY1;
descriptor: I
flags: (0x0010) ACC_FINAL
final int[][] rowAARLE;
descriptor: [[I
flags: (0x0010) ACC_FINAL
private int x0;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int y0;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private final int[][] touchedTile;
descriptor: [[I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static final int TILE_SIZE_LG;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 5
static final int TILE_SIZE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 32
private static final int INIT_ROW_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lsun/java2d/pisces/PiscesCache;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic sun.java2d.pisces.PiscesCache.$assertionsDisabled:Z
3: return
LocalVariableTable:
Start End Slot Name Signature
void <init>(int, int, int, int);
descriptor: (IIII)V
flags: (0x0000)
Code:
stack=3, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
ldc -2147483648
putfield sun.java2d.pisces.PiscesCache.x0:I
aload 0
ldc -2147483648
putfield sun.java2d.pisces.PiscesCache.y0:I
2: getstatic sun.java2d.pisces.PiscesCache.$assertionsDisabled:Z
ifne 4
iload 4
iload 2
if_icmplt 3
iload 3
iload 1
if_icmpge 4
StackMap locals: sun.java2d.pisces.PiscesCache int int int int
StackMap stack:
3: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
aload 0
iload 1
putfield sun.java2d.pisces.PiscesCache.bboxX0:I
5: aload 0
iload 2
putfield sun.java2d.pisces.PiscesCache.bboxY0:I
6: aload 0
iload 3
iconst_1
iadd
putfield sun.java2d.pisces.PiscesCache.bboxX1:I
7: aload 0
iload 4
iconst_1
iadd
putfield sun.java2d.pisces.PiscesCache.bboxY1:I
8: aload 0
aload 0
getfield sun.java2d.pisces.PiscesCache.bboxY1:I
aload 0
getfield sun.java2d.pisces.PiscesCache.bboxY0:I
isub
iconst_1
iadd
bipush 8
multianewarray [[I 2
putfield sun.java2d.pisces.PiscesCache.rowAARLE:[[I
9: aload 0
iconst_0
putfield sun.java2d.pisces.PiscesCache.x0:I
10: aload 0
iconst_m1
putfield sun.java2d.pisces.PiscesCache.y0:I
11: iload 4
iload 2
isub
bipush 32
iadd
iconst_5
ishr
istore 5
start local 5 12: iload 3
iload 1
isub
bipush 32
iadd
iconst_5
ishr
istore 6
start local 6 13: aload 0
iload 5
iload 6
multianewarray [[I 2
putfield sun.java2d.pisces.PiscesCache.touchedTile:[[I
14: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lsun/java2d/pisces/PiscesCache;
0 15 1 minx I
0 15 2 miny I
0 15 3 maxx I
0 15 4 maxy I
12 15 5 nyTiles I
13 15 6 nxTiles I
MethodParameters:
Name Flags
minx
miny
maxx
maxy
void addRLERun(int, int);
descriptor: (II)V
flags: (0x0000)
Code:
stack=6, locals=8, args_size=3
start local 0 start local 1 start local 2 0: iload 2
ifle 24
1: aload 0
aload 0
getfield sun.java2d.pisces.PiscesCache.y0:I
iload 1
iload 2
invokevirtual sun.java2d.pisces.PiscesCache.addTupleToRow:(III)V
2: iload 1
ifeq 23
3: aload 0
getfield sun.java2d.pisces.PiscesCache.x0:I
iconst_5
ishr
istore 3
start local 3 4: aload 0
getfield sun.java2d.pisces.PiscesCache.y0:I
iconst_5
ishr
istore 4
start local 4 5: aload 0
getfield sun.java2d.pisces.PiscesCache.x0:I
iload 2
iadd
iconst_1
isub
iconst_5
ishr
istore 5
start local 5 6: iload 5
aload 0
getfield sun.java2d.pisces.PiscesCache.touchedTile:[[I
iload 4
aaload
arraylength
if_icmplt 8
7: aload 0
getfield sun.java2d.pisces.PiscesCache.touchedTile:[[I
iload 4
aaload
arraylength
iconst_1
isub
istore 5
8: StackMap locals: int int int
StackMap stack:
iload 3
iload 5
if_icmpgt 18
9: iload 3
iconst_1
iadd
iconst_5
ishl
istore 6
start local 6 10: iload 6
aload 0
getfield sun.java2d.pisces.PiscesCache.x0:I
iload 2
iadd
if_icmple 13
11: aload 0
getfield sun.java2d.pisces.PiscesCache.touchedTile:[[I
iload 4
aaload
iload 3
dup2
iaload
iload 1
iload 2
imul
iadd
iastore
12: goto 14
13: StackMap locals: int
StackMap stack:
aload 0
getfield sun.java2d.pisces.PiscesCache.touchedTile:[[I
iload 4
aaload
iload 3
dup2
iaload
iload 1
iload 6
aload 0
getfield sun.java2d.pisces.PiscesCache.x0:I
isub
imul
iadd
iastore
14: StackMap locals:
StackMap stack:
iinc 3 1
end local 6 15: goto 18
16: StackMap locals:
StackMap stack:
aload 0
getfield sun.java2d.pisces.PiscesCache.touchedTile:[[I
iload 4
aaload
iload 3
dup2
iaload
iload 1
iconst_5
ishl
iadd
iastore
17: iinc 3 1
StackMap locals:
StackMap stack:
18: iload 3
iload 5
if_icmplt 16
19: iload 3
iload 5
if_icmpne 23
20: aload 0
getfield sun.java2d.pisces.PiscesCache.x0:I
iload 2
iadd
iload 3
iconst_1
iadd
iconst_5
ishl
invokestatic java.lang.Math.min:(II)I
istore 6
start local 6 21: iload 3
iconst_5
ishl
istore 7
start local 7 22: aload 0
getfield sun.java2d.pisces.PiscesCache.touchedTile:[[I
iload 4
aaload
iload 3
dup2
iaload
iload 1
iload 6
iload 7
isub
imul
iadd
iastore
end local 7 end local 6 end local 5 end local 4 end local 3 23: StackMap locals:
StackMap stack:
aload 0
dup
getfield sun.java2d.pisces.PiscesCache.x0:I
iload 2
iadd
putfield sun.java2d.pisces.PiscesCache.x0:I
24: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lsun/java2d/pisces/PiscesCache;
0 25 1 val I
0 25 2 runLen I
4 23 3 tx I
5 23 4 ty I
6 23 5 tx1 I
10 15 6 nextTileXCoord I
21 23 6 lastXCoord I
22 23 7 txXCoord I
MethodParameters:
Name Flags
val
runLen
void startRow(int, int);
descriptor: (II)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic sun.java2d.pisces.PiscesCache.$assertionsDisabled:Z
ifne 1
iload 1
aload 0
getfield sun.java2d.pisces.PiscesCache.bboxY0:I
isub
aload 0
getfield sun.java2d.pisces.PiscesCache.y0:I
if_icmpgt 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
getstatic sun.java2d.pisces.PiscesCache.$assertionsDisabled:Z
ifne 2
iload 1
aload 0
getfield sun.java2d.pisces.PiscesCache.bboxY1:I
if_icmple 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
iload 1
aload 0
getfield sun.java2d.pisces.PiscesCache.bboxY0:I
isub
putfield sun.java2d.pisces.PiscesCache.y0:I
3: getstatic sun.java2d.pisces.PiscesCache.$assertionsDisabled:Z
ifne 4
aload 0
getfield sun.java2d.pisces.PiscesCache.rowAARLE:[[I
aload 0
getfield sun.java2d.pisces.PiscesCache.y0:I
aaload
iconst_1
iaload
ifeq 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
aload 0
iload 2
aload 0
getfield sun.java2d.pisces.PiscesCache.bboxX0:I
isub
putfield sun.java2d.pisces.PiscesCache.x0:I
5: getstatic sun.java2d.pisces.PiscesCache.$assertionsDisabled:Z
ifne 6
aload 0
getfield sun.java2d.pisces.PiscesCache.x0:I
ifge 6
new java.lang.AssertionError
dup
ldc "Input must not be to the left of bbox bounds"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield sun.java2d.pisces.PiscesCache.rowAARLE:[[I
aload 0
getfield sun.java2d.pisces.PiscesCache.y0:I
aaload
iconst_0
iload 2
iastore
7: aload 0
getfield sun.java2d.pisces.PiscesCache.rowAARLE:[[I
aload 0
getfield sun.java2d.pisces.PiscesCache.y0:I
aaload
iconst_1
iconst_2
iastore
8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/java2d/pisces/PiscesCache;
0 9 1 y I
0 9 2 x I
MethodParameters:
Name Flags
y
x
int alphaSumInTile(int, int);
descriptor: (II)I
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 1
aload 0
getfield sun.java2d.pisces.PiscesCache.bboxX0:I
isub
istore 1
1: iload 2
aload 0
getfield sun.java2d.pisces.PiscesCache.bboxY0:I
isub
istore 2
2: aload 0
getfield sun.java2d.pisces.PiscesCache.touchedTile:[[I
iload 2
iconst_5
ishr
aaload
iload 1
iconst_5
ishr
iaload
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/java2d/pisces/PiscesCache;
0 3 1 x I
0 3 2 y I
MethodParameters:
Name Flags
x
y
int minTouched(int);
descriptor: (I)I
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.java2d.pisces.PiscesCache.rowAARLE:[[I
iload 1
aaload
iconst_0
iaload
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/java2d/pisces/PiscesCache;
0 1 1 rowidx I
MethodParameters:
Name Flags
rowidx
int rowLength(int);
descriptor: (I)I
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.java2d.pisces.PiscesCache.rowAARLE:[[I
iload 1
aaload
iconst_1
iaload
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/java2d/pisces/PiscesCache;
0 1 1 rowidx I
MethodParameters:
Name Flags
rowidx
private void addTupleToRow(int, int, int);
descriptor: (III)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield sun.java2d.pisces.PiscesCache.rowAARLE:[[I
iload 1
aaload
iconst_1
iaload
istore 4
start local 4 1: aload 0
getfield sun.java2d.pisces.PiscesCache.rowAARLE:[[I
iload 1
aload 0
getfield sun.java2d.pisces.PiscesCache.rowAARLE:[[I
iload 1
aaload
iload 4
iconst_2
invokestatic sun.java2d.pisces.Helpers.widenArray:([III)[I
aastore
2: aload 0
getfield sun.java2d.pisces.PiscesCache.rowAARLE:[[I
iload 1
aaload
iload 4
iinc 4 1
iload 2
iastore
3: aload 0
getfield sun.java2d.pisces.PiscesCache.rowAARLE:[[I
iload 1
aaload
iload 4
iinc 4 1
iload 3
iastore
4: aload 0
getfield sun.java2d.pisces.PiscesCache.rowAARLE:[[I
iload 1
aaload
iconst_1
iload 4
iastore
5: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/java2d/pisces/PiscesCache;
0 6 1 row I
0 6 2 a I
0 6 3 b I
1 6 4 end I
MethodParameters:
Name Flags
row
a
b
void getBBox(int[]);
descriptor: ([I)V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
iconst_0
aload 0
getfield sun.java2d.pisces.PiscesCache.bboxX0:I
iastore
1: aload 1
iconst_1
aload 0
getfield sun.java2d.pisces.PiscesCache.bboxY0:I
iastore
2: aload 1
iconst_2
aload 0
getfield sun.java2d.pisces.PiscesCache.bboxX1:I
iconst_1
isub
iastore
3: aload 1
iconst_3
aload 0
getfield sun.java2d.pisces.PiscesCache.bboxY1:I
iconst_1
isub
iastore
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/java2d/pisces/PiscesCache;
0 5 1 bbox [I
MethodParameters:
Name Flags
bbox
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "bbox = ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
1: aload 0
getfield sun.java2d.pisces.PiscesCache.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
getfield sun.java2d.pisces.PiscesCache.bboxY0:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " => "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
2: aload 0
getfield sun.java2d.pisces.PiscesCache.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
getfield sun.java2d.pisces.PiscesCache.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: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 1
start local 1 4: aload 0
getfield sun.java2d.pisces.PiscesCache.rowAARLE:[[I
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 16
StackMap locals: sun.java2d.pisces.PiscesCache java.lang.String top int int int[][]
StackMap stack:
5: aload 5
iload 3
aaload
astore 2
start local 2 6: aload 2
ifnull 14
7: new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "minTouchedX="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
iconst_0
iaload
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
8: ldc "\tRLE Entries: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
9: aload 2
iconst_2
aload 2
iconst_1
iaload
invokestatic java.util.Arrays.copyOfRange:([III)[I
10: invokestatic java.util.Arrays.toString:([I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
11: ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
12: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 1
13: goto 15
14: StackMap locals: sun.java2d.pisces.PiscesCache java.lang.String int[] int int int[][]
StackMap stack:
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "[]\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 1
end local 2 15: StackMap locals: sun.java2d.pisces.PiscesCache java.lang.String top int int int[][]
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
16: iload 3
iload 4
if_icmplt 5
17: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lsun/java2d/pisces/PiscesCache;
4 18 1 ret Ljava/lang/String;
6 15 2 row [I
}
SourceFile: "PiscesCache.java"