final class sun.java2d.marlin.MarlinTileGenerator implements sun.java2d.pipe.AATileGenerator, sun.java2d.marlin.MarlinConst
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: sun.java2d.marlin.MarlinTileGenerator
super_class: java.lang.Object
{
private static final int MAX_TILE_ALPHA_SUM;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final sun.java2d.marlin.Renderer rdr;
descriptor: Lsun/java2d/marlin/Renderer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final sun.java2d.marlin.MarlinCache cache;
descriptor: Lsun/java2d/marlin/MarlinCache;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int x;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int y;
descriptor: I
flags: (0x0002) ACC_PRIVATE
final sun.java2d.marlin.RendererContext rdrCtx;
descriptor: Lsun/java2d/marlin/RendererContext;
flags: (0x0010) ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: getstatic sun.java2d.marlin.MarlinTileGenerator.TILE_SIZE:I
getstatic sun.java2d.marlin.MarlinTileGenerator.TILE_SIZE:I
imul
1: getstatic sun.java2d.marlin.MarlinTileGenerator.MAX_AA_ALPHA:I
2: imul
putstatic sun.java2d.marlin.MarlinTileGenerator.MAX_TILE_ALPHA_SUM:I
3: return
LocalVariableTable:
Start End Slot Name Signature
void <init>(sun.java2d.marlin.Renderer);
descriptor: (Lsun/java2d/marlin/Renderer;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield sun.java2d.marlin.MarlinTileGenerator.rdr:Lsun/java2d/marlin/Renderer;
2: aload 0
aload 1
getfield sun.java2d.marlin.Renderer.cache:Lsun/java2d/marlin/MarlinCache;
putfield sun.java2d.marlin.MarlinTileGenerator.cache:Lsun/java2d/marlin/MarlinCache;
3: aload 0
aload 1
getfield sun.java2d.marlin.Renderer.rdrCtx:Lsun/java2d/marlin/RendererContext;
putfield sun.java2d.marlin.MarlinTileGenerator.rdrCtx:Lsun/java2d/marlin/RendererContext;
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/java2d/marlin/MarlinTileGenerator;
0 5 1 r Lsun/java2d/marlin/Renderer;
MethodParameters:
Name Flags
r
sun.java2d.marlin.MarlinTileGenerator init();
descriptor: ()Lsun/java2d/marlin/MarlinTileGenerator;
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield sun.java2d.marlin.MarlinTileGenerator.cache:Lsun/java2d/marlin/MarlinCache;
getfield sun.java2d.marlin.MarlinCache.bboxX0:I
putfield sun.java2d.marlin.MarlinTileGenerator.x:I
1: aload 0
aload 0
getfield sun.java2d.marlin.MarlinTileGenerator.cache:Lsun/java2d/marlin/MarlinCache;
getfield sun.java2d.marlin.MarlinCache.bboxY0:I
putfield sun.java2d.marlin.MarlinTileGenerator.y:I
2: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/java2d/marlin/MarlinTileGenerator;
public void dispose();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.java2d.marlin.MarlinTileGenerator.cache:Lsun/java2d/marlin/MarlinCache;
invokevirtual sun.java2d.marlin.MarlinCache.dispose:()V
1: aload 0
getfield sun.java2d.marlin.MarlinTileGenerator.rdr:Lsun/java2d/marlin/Renderer;
invokevirtual sun.java2d.marlin.Renderer.dispose:()V
2: aload 0
getfield sun.java2d.marlin.MarlinTileGenerator.rdrCtx:Lsun/java2d/marlin/RendererContext;
invokestatic sun.java2d.marlin.MarlinRenderingEngine.returnRendererContext:(Lsun/java2d/marlin/RendererContext;)V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/java2d/marlin/MarlinTileGenerator;
void getBbox(int[]);
descriptor: ([I)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
iconst_0
aload 0
getfield sun.java2d.marlin.MarlinTileGenerator.cache:Lsun/java2d/marlin/MarlinCache;
getfield sun.java2d.marlin.MarlinCache.bboxX0:I
iastore
1: aload 1
iconst_1
aload 0
getfield sun.java2d.marlin.MarlinTileGenerator.cache:Lsun/java2d/marlin/MarlinCache;
getfield sun.java2d.marlin.MarlinCache.bboxY0:I
iastore
2: aload 1
iconst_2
aload 0
getfield sun.java2d.marlin.MarlinTileGenerator.cache:Lsun/java2d/marlin/MarlinCache;
getfield sun.java2d.marlin.MarlinCache.bboxX1:I
iastore
3: aload 1
iconst_3
aload 0
getfield sun.java2d.marlin.MarlinTileGenerator.cache:Lsun/java2d/marlin/MarlinCache;
getfield sun.java2d.marlin.MarlinCache.bboxY1:I
iastore
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/java2d/marlin/MarlinTileGenerator;
0 5 1 bbox [I
MethodParameters:
Name Flags
bbox
public int getTileWidth();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic sun.java2d.marlin.MarlinTileGenerator.TILE_SIZE:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/java2d/marlin/MarlinTileGenerator;
public int getTileHeight();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic sun.java2d.marlin.MarlinTileGenerator.TILE_SIZE:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/java2d/marlin/MarlinTileGenerator;
public int getTypicalAlpha();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
getfield sun.java2d.marlin.MarlinTileGenerator.cache:Lsun/java2d/marlin/MarlinCache;
aload 0
getfield sun.java2d.marlin.MarlinTileGenerator.x:I
invokevirtual sun.java2d.marlin.MarlinCache.alphaSumInTile:(I)I
istore 1
start local 1 1: iload 1
ifne 2
iconst_0
goto 4
2: StackMap locals: int
StackMap stack:
iload 1
getstatic sun.java2d.marlin.MarlinTileGenerator.MAX_TILE_ALPHA_SUM:I
if_icmpne 3
sipush 255
goto 4
StackMap locals:
StackMap stack:
3: sipush 128
4: StackMap locals:
StackMap stack: int
istore 2
start local 2 5: getstatic sun.java2d.marlin.MarlinTileGenerator.DO_STATS:Z
ifeq 7
6: aload 0
getfield sun.java2d.marlin.MarlinTileGenerator.rdrCtx:Lsun/java2d/marlin/RendererContext;
getfield sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.hist_tile_generator_alpha:Lsun/java2d/marlin/stats/Histogram;
iload 2
invokevirtual sun.java2d.marlin.stats.Histogram.add:(I)V
7: StackMap locals: int
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/java2d/marlin/MarlinTileGenerator;
1 8 1 al I
5 8 2 alpha I
public void nextTile();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
dup
getfield sun.java2d.marlin.MarlinTileGenerator.x:I
getstatic sun.java2d.marlin.MarlinTileGenerator.TILE_SIZE:I
iadd
dup_x1
putfield sun.java2d.marlin.MarlinTileGenerator.x:I
aload 0
getfield sun.java2d.marlin.MarlinTileGenerator.cache:Lsun/java2d/marlin/MarlinCache;
getfield sun.java2d.marlin.MarlinCache.bboxX1:I
if_icmplt 5
1: aload 0
aload 0
getfield sun.java2d.marlin.MarlinTileGenerator.cache:Lsun/java2d/marlin/MarlinCache;
getfield sun.java2d.marlin.MarlinCache.bboxX0:I
putfield sun.java2d.marlin.MarlinTileGenerator.x:I
2: aload 0
dup
getfield sun.java2d.marlin.MarlinTileGenerator.y:I
getstatic sun.java2d.marlin.MarlinTileGenerator.TILE_SIZE:I
iadd
putfield sun.java2d.marlin.MarlinTileGenerator.y:I
3: aload 0
getfield sun.java2d.marlin.MarlinTileGenerator.y:I
aload 0
getfield sun.java2d.marlin.MarlinTileGenerator.cache:Lsun/java2d/marlin/MarlinCache;
getfield sun.java2d.marlin.MarlinCache.bboxY1:I
if_icmpge 5
4: aload 0
getfield sun.java2d.marlin.MarlinTileGenerator.rdr:Lsun/java2d/marlin/Renderer;
aload 0
getfield sun.java2d.marlin.MarlinTileGenerator.y:I
invokevirtual sun.java2d.marlin.Renderer.endRendering:(I)V
5: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/java2d/marlin/MarlinTileGenerator;
public void getAlpha(byte[], int, int);
descriptor: ([BII)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield sun.java2d.marlin.MarlinTileGenerator.cache:Lsun/java2d/marlin/MarlinCache;
getfield sun.java2d.marlin.MarlinCache.useRLE:Z
ifeq 3
1: aload 0
aload 1
iload 2
iload 3
invokevirtual sun.java2d.marlin.MarlinTileGenerator.getAlphaRLE:([BII)V
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
iload 3
invokevirtual sun.java2d.marlin.MarlinTileGenerator.getAlphaNoRLE:([BII)V
4: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/java2d/marlin/MarlinTileGenerator;
0 5 1 tile [B
0 5 2 offset I
0 5 3 rowstride I
MethodParameters:
Name Flags
tile final
offset final
rowstride final
private void getAlphaNoRLE(byte[], int, int);
descriptor: ([BII)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=24, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield sun.java2d.marlin.MarlinTileGenerator.cache:Lsun/java2d/marlin/MarlinCache;
astore 4
start local 4 1: aload 4
getfield sun.java2d.marlin.MarlinCache.rowAAChunkIndex:[J
astore 5
start local 5 2: aload 4
getfield sun.java2d.marlin.MarlinCache.rowAAx0:[I
astore 6
start local 6 3: aload 4
getfield sun.java2d.marlin.MarlinCache.rowAAx1:[I
astore 7
start local 7 4: aload 0
getfield sun.java2d.marlin.MarlinTileGenerator.x:I
istore 8
start local 8 5: iload 8
getstatic sun.java2d.marlin.MarlinTileGenerator.TILE_SIZE:I
iadd
aload 4
getfield sun.java2d.marlin.MarlinCache.bboxX1:I
invokestatic sun.java2d.marlin.FloatMath.min:(II)I
istore 9
start local 9 6: aload 0
getfield sun.java2d.marlin.MarlinTileGenerator.y:I
getstatic sun.java2d.marlin.MarlinTileGenerator.TILE_SIZE:I
iadd
aload 4
getfield sun.java2d.marlin.MarlinCache.bboxY1:I
invokestatic sun.java2d.marlin.FloatMath.min:(II)I
aload 0
getfield sun.java2d.marlin.MarlinTileGenerator.y:I
isub
istore 10
start local 10 7: getstatic sun.java2d.marlin.MarlinTileGenerator.DO_LOG_BOUNDS:Z
ifeq 11
8: new java.lang.StringBuilder
dup
ldc "getAlpha = ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 8
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " ... "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 9
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
9: ldc "[ ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iconst_0
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " ... "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 10
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
10: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic sun.java2d.marlin.MarlinUtils.logInfo:(Ljava/lang/String;)V
11: StackMap locals: sun.java2d.marlin.MarlinTileGenerator byte[] int int sun.java2d.marlin.MarlinCache long[] int[] int[] int int int
StackMap stack:
getstatic sun.java2d.marlin.OffHeapArray.UNSAFE:Ljdk/internal/misc/Unsafe;
astore 11
start local 11 12: aload 4
getfield sun.java2d.marlin.MarlinCache.rowAAChunk:Lsun/java2d/marlin/OffHeapArray;
getfield sun.java2d.marlin.OffHeapArray.address:J
lstore 12
start local 12 13: iload 3
iload 9
iload 8
isub
isub
istore 16
start local 16 14: iload 2
istore 20
start local 20 15: iconst_0
istore 21
start local 21 16: goto 53
17: StackMap locals: sun.java2d.marlin.MarlinTileGenerator byte[] int int sun.java2d.marlin.MarlinCache long[] int[] int[] int int int jdk.internal.misc.Unsafe long top top int top top top int int
StackMap stack:
iload 8
istore 22
start local 22 18: aload 7
iload 21
iaload
istore 18
start local 18 19: iload 18
iload 8
if_icmple 43
20: aload 6
iload 21
iaload
istore 17
start local 17 21: iload 17
iload 9
if_icmpge 43
22: iload 17
istore 22
23: iload 22
iload 8
if_icmpgt 26
24: iload 8
istore 22
25: goto 31
26: StackMap locals: sun.java2d.marlin.MarlinTileGenerator byte[] int int sun.java2d.marlin.MarlinCache long[] int[] int[] int int int jdk.internal.misc.Unsafe long top top int int int top int int int
StackMap stack:
iload 8
istore 19
start local 19 27: goto 30
28: StackMap locals: sun.java2d.marlin.MarlinTileGenerator byte[] int int sun.java2d.marlin.MarlinCache long[] int[] int[] int int int jdk.internal.misc.Unsafe long top top int int int int int int int
StackMap stack:
aload 1
iload 20
iinc 20 1
iconst_0
bastore
29: iinc 19 1
StackMap locals:
StackMap stack:
30: iload 19
iload 22
if_icmplt 28
end local 19 31: StackMap locals: sun.java2d.marlin.MarlinTileGenerator byte[] int int sun.java2d.marlin.MarlinCache long[] int[] int[] int int int jdk.internal.misc.Unsafe long top top int int int top int int int
StackMap stack:
lload 12
aload 5
iload 21
laload
ladd
iload 22
iload 17
isub
i2l
ladd
lstore 14
start local 14 32: iload 18
iload 9
if_icmpgt 33
iload 18
goto 34
StackMap locals: sun.java2d.marlin.MarlinTileGenerator byte[] int int sun.java2d.marlin.MarlinCache long[] int[] int[] int int int jdk.internal.misc.Unsafe long long int int int top int int int
StackMap stack:
33: iload 9
StackMap locals:
StackMap stack: int
34: istore 19
start local 19 35: goto 39
36: StackMap locals: sun.java2d.marlin.MarlinTileGenerator byte[] int int sun.java2d.marlin.MarlinCache long[] int[] int[] int int int jdk.internal.misc.Unsafe long long int int int int int int int
StackMap stack:
aload 1
iload 20
iinc 20 1
aload 11
lload 14
invokevirtual jdk.internal.misc.Unsafe.getByte:(J)B
bastore
37: lload 14
lconst_1
ladd
lstore 14
38: iinc 22 1
StackMap locals:
StackMap stack:
39: iload 22
iload 19
if_icmplt 36
end local 19 end local 17 end local 14 40: goto 43
41: StackMap locals: sun.java2d.marlin.MarlinTileGenerator byte[] int int sun.java2d.marlin.MarlinCache long[] int[] int[] int int int jdk.internal.misc.Unsafe long top top int top int top int int int
StackMap stack:
aload 1
iload 20
iinc 20 1
iconst_0
bastore
42: iinc 22 1
43: StackMap locals:
StackMap stack:
iload 22
iload 9
if_icmplt 41
44: getstatic sun.java2d.marlin.MarlinTileGenerator.DO_TRACE:Z
ifeq 51
45: iload 20
iload 9
iload 8
isub
isub
istore 23
start local 23 46: goto 49
47: StackMap locals: int
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
aload 1
iload 23
baload
iconst_2
invokestatic sun.java2d.marlin.MarlinTileGenerator.hex:(II)Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
48: iinc 23 1
StackMap locals:
StackMap stack:
49: iload 23
iload 20
if_icmplt 47
end local 23 50: getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
51: StackMap locals:
StackMap stack:
iload 20
iload 16
iadd
istore 20
52: iinc 21 1
end local 22 end local 18 StackMap locals: sun.java2d.marlin.MarlinTileGenerator byte[] int int sun.java2d.marlin.MarlinCache long[] int[] int[] int int int jdk.internal.misc.Unsafe long top top int top top top int int
StackMap stack:
53: iload 21
iload 10
if_icmplt 17
end local 21 54: aload 0
invokevirtual sun.java2d.marlin.MarlinTileGenerator.nextTile:()V
55: return
end local 20 end local 16 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 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 56 0 this Lsun/java2d/marlin/MarlinTileGenerator;
0 56 1 tile [B
0 56 2 offset I
0 56 3 rowstride I
1 56 4 _cache Lsun/java2d/marlin/MarlinCache;
2 56 5 rowAAChunkIndex [J
3 56 6 rowAAx0 [I
4 56 7 rowAAx1 [I
5 56 8 x0 I
6 56 9 x1 I
7 56 10 y1 I
12 56 11 _unsafe Ljdk/internal/misc/Unsafe;
13 56 12 addr_rowAA J
32 40 14 addr J
14 56 16 skipRowPixels I
21 40 17 aax0 I
19 53 18 aax1 I
27 31 19 end I
35 40 19 end I
15 56 20 idx I
16 54 21 cy I
18 53 22 cx I
46 50 23 i I
MethodParameters:
Name Flags
tile final
offset final
rowstride final
private void getAlphaRLE(byte[], int, int);
descriptor: ([BII)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=38, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield sun.java2d.marlin.MarlinTileGenerator.cache:Lsun/java2d/marlin/MarlinCache;
astore 4
start local 4 1: aload 4
getfield sun.java2d.marlin.MarlinCache.rowAAChunkIndex:[J
astore 5
start local 5 2: aload 4
getfield sun.java2d.marlin.MarlinCache.rowAAx0:[I
astore 6
start local 6 3: aload 4
getfield sun.java2d.marlin.MarlinCache.rowAAx1:[I
astore 7
start local 7 4: aload 4
getfield sun.java2d.marlin.MarlinCache.rowAAEnc:[I
astore 8
start local 8 5: aload 4
getfield sun.java2d.marlin.MarlinCache.rowAALen:[J
astore 9
start local 9 6: aload 4
getfield sun.java2d.marlin.MarlinCache.rowAAPos:[J
astore 10
start local 10 7: aload 0
getfield sun.java2d.marlin.MarlinTileGenerator.x:I
istore 11
start local 11 8: iload 11
getstatic sun.java2d.marlin.MarlinTileGenerator.TILE_SIZE:I
iadd
aload 4
getfield sun.java2d.marlin.MarlinCache.bboxX1:I
invokestatic sun.java2d.marlin.FloatMath.min:(II)I
istore 12
start local 12 9: aload 0
getfield sun.java2d.marlin.MarlinTileGenerator.y:I
getstatic sun.java2d.marlin.MarlinTileGenerator.TILE_SIZE:I
iadd
aload 4
getfield sun.java2d.marlin.MarlinCache.bboxY1:I
invokestatic sun.java2d.marlin.FloatMath.min:(II)I
aload 0
getfield sun.java2d.marlin.MarlinTileGenerator.y:I
isub
istore 13
start local 13 10: getstatic sun.java2d.marlin.MarlinTileGenerator.DO_LOG_BOUNDS:Z
ifeq 14
11: new java.lang.StringBuilder
dup
ldc "getAlpha = ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 11
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " ... "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 12
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
12: ldc "[ ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iconst_0
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " ... "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 13
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
13: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic sun.java2d.marlin.MarlinUtils.logInfo:(Ljava/lang/String;)V
14: StackMap locals: sun.java2d.marlin.MarlinTileGenerator byte[] int int sun.java2d.marlin.MarlinCache long[] int[] int[] int[] long[] long[] int int int
StackMap stack:
getstatic sun.java2d.marlin.OffHeapArray.UNSAFE:Ljdk/internal/misc/Unsafe;
astore 14
start local 14 15: aload 4
getfield sun.java2d.marlin.MarlinCache.rowAAChunk:Lsun/java2d/marlin/OffHeapArray;
getfield sun.java2d.marlin.OffHeapArray.address:J
lstore 15
start local 15 16: iload 3
iload 12
iload 11
isub
isub
istore 25
start local 25 17: iload 2
istore 35
start local 35 18: iconst_0
istore 27
start local 27 19: goto 93
20: StackMap locals: sun.java2d.marlin.MarlinTileGenerator byte[] int int sun.java2d.marlin.MarlinCache long[] int[] int[] int[] long[] long[] int int int jdk.internal.misc.Unsafe long top top top top top top top top int top int top top top top top top top int
StackMap stack:
iload 11
istore 26
start local 26 21: aload 8
iload 27
iaload
ifne 45
22: aload 7
iload 27
iaload
istore 36
start local 36 23: iload 36
iload 11
if_icmple 83
24: aload 6
iload 27
iaload
istore 37
start local 37 25: iload 37
iload 12
if_icmpge 83
26: iload 37
istore 26
27: iload 26
iload 11
if_icmpgt 30
28: iload 11
istore 26
29: goto 35
30: StackMap locals: sun.java2d.marlin.MarlinTileGenerator byte[] int int sun.java2d.marlin.MarlinCache long[] int[] int[] int[] long[] long[] int int int jdk.internal.misc.Unsafe long top top top top top top top top int int int top top top top top top top int int int
StackMap stack:
iload 11
istore 32
start local 32 31: goto 34
32: StackMap locals: sun.java2d.marlin.MarlinTileGenerator byte[] int int sun.java2d.marlin.MarlinCache long[] int[] int[] int[] long[] long[] int int int jdk.internal.misc.Unsafe long top top top top top top top top int int int top top top top int top top int int int
StackMap stack:
aload 1
iload 35
iinc 35 1
iconst_0
bastore
33: iinc 32 1
StackMap locals:
StackMap stack:
34: iload 32
iload 26
if_icmplt 32
end local 32 35: StackMap locals: sun.java2d.marlin.MarlinTileGenerator byte[] int int sun.java2d.marlin.MarlinCache long[] int[] int[] int[] long[] long[] int int int jdk.internal.misc.Unsafe long top top top top top top top top int int int top top top top top top top int int int
StackMap stack:
lload 15
aload 5
iload 27
laload
ladd
iload 26
iload 37
isub
i2l
ladd
lstore 17
start local 17 36: iload 36
iload 12
if_icmpgt 37
iload 36
goto 38
StackMap locals: sun.java2d.marlin.MarlinTileGenerator byte[] int int sun.java2d.marlin.MarlinCache long[] int[] int[] int[] long[] long[] int int int jdk.internal.misc.Unsafe long long top top top top top top int int int top top top top top top top int int int
StackMap stack:
37: iload 12
StackMap locals:
StackMap stack: int
38: istore 32
start local 32 39: goto 43
40: StackMap locals: sun.java2d.marlin.MarlinTileGenerator byte[] int int sun.java2d.marlin.MarlinCache long[] int[] int[] int[] long[] long[] int int int jdk.internal.misc.Unsafe long long top top top top top top int int int top top top top int top top int int int
StackMap stack:
aload 1
iload 35
iinc 35 1
aload 14
lload 17
invokevirtual jdk.internal.misc.Unsafe.getByte:(J)B
bastore
41: lload 17
lconst_1
ladd
lstore 17
42: iinc 26 1
StackMap locals:
StackMap stack:
43: iload 26
iload 32
if_icmplt 40
end local 37 end local 36 end local 32 end local 17 44: goto 83
45: StackMap locals: sun.java2d.marlin.MarlinTileGenerator byte[] int int sun.java2d.marlin.MarlinCache long[] int[] int[] int[] long[] long[] int int int jdk.internal.misc.Unsafe long top top top top top top top top int int int top top top top top top top int
StackMap stack:
aload 7
iload 27
iaload
iload 11
if_icmple 83
46: aload 6
iload 27
iaload
istore 26
47: iload 26
iload 12
if_icmple 49
48: iload 12
istore 26
49: StackMap locals:
StackMap stack:
iload 11
istore 36
start local 36 50: goto 53
51: StackMap locals: int
StackMap stack:
aload 1
iload 35
iinc 35 1
iconst_0
bastore
52: iinc 36 1
StackMap locals:
StackMap stack:
53: iload 36
iload 26
if_icmplt 51
end local 36 54: lload 15
aload 5
iload 27
laload
ladd
lstore 19
start local 19 55: lload 19
aload 9
iload 27
laload
ladd
lstore 23
start local 23 56: lload 19
aload 10
iload 27
laload
ladd
lstore 17
start local 17 57: lconst_0
lstore 21
start local 21 58: goto 76
59: StackMap locals: sun.java2d.marlin.MarlinTileGenerator byte[] int int sun.java2d.marlin.MarlinCache long[] int[] int[] int[] long[] long[] int int int jdk.internal.misc.Unsafe long long long long long int int int top top top top top top top int
StackMap stack:
lload 17
lstore 21
60: aload 14
lload 17
invokevirtual jdk.internal.misc.Unsafe.getInt:(J)I
istore 33
start local 33 61: iload 33
bipush 8
ishr
istore 28
start local 28 62: lload 17
ldc 4
ladd
lstore 17
63: iload 26
istore 29
start local 29 64: iload 29
iload 11
if_icmpge 66
65: iload 11
istore 29
66: StackMap locals: sun.java2d.marlin.MarlinTileGenerator byte[] int int sun.java2d.marlin.MarlinCache long[] int[] int[] int[] long[] long[] int int int jdk.internal.misc.Unsafe long long long long long int int int int int top top top int top int
StackMap stack:
iload 28
dup
istore 26
istore 30
start local 30 67: iload 30
iload 12
if_icmple 70
68: iload 12
istore 30
69: iload 12
istore 26
70: StackMap locals: sun.java2d.marlin.MarlinTileGenerator byte[] int int sun.java2d.marlin.MarlinCache long[] int[] int[] int[] long[] long[] int int int jdk.internal.misc.Unsafe long long long long long int int int int int int top top int top int
StackMap stack:
iload 30
iload 29
isub
istore 31
start local 31 71: iload 31
ifle 76
72: iload 33
sipush 255
iand
i2b
istore 34
start local 34 73: StackMap locals: sun.java2d.marlin.MarlinTileGenerator byte[] int int sun.java2d.marlin.MarlinCache long[] int[] int[] int[] long[] long[] int int int jdk.internal.misc.Unsafe long long long long long int int int int int int int top int int int
StackMap stack:
aload 1
iload 35
iinc 35 1
iload 34
bastore
74: iinc 31 -1
iload 31
75: ifgt 73
end local 34 end local 33 end local 31 end local 30 end local 29 end local 28 76: StackMap locals: sun.java2d.marlin.MarlinTileGenerator byte[] int int sun.java2d.marlin.MarlinCache long[] int[] int[] int[] long[] long[] int int int jdk.internal.misc.Unsafe long long long long long int int int top top top top top top top int
StackMap stack:
iload 26
iload 12
if_icmpge 77
lload 17
lload 23
lcmp
iflt 59
77: StackMap locals:
StackMap stack:
lload 21
lconst_0
lcmp
ifeq 83
78: aload 6
iload 27
iload 26
iastore
79: aload 10
iload 27
lload 21
lload 19
lsub
lastore
end local 23 end local 21 end local 19 end local 17 80: goto 83
81: StackMap locals: sun.java2d.marlin.MarlinTileGenerator byte[] int int sun.java2d.marlin.MarlinCache long[] int[] int[] int[] long[] long[] int int int jdk.internal.misc.Unsafe long top top top top top top top top int int int top top top top top top top int
StackMap stack:
aload 1
iload 35
iinc 35 1
iconst_0
bastore
82: iinc 26 1
83: StackMap locals:
StackMap stack:
iload 26
iload 12
if_icmplt 81
84: getstatic sun.java2d.marlin.MarlinTileGenerator.DO_TRACE:Z
ifeq 91
85: iload 35
iload 12
iload 11
isub
isub
istore 36
start local 36 86: goto 89
87: StackMap locals: int
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
aload 1
iload 36
baload
iconst_2
invokestatic sun.java2d.marlin.MarlinTileGenerator.hex:(II)Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
88: iinc 36 1
StackMap locals:
StackMap stack:
89: iload 36
iload 35
if_icmplt 87
end local 36 90: getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
91: StackMap locals:
StackMap stack:
iload 35
iload 25
iadd
istore 35
92: iinc 27 1
end local 26 StackMap locals: sun.java2d.marlin.MarlinTileGenerator byte[] int int sun.java2d.marlin.MarlinCache long[] int[] int[] int[] long[] long[] int int int jdk.internal.misc.Unsafe long top top top top top top top top int top int top top top top top top top int
StackMap stack:
93: iload 27
iload 13
if_icmplt 20
94: aload 0
invokevirtual sun.java2d.marlin.MarlinTileGenerator.nextTile:()V
95: return
end local 35 end local 27 end local 25 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 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 96 0 this Lsun/java2d/marlin/MarlinTileGenerator;
0 96 1 tile [B
0 96 2 offset I
0 96 3 rowstride I
1 96 4 _cache Lsun/java2d/marlin/MarlinCache;
2 96 5 rowAAChunkIndex [J
3 96 6 rowAAx0 [I
4 96 7 rowAAx1 [I
5 96 8 rowAAEnc [I
6 96 9 rowAALen [J
7 96 10 rowAAPos [J
8 96 11 x0 I
9 96 12 x1 I
10 96 13 y1 I
15 96 14 _unsafe Ljdk/internal/misc/Unsafe;
16 96 15 addr_rowAA J
36 44 17 addr J
57 80 17 addr J
55 80 19 addr_row J
58 80 21 last_addr J
56 80 23 addr_end J
17 96 25 skipRowPixels I
21 93 26 cx I
19 96 27 cy I
62 76 28 cx1 I
64 76 29 rx0 I
67 76 30 rx1 I
71 76 31 runLen I
31 35 32 end I
39 44 32 end I
61 76 33 packed I
73 76 34 val B
18 96 35 idx I
23 44 36 aax1 I
25 44 37 aax0 I
50 54 36 i I
86 90 36 i I
MethodParameters:
Name Flags
tile final
offset final
rowstride final
static java.lang.String hex(int, int);
descriptor: (II)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: iload 0
invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
astore 2
start local 2 1: goto 3
2: StackMap locals: java.lang.String
StackMap stack:
new java.lang.StringBuilder
dup
ldc "0"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
3: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.lang.String.length:()I
iload 1
if_icmplt 2
4: aload 2
iconst_0
iload 1
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 v I
0 5 1 d I
1 5 2 s Ljava/lang/String;
MethodParameters:
Name Flags
v
d
}
SourceFile: "MarlinTileGenerator.java"