public class com.sun.prism.impl.GlyphCache
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.prism.impl.GlyphCache
super_class: java.lang.Object
{
private static final int WIDTH;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int HEIGHT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static java.nio.ByteBuffer emptyMask;
descriptor: Ljava/nio/ByteBuffer;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private final com.sun.prism.impl.BaseContext context;
descriptor: Lcom/sun/prism/impl/BaseContext;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.sun.javafx.font.FontStrike strike;
descriptor: Lcom/sun/javafx/font/FontStrike;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static final int SEGSHIFT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 5
private static final int SEGSIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 32
java.util.HashMap<java.lang.Integer, com.sun.prism.impl.GlyphCache$GlyphData[]> glyphDataMap;
descriptor: Ljava/util/HashMap;
flags: (0x0000)
Signature: Ljava/util/HashMap<Ljava/lang/Integer;[Lcom/sun/prism/impl/GlyphCache$GlyphData;>;
private static final int SUBPIXEL_SHIFT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 27
private com.sun.prism.impl.packrect.RectanglePacker packer;
descriptor: Lcom/sun/prism/impl/packrect/RectanglePacker;
flags: (0x0002) ACC_PRIVATE
private boolean isLCDCache;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
static java.util.WeakHashMap<com.sun.prism.impl.BaseContext, com.sun.prism.impl.packrect.RectanglePacker> greyPackerMap;
descriptor: Ljava/util/WeakHashMap;
flags: (0x0008) ACC_STATIC
Signature: Ljava/util/WeakHashMap<Lcom/sun/prism/impl/BaseContext;Lcom/sun/prism/impl/packrect/RectanglePacker;>;
static java.util.WeakHashMap<com.sun.prism.impl.BaseContext, com.sun.prism.impl.packrect.RectanglePacker> lcdPackerMap;
descriptor: Ljava/util/WeakHashMap;
flags: (0x0008) ACC_STATIC
Signature: Ljava/util/WeakHashMap<Lcom/sun/prism/impl/BaseContext;Lcom/sun/prism/impl/packrect/RectanglePacker;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: getstatic com.sun.prism.impl.PrismSettings.glyphCacheWidth:I
putstatic com.sun.prism.impl.GlyphCache.WIDTH:I
1: getstatic com.sun.prism.impl.PrismSettings.glyphCacheHeight:I
putstatic com.sun.prism.impl.GlyphCache.HEIGHT:I
2: new java.util.WeakHashMap
dup
invokespecial java.util.WeakHashMap.<init>:()V
3: putstatic com.sun.prism.impl.GlyphCache.greyPackerMap:Ljava/util/WeakHashMap;
4: new java.util.WeakHashMap
dup
invokespecial java.util.WeakHashMap.<init>:()V
5: putstatic com.sun.prism.impl.GlyphCache.lcdPackerMap:Ljava/util/WeakHashMap;
6: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(com.sun.prism.impl.BaseContext, com.sun.javafx.font.FontStrike);
descriptor: (Lcom/sun/prism/impl/BaseContext;Lcom/sun/javafx/font/FontStrike;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield com.sun.prism.impl.GlyphCache.glyphDataMap:Ljava/util/HashMap;
2: aload 0
aload 1
putfield com.sun.prism.impl.GlyphCache.context:Lcom/sun/prism/impl/BaseContext;
3: aload 0
aload 2
putfield com.sun.prism.impl.GlyphCache.strike:Lcom/sun/javafx/font/FontStrike;
4: aload 0
aload 2
invokeinterface com.sun.javafx.font.FontStrike.getAAMode:()I
iconst_1
if_icmpne 5
iconst_1
goto 6
StackMap locals: com.sun.prism.impl.GlyphCache com.sun.prism.impl.BaseContext com.sun.javafx.font.FontStrike
StackMap stack: com.sun.prism.impl.GlyphCache
5: iconst_0
StackMap locals: com.sun.prism.impl.GlyphCache com.sun.prism.impl.BaseContext com.sun.javafx.font.FontStrike
StackMap stack: com.sun.prism.impl.GlyphCache int
6: putfield com.sun.prism.impl.GlyphCache.isLCDCache:Z
7: aload 0
getfield com.sun.prism.impl.GlyphCache.isLCDCache:Z
ifeq 8
getstatic com.sun.prism.impl.GlyphCache.lcdPackerMap:Ljava/util/WeakHashMap;
goto 9
StackMap locals:
StackMap stack:
8: getstatic com.sun.prism.impl.GlyphCache.greyPackerMap:Ljava/util/WeakHashMap;
StackMap locals:
StackMap stack: java.util.WeakHashMap
9: astore 3
start local 3 10: aload 0
aload 3
aload 1
invokevirtual java.util.WeakHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.prism.impl.packrect.RectanglePacker
putfield com.sun.prism.impl.GlyphCache.packer:Lcom/sun/prism/impl/packrect/RectanglePacker;
11: aload 0
getfield com.sun.prism.impl.GlyphCache.packer:Lcom/sun/prism/impl/packrect/RectanglePacker;
ifnonnull 23
12: aload 1
invokevirtual com.sun.prism.impl.BaseContext.getResourceFactory:()Lcom/sun/prism/ResourceFactory;
astore 4
start local 4 13: aload 4
getstatic com.sun.prism.impl.GlyphCache.WIDTH:I
getstatic com.sun.prism.impl.GlyphCache.HEIGHT:I
14: getstatic com.sun.prism.Texture$WrapMode.CLAMP_NOT_NEEDED:Lcom/sun/prism/Texture$WrapMode;
15: invokeinterface com.sun.prism.ResourceFactory.createMaskTexture:(IILcom/sun/prism/Texture$WrapMode;)Lcom/sun/prism/Texture;
astore 5
start local 5 16: aload 5
invokeinterface com.sun.prism.Texture.contentsUseful:()V
17: aload 5
invokeinterface com.sun.prism.Texture.makePermanent:()V
18: aload 0
getfield com.sun.prism.impl.GlyphCache.isLCDCache:Z
ifne 20
19: aload 4
aload 5
invokeinterface com.sun.prism.ResourceFactory.setGlyphTexture:(Lcom/sun/prism/Texture;)V
20: StackMap locals: java.util.WeakHashMap com.sun.prism.ResourceFactory com.sun.prism.Texture
StackMap stack:
aload 5
iconst_0
invokeinterface com.sun.prism.Texture.setLinearFiltering:(Z)V
21: aload 0
new com.sun.prism.impl.packrect.RectanglePacker
dup
aload 5
getstatic com.sun.prism.impl.GlyphCache.WIDTH:I
getstatic com.sun.prism.impl.GlyphCache.HEIGHT:I
invokespecial com.sun.prism.impl.packrect.RectanglePacker.<init>:(Lcom/sun/prism/Texture;II)V
putfield com.sun.prism.impl.GlyphCache.packer:Lcom/sun/prism/impl/packrect/RectanglePacker;
22: aload 3
aload 1
aload 0
getfield com.sun.prism.impl.GlyphCache.packer:Lcom/sun/prism/impl/packrect/RectanglePacker;
invokevirtual java.util.WeakHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 5 end local 4 23: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lcom/sun/prism/impl/GlyphCache;
0 24 1 context Lcom/sun/prism/impl/BaseContext;
0 24 2 strike Lcom/sun/javafx/font/FontStrike;
10 24 3 packerMap Ljava/util/WeakHashMap<Lcom/sun/prism/impl/BaseContext;Lcom/sun/prism/impl/packrect/RectanglePacker;>;
13 23 4 factory Lcom/sun/prism/ResourceFactory;
16 23 5 tex Lcom/sun/prism/Texture;
MethodParameters:
Name Flags
context
strike
public void render(com.sun.prism.impl.BaseContext, com.sun.javafx.scene.text.GlyphList, float, float, int, int, com.sun.prism.paint.Color, com.sun.prism.paint.Color, com.sun.javafx.geom.transform.BaseTransform, com.sun.javafx.geom.BaseBounds);
descriptor: (Lcom/sun/prism/impl/BaseContext;Lcom/sun/javafx/scene/text/GlyphList;FFIILcom/sun/prism/paint/Color;Lcom/sun/prism/paint/Color;Lcom/sun/javafx/geom/transform/BaseTransform;Lcom/sun/javafx/geom/BaseBounds;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=23, args_size=11
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 start local 10 0: aload 0
getfield com.sun.prism.impl.GlyphCache.isLCDCache:Z
ifeq 4
1: aload 1
invokevirtual com.sun.prism.impl.BaseContext.getLCDBuffer:()Lcom/sun/prism/RTTexture;
invokeinterface com.sun.prism.RTTexture.getPhysicalWidth:()I
istore 11
start local 11 2: aload 1
invokevirtual com.sun.prism.impl.BaseContext.getLCDBuffer:()Lcom/sun/prism/RTTexture;
invokeinterface com.sun.prism.RTTexture.getPhysicalHeight:()I
istore 12
start local 12 3: goto 6
end local 12 end local 11 4: StackMap locals:
StackMap stack:
iconst_1
istore 11
start local 11 5: iconst_1
istore 12
start local 12 6: StackMap locals: int int
StackMap stack:
aload 0
invokevirtual com.sun.prism.impl.GlyphCache.getBackingStore:()Lcom/sun/prism/Texture;
astore 13
start local 13 7: aload 1
invokevirtual com.sun.prism.impl.BaseContext.getVertexBuffer:()Lcom/sun/prism/impl/VertexBuffer;
astore 14
start local 14 8: aload 2
invokeinterface com.sun.javafx.scene.text.GlyphList.getGlyphCount:()I
istore 15
start local 15 9: aconst_null
astore 16
start local 16 10: new com.sun.javafx.geom.Point2D
dup
invokespecial com.sun.javafx.geom.Point2D.<init>:()V
astore 17
start local 17 11: iconst_0
istore 18
start local 18 12: goto 36
13: StackMap locals: com.sun.prism.impl.GlyphCache com.sun.prism.impl.BaseContext com.sun.javafx.scene.text.GlyphList float float int int com.sun.prism.paint.Color com.sun.prism.paint.Color com.sun.javafx.geom.transform.BaseTransform com.sun.javafx.geom.BaseBounds int int com.sun.prism.Texture com.sun.prism.impl.VertexBuffer int com.sun.prism.paint.Color com.sun.javafx.geom.Point2D int
StackMap stack:
aload 2
iload 18
invokeinterface com.sun.javafx.scene.text.GlyphList.getGlyphCode:(I)I
istore 19
start local 19 14: iload 19
ldc 16777215
iand
ldc 65535
if_icmpne 16
15: goto 35
16: StackMap locals: int
StackMap stack:
aload 17
fload 3
aload 2
iload 18
invokeinterface com.sun.javafx.scene.text.GlyphList.getPosX:(I)F
fadd
fload 4
aload 2
iload 18
invokeinterface com.sun.javafx.scene.text.GlyphList.getPosY:(I)F
fadd
invokevirtual com.sun.javafx.geom.Point2D.setLocation:(FF)V
17: aload 9
aload 17
aload 17
invokevirtual com.sun.javafx.geom.transform.BaseTransform.transform:(Lcom/sun/javafx/geom/Point2D;Lcom/sun/javafx/geom/Point2D;)Lcom/sun/javafx/geom/Point2D;
pop
18: aload 0
getfield com.sun.prism.impl.GlyphCache.strike:Lcom/sun/javafx/font/FontStrike;
aload 17
invokeinterface com.sun.javafx.font.FontStrike.getQuantizedPosition:(Lcom/sun/javafx/geom/Point2D;)I
istore 20
start local 20 19: aload 0
iload 19
iload 20
invokevirtual com.sun.prism.impl.GlyphCache.getCachedGlyph:(II)Lcom/sun/prism/impl/GlyphCache$GlyphData;
astore 21
start local 21 20: aload 21
ifnull 35
21: aload 10
ifnull 24
22: fload 3
aload 2
iload 18
invokeinterface com.sun.javafx.scene.text.GlyphList.getPosX:(I)F
fadd
aload 10
invokevirtual com.sun.javafx.geom.BaseBounds.getMaxX:()F
fcmpl
ifle 23
goto 37
23: StackMap locals: int com.sun.prism.impl.GlyphCache$GlyphData
StackMap stack:
fload 3
aload 2
iload 18
iconst_1
iadd
invokeinterface com.sun.javafx.scene.text.GlyphList.getPosX:(I)F
fadd
aload 10
invokevirtual com.sun.javafx.geom.BaseBounds.getMinX:()F
fcmpg
ifge 24
goto 35
24: StackMap locals:
StackMap stack:
aload 7
ifnull 34
aload 8
ifnull 34
25: aload 2
iload 18
invokeinterface com.sun.javafx.scene.text.GlyphList.getCharOffset:(I)I
istore 22
start local 22 26: iload 5
iload 22
if_icmpgt 31
iload 22
iload 6
if_icmpge 31
27: aload 7
aload 16
if_acmpeq 34
28: aload 14
aload 7
fconst_1
invokevirtual com.sun.prism.impl.VertexBuffer.setPerVertexColor:(Lcom/sun/prism/paint/Color;F)V
29: aload 7
astore 16
30: goto 34
31: StackMap locals: int
StackMap stack:
aload 8
aload 16
if_acmpeq 34
32: aload 14
aload 8
fconst_1
invokevirtual com.sun.prism.impl.VertexBuffer.setPerVertexColor:(Lcom/sun/prism/paint/Color;F)V
33: aload 8
astore 16
end local 22 34: StackMap locals:
StackMap stack:
aload 0
aload 21
aload 14
aload 13
aload 17
getfield com.sun.javafx.geom.Point2D.x:F
aload 17
getfield com.sun.javafx.geom.Point2D.y:F
iload 11
i2f
iload 12
i2f
invokevirtual com.sun.prism.impl.GlyphCache.addDataToQuad:(Lcom/sun/prism/impl/GlyphCache$GlyphData;Lcom/sun/prism/impl/VertexBuffer;Lcom/sun/prism/Texture;FFFF)V
end local 21 end local 20 end local 19 35: StackMap locals:
StackMap stack:
iinc 18 1
StackMap locals:
StackMap stack:
36: iload 18
iload 15
if_icmplt 13
end local 18 37: StackMap locals:
StackMap stack:
return
end local 17 end local 16 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 38 0 this Lcom/sun/prism/impl/GlyphCache;
0 38 1 ctx Lcom/sun/prism/impl/BaseContext;
0 38 2 gl Lcom/sun/javafx/scene/text/GlyphList;
0 38 3 x F
0 38 4 y F
0 38 5 start I
0 38 6 end I
0 38 7 rangeColor Lcom/sun/prism/paint/Color;
0 38 8 textColor Lcom/sun/prism/paint/Color;
0 38 9 xform Lcom/sun/javafx/geom/transform/BaseTransform;
0 38 10 clip Lcom/sun/javafx/geom/BaseBounds;
2 4 11 dstw I
5 38 11 dstw I
3 4 12 dsth I
6 38 12 dsth I
7 38 13 tex Lcom/sun/prism/Texture;
8 38 14 vb Lcom/sun/prism/impl/VertexBuffer;
9 38 15 len I
10 38 16 currentColor Lcom/sun/prism/paint/Color;
11 38 17 pt Lcom/sun/javafx/geom/Point2D;
12 37 18 gi I
14 35 19 gc I
19 35 20 subPixel I
20 35 21 data Lcom/sun/prism/impl/GlyphCache$GlyphData;
26 34 22 offset I
MethodParameters:
Name Flags
ctx
gl
x
y
start
end
rangeColor
textColor
xform
clip
private void addDataToQuad(com.sun.prism.impl.GlyphCache$GlyphData, com.sun.prism.impl.VertexBuffer, com.sun.prism.Texture, float, float, float, float);
descriptor: (Lcom/sun/prism/impl/GlyphCache$GlyphData;Lcom/sun/prism/impl/VertexBuffer;Lcom/sun/prism/Texture;FFFF)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=13, locals=26, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: fload 5
invokestatic java.lang.Math.round:(F)I
i2f
fstore 5
1: aload 1
invokevirtual com.sun.prism.impl.GlyphCache$GlyphData.getRect:()Lcom/sun/javafx/geom/Rectangle;
astore 8
start local 8 2: aload 8
ifnonnull 4
3: return
4: StackMap locals: com.sun.javafx.geom.Rectangle
StackMap stack:
aload 1
invokevirtual com.sun.prism.impl.GlyphCache$GlyphData.getBlankBoundary:()I
istore 9
start local 9 5: aload 8
getfield com.sun.javafx.geom.Rectangle.width:I
iload 9
iconst_2
imul
isub
i2f
fstore 10
start local 10 6: aload 8
getfield com.sun.javafx.geom.Rectangle.height:I
iload 9
iconst_2
imul
isub
i2f
fstore 11
start local 11 7: aload 1
invokevirtual com.sun.prism.impl.GlyphCache$GlyphData.getOriginX:()I
i2f
fload 4
fadd
fstore 12
start local 12 8: aload 1
invokevirtual com.sun.prism.impl.GlyphCache$GlyphData.getOriginY:()I
i2f
fload 5
fadd
fstore 13
start local 13 9: fload 13
fload 11
fadd
fstore 15
start local 15 10: aload 3
invokeinterface com.sun.prism.Texture.getPhysicalWidth:()I
i2f
fstore 16
start local 16 11: aload 3
invokeinterface com.sun.prism.Texture.getPhysicalHeight:()I
i2f
fstore 17
start local 17 12: aload 8
getfield com.sun.javafx.geom.Rectangle.x:I
iload 9
iadd
i2f
fload 16
fdiv
fstore 18
start local 18 13: aload 8
getfield com.sun.javafx.geom.Rectangle.y:I
iload 9
iadd
i2f
fload 17
fdiv
fstore 19
start local 19 14: fload 18
fload 10
fload 16
fdiv
fadd
fstore 20
start local 20 15: fload 19
fload 11
fload 17
fdiv
fadd
fstore 21
start local 21 16: aload 0
getfield com.sun.prism.impl.GlyphCache.isLCDCache:Z
ifeq 25
17: fload 12
ldc 3.0
fmul
invokestatic java.lang.Math.round:(F)I
i2f
ldc 3.0
fdiv
fstore 12
18: fload 12
fload 10
ldc 3.0
fdiv
fadd
fstore 14
start local 14 19: fload 12
fload 6
fdiv
fstore 22
start local 22 20: fload 14
fload 6
fdiv
fstore 23
start local 23 21: fload 13
fload 7
fdiv
fstore 24
start local 24 22: fload 15
fload 7
fdiv
fstore 25
start local 25 23: aload 2
fload 12
fload 13
fload 14
fload 15
fload 18
fload 19
fload 20
fload 21
fload 22
fload 24
fload 23
fload 25
invokevirtual com.sun.prism.impl.VertexBuffer.addQuad:(FFFFFFFFFFFF)V
end local 25 end local 24 end local 23 end local 22 24: goto 31
end local 14 25: StackMap locals: com.sun.prism.impl.GlyphCache com.sun.prism.impl.GlyphCache$GlyphData com.sun.prism.impl.VertexBuffer com.sun.prism.Texture float float float float com.sun.javafx.geom.Rectangle int float float float float top float float float float float float float
StackMap stack:
fload 12
invokestatic java.lang.Math.round:(F)I
i2f
fstore 12
26: fload 12
fload 10
fadd
fstore 14
start local 14 27: aload 0
getfield com.sun.prism.impl.GlyphCache.context:Lcom/sun/prism/impl/BaseContext;
invokevirtual com.sun.prism.impl.BaseContext.isSuperShaderEnabled:()Z
ifeq 30
28: aload 2
fload 12
fload 13
fload 14
fload 15
fload 18
fload 19
fload 20
fload 21
iconst_1
invokevirtual com.sun.prism.impl.VertexBuffer.addSuperQuad:(FFFFFFFFZ)V
29: goto 31
30: StackMap locals: com.sun.prism.impl.GlyphCache com.sun.prism.impl.GlyphCache$GlyphData com.sun.prism.impl.VertexBuffer com.sun.prism.Texture float float float float com.sun.javafx.geom.Rectangle int float float float float float float float float float float float float
StackMap stack:
aload 2
fload 12
fload 13
fload 14
fload 15
fload 18
fload 19
fload 20
fload 21
invokevirtual com.sun.prism.impl.VertexBuffer.addQuad:(FFFFFFFF)V
31: StackMap locals:
StackMap stack:
return
end local 21 end local 20 end local 19 end local 18 end local 17 end local 16 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 32 0 this Lcom/sun/prism/impl/GlyphCache;
0 32 1 data Lcom/sun/prism/impl/GlyphCache$GlyphData;
0 32 2 vb Lcom/sun/prism/impl/VertexBuffer;
0 32 3 tex Lcom/sun/prism/Texture;
0 32 4 x F
0 32 5 y F
0 32 6 dstw F
0 32 7 dsth F
2 32 8 rect Lcom/sun/javafx/geom/Rectangle;
5 32 9 border I
6 32 10 gw F
7 32 11 gh F
8 32 12 dx1 F
9 32 13 dy1 F
19 25 14 dx2 F
27 32 14 dx2 F
10 32 15 dy2 F
11 32 16 tw F
12 32 17 th F
13 32 18 tx1 F
14 32 19 ty1 F
15 32 20 tx2 F
16 32 21 ty2 F
20 24 22 t2x1 F
21 24 23 t2x2 F
22 24 24 t2y1 F
23 24 25 t2y2 F
MethodParameters:
Name Flags
data
vb
tex
x
y
dstw
dsth
public com.sun.prism.Texture getBackingStore();
descriptor: ()Lcom/sun/prism/Texture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.prism.impl.GlyphCache.packer:Lcom/sun/prism/impl/packrect/RectanglePacker;
invokevirtual com.sun.prism.impl.packrect.RectanglePacker.getBackingStore:()Lcom/sun/prism/Texture;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/prism/impl/GlyphCache;
public void clear();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.prism.impl.GlyphCache.glyphDataMap:Ljava/util/HashMap;
invokevirtual java.util.HashMap.clear:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/prism/impl/GlyphCache;
private void clearAll();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.prism.impl.GlyphCache.context:Lcom/sun/prism/impl/BaseContext;
invokevirtual com.sun.prism.impl.BaseContext.flushVertexBuffer:()V
1: aload 0
getfield com.sun.prism.impl.GlyphCache.context:Lcom/sun/prism/impl/BaseContext;
invokevirtual com.sun.prism.impl.BaseContext.clearGlyphCaches:()V
2: aload 0
getfield com.sun.prism.impl.GlyphCache.packer:Lcom/sun/prism/impl/packrect/RectanglePacker;
invokevirtual com.sun.prism.impl.packrect.RectanglePacker.clear:()V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/prism/impl/GlyphCache;
private com.sun.prism.impl.GlyphCache$GlyphData getCachedGlyph(int, int);
descriptor: (II)Lcom/sun/prism/impl/GlyphCache$GlyphData;
flags: (0x0002) ACC_PRIVATE
Code:
stack=11, locals=24, args_size=3
start local 0 start local 1 start local 2 0: iload 1
iconst_5
ishr
istore 3
start local 3 1: iload 1
bipush 32
irem
istore 4
start local 4 2: iload 3
iload 2
bipush 27
ishl
ior
istore 3
3: aload 0
getfield com.sun.prism.impl.GlyphCache.glyphDataMap:Ljava/util/HashMap;
iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.prism.impl.GlyphCache$GlyphData[]
astore 5
start local 5 4: aload 5
ifnull 7
5: aload 5
iload 4
aaload
ifnull 9
6: aload 5
iload 4
aaload
areturn
7: StackMap locals: int int com.sun.prism.impl.GlyphCache$GlyphData[]
StackMap stack:
bipush 32
anewarray com.sun.prism.impl.GlyphCache$GlyphData
astore 5
8: aload 0
getfield com.sun.prism.impl.GlyphCache.glyphDataMap:Ljava/util/HashMap;
iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 5
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
9: StackMap locals:
StackMap stack:
aconst_null
astore 6
start local 6 10: aload 0
getfield com.sun.prism.impl.GlyphCache.strike:Lcom/sun/javafx/font/FontStrike;
iload 1
invokeinterface com.sun.javafx.font.FontStrike.getGlyph:(I)Lcom/sun/javafx/font/Glyph;
astore 7
start local 7 11: aload 7
ifnull 67
12: aload 7
iload 2
invokeinterface com.sun.javafx.font.Glyph.getPixelData:(I)[B
astore 8
start local 8 13: aload 8
ifnull 14
aload 8
arraylength
ifne 20
14: StackMap locals: com.sun.prism.impl.GlyphCache$GlyphData com.sun.javafx.font.Glyph byte[]
StackMap stack:
new com.sun.prism.impl.GlyphCache$GlyphData
dup
iconst_0
iconst_0
iconst_0
15: aload 7
invokeinterface com.sun.javafx.font.Glyph.getPixelXAdvance:()F
16: aload 7
invokeinterface com.sun.javafx.font.Glyph.getPixelYAdvance:()F
17: aconst_null
18: invokespecial com.sun.prism.impl.GlyphCache$GlyphData.<init>:(IIIFFLcom/sun/javafx/geom/Rectangle;)V
astore 6
19: goto 66
20: StackMap locals:
StackMap stack:
aload 8
21: aload 7
invokeinterface com.sun.javafx.font.Glyph.getOriginX:()I
22: aload 7
invokeinterface com.sun.javafx.font.Glyph.getOriginY:()I
23: aload 7
invokeinterface com.sun.javafx.font.Glyph.getWidth:()I
24: aload 7
invokeinterface com.sun.javafx.font.Glyph.getHeight:()I
25: invokestatic com.sun.prism.impl.shape.MaskData.create:([BIIII)Lcom/sun/prism/impl/shape/MaskData;
astore 9
start local 9 26: iconst_1
istore 10
start local 10 27: aload 9
invokevirtual com.sun.prism.impl.shape.MaskData.getWidth:()I
iconst_2
iload 10
imul
iadd
istore 11
start local 11 28: aload 9
invokevirtual com.sun.prism.impl.shape.MaskData.getHeight:()I
iconst_2
iload 10
imul
iadd
istore 12
start local 12 29: aload 9
invokevirtual com.sun.prism.impl.shape.MaskData.getOriginX:()I
istore 13
start local 13 30: aload 9
invokevirtual com.sun.prism.impl.shape.MaskData.getOriginY:()I
istore 14
start local 14 31: new com.sun.javafx.geom.Rectangle
dup
iconst_0
iconst_0
iload 11
iload 12
invokespecial com.sun.javafx.geom.Rectangle.<init>:(IIII)V
astore 15
start local 15 32: new com.sun.prism.impl.GlyphCache$GlyphData
dup
iload 13
iload 14
iload 10
33: aload 7
invokeinterface com.sun.javafx.font.Glyph.getPixelXAdvance:()F
34: aload 7
invokeinterface com.sun.javafx.font.Glyph.getPixelYAdvance:()F
35: aload 15
36: invokespecial com.sun.prism.impl.GlyphCache$GlyphData.<init>:(IIIFFLcom/sun/javafx/geom/Rectangle;)V
astore 6
37: aload 0
getfield com.sun.prism.impl.GlyphCache.packer:Lcom/sun/prism/impl/packrect/RectanglePacker;
aload 15
invokevirtual com.sun.prism.impl.packrect.RectanglePacker.add:(Lcom/sun/javafx/geom/Rectangle;)Z
ifne 42
38: getstatic com.sun.javafx.logging.PulseLogger.PULSE_LOGGING_ENABLED:Z
ifeq 40
39: ldc "Font Glyph Cache Cleared"
invokestatic com.sun.javafx.logging.PulseLogger.incrementCounter:(Ljava/lang/String;)V
40: StackMap locals: com.sun.prism.impl.GlyphCache int int int int com.sun.prism.impl.GlyphCache$GlyphData[] com.sun.prism.impl.GlyphCache$GlyphData com.sun.javafx.font.Glyph byte[] com.sun.prism.impl.shape.MaskData int int int int int com.sun.javafx.geom.Rectangle
StackMap stack:
aload 0
invokevirtual com.sun.prism.impl.GlyphCache.clearAll:()V
41: aload 0
getfield com.sun.prism.impl.GlyphCache.packer:Lcom/sun/prism/impl/packrect/RectanglePacker;
aload 15
invokevirtual com.sun.prism.impl.packrect.RectanglePacker.add:(Lcom/sun/javafx/geom/Rectangle;)Z
pop
42: StackMap locals:
StackMap stack:
iconst_1
istore 16
start local 16 43: aload 0
invokevirtual com.sun.prism.impl.GlyphCache.getBackingStore:()Lcom/sun/prism/Texture;
astore 17
start local 17 44: aload 15
getfield com.sun.javafx.geom.Rectangle.width:I
istore 18
start local 18 45: aload 15
getfield com.sun.javafx.geom.Rectangle.height:I
istore 19
start local 19 46: aload 17
invokeinterface com.sun.prism.Texture.getPixelFormat:()Lcom/sun/prism/PixelFormat;
invokevirtual com.sun.prism.PixelFormat.getBytesPerPixelUnit:()I
istore 20
start local 20 47: iload 18
iload 20
imul
istore 21
start local 21 48: iload 21
iload 19
imul
istore 22
start local 22 49: getstatic com.sun.prism.impl.GlyphCache.emptyMask:Ljava/nio/ByteBuffer;
ifnull 50
iload 22
getstatic com.sun.prism.impl.GlyphCache.emptyMask:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.capacity:()I
if_icmple 51
50: StackMap locals: com.sun.prism.impl.GlyphCache int int int int com.sun.prism.impl.GlyphCache$GlyphData[] com.sun.prism.impl.GlyphCache$GlyphData com.sun.javafx.font.Glyph byte[] com.sun.prism.impl.shape.MaskData int int int int int com.sun.javafx.geom.Rectangle int com.sun.prism.Texture int int int int int
StackMap stack:
iload 22
invokestatic com.sun.prism.impl.BufferUtil.newByteBuffer:(I)Ljava/nio/ByteBuffer;
putstatic com.sun.prism.impl.GlyphCache.emptyMask:Ljava/nio/ByteBuffer;
51: StackMap locals:
StackMap stack:
aload 17
getstatic com.sun.prism.impl.GlyphCache.emptyMask:Ljava/nio/ByteBuffer;
52: aload 17
invokeinterface com.sun.prism.Texture.getPixelFormat:()Lcom/sun/prism/PixelFormat;
53: aload 15
getfield com.sun.javafx.geom.Rectangle.x:I
aload 15
getfield com.sun.javafx.geom.Rectangle.y:I
54: iconst_0
iconst_0
iload 18
iload 19
iload 21
55: iload 16
56: invokeinterface com.sun.prism.Texture.update:(Ljava/nio/Buffer;Lcom/sun/prism/PixelFormat;IIIIIIIZ)V
57: goto 61
StackMap locals:
StackMap stack: java.lang.Exception
58: astore 23
start local 23 59: aload 23
invokevirtual java.lang.Exception.printStackTrace:()V
60: aconst_null
areturn
end local 23 61: StackMap locals:
StackMap stack:
aload 9
aload 17
62: iload 10
aload 15
getfield com.sun.javafx.geom.Rectangle.x:I
iadd
63: iload 10
aload 15
getfield com.sun.javafx.geom.Rectangle.y:I
iadd
64: iload 16
65: invokevirtual com.sun.prism.impl.shape.MaskData.uploadToTexture:(Lcom/sun/prism/Texture;IIZ)V
end local 22 end local 21 end local 20 end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 66: StackMap locals: com.sun.prism.impl.GlyphCache int int int int com.sun.prism.impl.GlyphCache$GlyphData[] com.sun.prism.impl.GlyphCache$GlyphData com.sun.javafx.font.Glyph byte[]
StackMap stack:
aload 5
iload 4
aload 6
aastore
end local 8 67: StackMap locals:
StackMap stack:
aload 6
areturn
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 68 0 this Lcom/sun/prism/impl/GlyphCache;
0 68 1 glyphCode I
0 68 2 subPixel I
1 68 3 segIndex I
2 68 4 subIndex I
4 68 5 segment [Lcom/sun/prism/impl/GlyphCache$GlyphData;
10 68 6 data Lcom/sun/prism/impl/GlyphCache$GlyphData;
11 68 7 glyph Lcom/sun/javafx/font/Glyph;
13 67 8 glyphImage [B
26 66 9 maskData Lcom/sun/prism/impl/shape/MaskData;
27 66 10 border I
28 66 11 rectW I
29 66 12 rectH I
30 66 13 originX I
31 66 14 originY I
32 66 15 rect Lcom/sun/javafx/geom/Rectangle;
43 66 16 skipFlush Z
44 66 17 backingStore Lcom/sun/prism/Texture;
45 66 18 emw I
46 66 19 emh I
47 66 20 bpp I
48 66 21 stride I
49 66 22 size I
59 61 23 e Ljava/lang/Exception;
Exception table:
from to target type
51 57 58 Class java.lang.Exception
MethodParameters:
Name Flags
glyphCode
subPixel
}
SourceFile: "GlyphCache.java"
NestMembers:
com.sun.prism.impl.GlyphCache$GlyphData
InnerClasses:
public final WrapMode = com.sun.prism.Texture$WrapMode of com.sun.prism.Texture
GlyphData = com.sun.prism.impl.GlyphCache$GlyphData of com.sun.prism.impl.GlyphCache