public abstract class sun.swing.CachedPainter
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: sun.swing.CachedPainter
super_class: java.lang.Object
{
private static final java.util.Map<java.lang.Object, sun.swing.ImageCache> cacheMap;
descriptor: Ljava/util/Map;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/Object;Lsun/swing/ImageCache;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putstatic sun.swing.CachedPainter.cacheMap:Ljava/util/Map;
return
LocalVariableTable:
Start End Slot Name Signature
private static sun.swing.ImageCache getCache(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lsun/swing/ImageCache;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: ldc Lsun/swing/CachedPainter;
dup
astore 1
monitorenter
1: getstatic sun.swing.CachedPainter.cacheMap:Ljava/util/Map;
aload 0
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.swing.ImageCache
astore 2
start local 2 2: aload 2
ifnonnull 8
3: aload 0
ldc Lsun/swing/CachedPainter$PainterMultiResolutionCachedImage;
if_acmpne 6
4: new sun.swing.ImageCache
dup
bipush 32
invokespecial sun.swing.ImageCache.<init>:(I)V
astore 2
5: goto 7
6: StackMap locals: java.lang.Class sun.swing.ImageCache
StackMap stack:
new sun.swing.ImageCache
dup
iconst_1
invokespecial sun.swing.ImageCache.<init>:(I)V
astore 2
7: StackMap locals:
StackMap stack:
getstatic sun.swing.CachedPainter.cacheMap:Ljava/util/Map;
aload 0
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
8: StackMap locals:
StackMap stack:
aload 2
aload 1
monitorexit
9: areturn
end local 2 10: StackMap locals: java.lang.Object java.lang.Class
StackMap stack: java.lang.Throwable
aload 1
monitorexit
11: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 key Ljava/lang/Object;
2 10 2 cache Lsun/swing/ImageCache;
Exception table:
from to target type
1 9 10 any
10 11 10 any
MethodParameters:
Name Flags
key
public void <init>(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
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
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokestatic sun.swing.CachedPainter.getCache:(Ljava/lang/Object;)Lsun/swing/ImageCache;
iload 1
invokevirtual sun.swing.ImageCache.setMaxCount:(I)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/swing/CachedPainter;
0 3 1 cacheCount I
MethodParameters:
Name Flags
cacheCount
public void paint(java.awt.Component, java.awt.Graphics, int, int, int, int, java.lang.Object[]);
descriptor: (Ljava/awt/Component;Ljava/awt/Graphics;IIII[Ljava/lang/Object;)V
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=8, locals=9, 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: iload 5
ifle 1
iload 6
ifgt 2
1: StackMap locals:
StackMap stack:
return
2: StackMap locals:
StackMap stack:
ldc Lsun/swing/CachedPainter;
dup
astore 8
monitorenter
3: aload 0
aload 1
aload 2
iload 3
iload 4
iload 5
iload 6
aload 7
invokevirtual sun.swing.CachedPainter.paint0:(Ljava/awt/Component;Ljava/awt/Graphics;IIII[Ljava/lang/Object;)V
4: aload 8
monitorexit
5: goto 8
StackMap locals: sun.swing.CachedPainter java.awt.Component java.awt.Graphics int int int int java.lang.Object[] java.lang.Class
StackMap stack: java.lang.Throwable
6: aload 8
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
return
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 9 0 this Lsun/swing/CachedPainter;
0 9 1 c Ljava/awt/Component;
0 9 2 g Ljava/awt/Graphics;
0 9 3 x I
0 9 4 y I
0 9 5 w I
0 9 6 h I
0 9 7 args [Ljava/lang/Object;
Exception table:
from to target type
3 5 6 any
6 7 6 any
MethodParameters:
Name Flags
c
g
x
y
w
h
args
private java.awt.Image getImage(java.lang.Object, java.awt.Component, int, int, int, int, java.lang.Object[]);
descriptor: (Ljava/lang/Object;Ljava/awt/Component;IIII[Ljava/lang/Object;)Ljava/awt/Image;
flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
Code:
stack=9, locals=20, 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: aload 0
aload 2
invokevirtual sun.swing.CachedPainter.getGraphicsConfiguration:(Ljava/awt/Component;)Ljava/awt/GraphicsConfiguration;
astore 8
start local 8 1: aload 1
invokestatic sun.swing.CachedPainter.getCache:(Ljava/lang/Object;)Lsun/swing/ImageCache;
astore 9
start local 9 2: aload 9
aload 1
aload 8
iload 5
iload 6
aload 7
invokevirtual sun.swing.ImageCache.getImage:(Ljava/lang/Object;Ljava/awt/GraphicsConfiguration;II[Ljava/lang/Object;)Ljava/awt/Image;
astore 10
start local 10 3: iconst_0
istore 11
start local 11 4: aload 10
instanceof java.awt.image.VolatileImage
ifeq 6
5: aload 10
checkcast java.awt.image.VolatileImage
goto 7
6: StackMap locals: sun.swing.CachedPainter java.lang.Object java.awt.Component int int int int java.lang.Object[] java.awt.GraphicsConfiguration sun.swing.ImageCache java.awt.Image int
StackMap stack:
aconst_null
7: StackMap locals:
StackMap stack: java.awt.image.VolatileImage
astore 12
start local 12 8: StackMap locals: java.awt.image.VolatileImage
StackMap stack:
iconst_0
istore 13
start local 13 9: aload 12
ifnull 15
10: aload 12
aload 8
invokevirtual java.awt.image.VolatileImage.validate:(Ljava/awt/GraphicsConfiguration;)I
tableswitch { // 1 - 2
1: 14
2: 11
default: 15
}
11: StackMap locals: int
StackMap stack:
aload 12
invokevirtual java.awt.image.VolatileImage.flush:()V
12: aconst_null
astore 10
13: goto 15
14: StackMap locals:
StackMap stack:
iconst_1
istore 13
15: StackMap locals:
StackMap stack:
aload 10
ifnonnull 36
16: aload 8
ifnull 29
iload 5
iload 4
if_icmpne 17
iload 6
iload 3
if_icmpeq 29
17: StackMap locals:
StackMap stack:
aload 8
invokevirtual java.awt.GraphicsConfiguration.getDefaultTransform:()Ljava/awt/geom/AffineTransform;
astore 14
start local 14 18: aload 14
invokevirtual java.awt.geom.AffineTransform.getScaleX:()D
dstore 15
start local 15 19: aload 14
invokevirtual java.awt.geom.AffineTransform.getScaleY:()D
dstore 17
start local 17 20: dload 15
dconst_1
invokestatic java.lang.Double.compare:(DD)I
ifne 22
21: dload 17
dconst_1
invokestatic java.lang.Double.compare:(DD)I
ifeq 29
22: StackMap locals: java.awt.geom.AffineTransform double double
StackMap stack:
dload 15
iload 3
i2d
dmul
iload 5
i2d
dsub
invokestatic java.lang.Math.abs:(D)D
dconst_1
dcmpg
ifge 27
23: dload 17
iload 4
i2d
dmul
iload 6
i2d
dsub
invokestatic java.lang.Math.abs:(D)D
dconst_1
dcmpg
ifge 27
24: iload 3
istore 5
25: iload 4
istore 6
26: goto 29
27: StackMap locals:
StackMap stack:
iload 5
i2d
dload 15
ddiv
invokestatic java.lang.Math.ceil:(D)D
d2i
istore 5
28: iload 5
i2d
dload 17
ddiv
invokestatic java.lang.Math.ceil:(D)D
d2i
istore 6
end local 17 end local 15 end local 14 29: StackMap locals:
StackMap stack:
aload 0
aload 2
iload 5
iload 6
aload 8
aload 7
invokevirtual sun.swing.CachedPainter.createImage:(Ljava/awt/Component;IILjava/awt/GraphicsConfiguration;[Ljava/lang/Object;)Ljava/awt/Image;
astore 10
30: aload 9
aload 1
aload 8
iload 5
iload 6
aload 7
aload 10
invokevirtual sun.swing.ImageCache.setImage:(Ljava/lang/Object;Ljava/awt/GraphicsConfiguration;II[Ljava/lang/Object;Ljava/awt/Image;)V
31: iconst_1
istore 13
32: aload 10
instanceof java.awt.image.VolatileImage
ifeq 34
33: aload 10
checkcast java.awt.image.VolatileImage
goto 35
34: StackMap locals:
StackMap stack:
aconst_null
35: StackMap locals:
StackMap stack: java.awt.image.VolatileImage
astore 12
36: StackMap locals:
StackMap stack:
iload 13
ifeq 57
37: aload 10
invokevirtual java.awt.Image.getGraphics:()Ljava/awt/Graphics;
checkcast java.awt.Graphics2D
astore 14
start local 14 38: aload 12
ifnonnull 45
39: iload 5
iload 3
if_icmpne 40
iload 6
iload 4
if_icmpeq 43
40: StackMap locals: java.awt.Graphics2D
StackMap stack:
aload 14
iload 5
i2d
iload 3
i2d
ddiv
41: iload 6
i2d
iload 4
i2d
ddiv
42: invokevirtual java.awt.Graphics2D.scale:(DD)V
43: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 10
aload 14
iload 3
iload 4
aload 7
invokevirtual sun.swing.CachedPainter.paintToImage:(Ljava/awt/Component;Ljava/awt/Image;Ljava/awt/Graphics;II[Ljava/lang/Object;)V
44: goto 56
45: StackMap locals:
StackMap stack:
aload 12
invokestatic sun.awt.image.SurfaceManager.getManager:(Ljava/awt/Image;)Lsun/awt/image/SurfaceManager;
46: invokevirtual sun.awt.image.SurfaceManager.getPrimarySurfaceData:()Lsun/java2d/SurfaceData;
47: astore 15
start local 15 48: aload 15
invokevirtual sun.java2d.SurfaceData.getDefaultScaleX:()D
dstore 16
start local 16 49: aload 15
invokevirtual sun.java2d.SurfaceData.getDefaultScaleY:()D
dstore 18
start local 18 50: dload 16
dconst_1
invokestatic java.lang.Double.compare:(DD)I
ifne 52
51: dload 18
dconst_1
invokestatic java.lang.Double.compare:(DD)I
ifeq 53
52: StackMap locals: sun.java2d.SurfaceData double double
StackMap stack:
aload 14
dconst_1
dload 16
ddiv
dconst_1
dload 18
ddiv
invokevirtual java.awt.Graphics2D.scale:(DD)V
53: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 10
aload 14
iload 5
i2d
dload 16
dmul
invokestatic java.lang.Math.ceil:(D)D
d2i
54: iload 6
i2d
dload 18
dmul
invokestatic java.lang.Math.ceil:(D)D
d2i
aload 7
55: invokevirtual sun.swing.CachedPainter.paintToImage:(Ljava/awt/Component;Ljava/awt/Image;Ljava/awt/Graphics;II[Ljava/lang/Object;)V
end local 18 end local 16 end local 15 56: StackMap locals:
StackMap stack:
aload 14
invokevirtual java.awt.Graphics2D.dispose:()V
end local 14 end local 13 57: StackMap locals:
StackMap stack:
aload 12
ifnull 60
58: aload 12
invokevirtual java.awt.image.VolatileImage.contentsLost:()Z
ifeq 60
iinc 11 1
iload 11
iconst_3
59: if_icmplt 8
60: StackMap locals:
StackMap stack:
aload 10
areturn
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 61 0 this Lsun/swing/CachedPainter;
0 61 1 key Ljava/lang/Object;
0 61 2 c Ljava/awt/Component;
0 61 3 baseWidth I
0 61 4 baseHeight I
0 61 5 w I
0 61 6 h I
0 61 7 args [Ljava/lang/Object;
1 61 8 config Ljava/awt/GraphicsConfiguration;
2 61 9 cache Lsun/swing/ImageCache;
3 61 10 image Ljava/awt/Image;
4 61 11 attempts I
8 61 12 volatileImage Ljava/awt/image/VolatileImage;
9 57 13 draw Z
18 29 14 tx Ljava/awt/geom/AffineTransform;
19 29 15 sx D
20 29 17 sy D
38 57 14 g2 Ljava/awt/Graphics2D;
48 56 15 sd Lsun/java2d/SurfaceData;
49 56 16 sx D
50 56 18 sy D
MethodParameters:
Name Flags
key
c
baseWidth
baseHeight
w
h
args
private void paint0(java.awt.Component, java.awt.Graphics, int, int, int, int, java.lang.Object[]);
descriptor: (Ljava/awt/Component;Ljava/awt/Graphics;IIII[Ljava/lang/Object;)V
flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
Code:
stack=9, locals=12, 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: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
astore 8
start local 8 1: aload 0
aload 1
invokevirtual sun.swing.CachedPainter.getGraphicsConfiguration:(Ljava/awt/Component;)Ljava/awt/GraphicsConfiguration;
astore 9
start local 9 2: aload 8
invokestatic sun.swing.CachedPainter.getCache:(Ljava/lang/Object;)Lsun/swing/ImageCache;
astore 10
start local 10 3: aload 10
aload 8
aload 9
iload 5
iload 6
aload 7
invokevirtual sun.swing.ImageCache.getImage:(Ljava/lang/Object;Ljava/awt/GraphicsConfiguration;II[Ljava/lang/Object;)Ljava/awt/Image;
astore 11
start local 11 4: aload 11
ifnonnull 7
5: new sun.swing.CachedPainter$PainterMultiResolutionCachedImage
dup
aload 0
iload 5
iload 6
invokespecial sun.swing.CachedPainter$PainterMultiResolutionCachedImage.<init>:(Lsun/swing/CachedPainter;II)V
astore 11
6: aload 10
aload 8
aload 9
iload 5
iload 6
aload 7
aload 11
invokevirtual sun.swing.ImageCache.setImage:(Ljava/lang/Object;Ljava/awt/GraphicsConfiguration;II[Ljava/lang/Object;Ljava/awt/Image;)V
7: StackMap locals: sun.swing.CachedPainter java.awt.Component java.awt.Graphics int int int int java.lang.Object[] java.lang.Object java.awt.GraphicsConfiguration sun.swing.ImageCache java.awt.Image
StackMap stack:
aload 11
instanceof sun.swing.CachedPainter$PainterMultiResolutionCachedImage
ifeq 9
8: aload 11
checkcast sun.swing.CachedPainter$PainterMultiResolutionCachedImage
aload 1
aload 7
invokevirtual sun.swing.CachedPainter$PainterMultiResolutionCachedImage.setParams:(Ljava/awt/Component;[Ljava/lang/Object;)V
9: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
iload 3
iload 4
iload 5
iload 6
aload 11
aload 7
invokevirtual sun.swing.CachedPainter.paintImage:(Ljava/awt/Component;Ljava/awt/Graphics;IIIILjava/awt/Image;[Ljava/lang/Object;)V
10: return
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 11 0 this Lsun/swing/CachedPainter;
0 11 1 c Ljava/awt/Component;
0 11 2 g Ljava/awt/Graphics;
0 11 3 x I
0 11 4 y I
0 11 5 w I
0 11 6 h I
0 11 7 args [Ljava/lang/Object;
1 11 8 key Ljava/lang/Object;
2 11 9 config Ljava/awt/GraphicsConfiguration;
3 11 10 cache Lsun/swing/ImageCache;
4 11 11 image Ljava/awt/Image;
MethodParameters:
Name Flags
c
g
x
y
w
h
args
protected abstract void paintToImage(java.awt.Component, java.awt.Image, java.awt.Graphics, int, int, java.lang.Object[]);
descriptor: (Ljava/awt/Component;Ljava/awt/Image;Ljava/awt/Graphics;II[Ljava/lang/Object;)V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
c
image
g
w
h
args
protected void paintImage(java.awt.Component, java.awt.Graphics, int, int, int, int, java.awt.Image, java.lang.Object[]);
descriptor: (Ljava/awt/Component;Ljava/awt/Graphics;IIIILjava/awt/Image;[Ljava/lang/Object;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=9, args_size=9
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 0: aload 2
aload 7
iload 3
iload 4
aconst_null
invokevirtual java.awt.Graphics.drawImage:(Ljava/awt/Image;IILjava/awt/image/ImageObserver;)Z
pop
1: return
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 2 0 this Lsun/swing/CachedPainter;
0 2 1 c Ljava/awt/Component;
0 2 2 g Ljava/awt/Graphics;
0 2 3 x I
0 2 4 y I
0 2 5 w I
0 2 6 h I
0 2 7 image Ljava/awt/Image;
0 2 8 args [Ljava/lang/Object;
MethodParameters:
Name Flags
c
g
x
y
w
h
image
args
protected java.awt.Image createImage(java.awt.Component, int, int, java.awt.GraphicsConfiguration, java.lang.Object[]);
descriptor: (Ljava/awt/Component;IILjava/awt/GraphicsConfiguration;[Ljava/lang/Object;)Ljava/awt/Image;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 4
ifnonnull 2
1: new java.awt.image.BufferedImage
dup
iload 2
iload 3
iconst_1
invokespecial java.awt.image.BufferedImage.<init>:(III)V
areturn
2: StackMap locals:
StackMap stack:
aload 4
iload 2
iload 3
invokevirtual java.awt.GraphicsConfiguration.createCompatibleVolatileImage:(II)Ljava/awt/image/VolatileImage;
areturn
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 3 0 this Lsun/swing/CachedPainter;
0 3 1 c Ljava/awt/Component;
0 3 2 w I
0 3 3 h I
0 3 4 config Ljava/awt/GraphicsConfiguration;
0 3 5 args [Ljava/lang/Object;
MethodParameters:
Name Flags
c
w
h
config
args
protected void flush();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=1
start local 0 0: ldc Lsun/swing/CachedPainter;
dup
astore 1
monitorenter
1: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokestatic sun.swing.CachedPainter.getCache:(Ljava/lang/Object;)Lsun/swing/ImageCache;
invokevirtual sun.swing.ImageCache.flush:()V
2: aload 1
monitorexit
3: goto 6
StackMap locals: sun.swing.CachedPainter java.lang.Class
StackMap stack: java.lang.Throwable
4: aload 1
monitorexit
5: athrow
6: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/swing/CachedPainter;
Exception table:
from to target type
1 3 4 any
4 5 4 any
private java.awt.GraphicsConfiguration getGraphicsConfiguration(java.awt.Component);
descriptor: (Ljava/awt/Component;)Ljava/awt/GraphicsConfiguration;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.awt.Component.getGraphicsConfiguration:()Ljava/awt/GraphicsConfiguration;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/swing/CachedPainter;
0 3 1 c Ljava/awt/Component;
MethodParameters:
Name Flags
c
}
SourceFile: "CachedPainter.java"
NestMembers:
sun.swing.CachedPainter$PainterMultiResolutionCachedImage
InnerClasses:
PainterMultiResolutionCachedImage = sun.swing.CachedPainter$PainterMultiResolutionCachedImage of sun.swing.CachedPainter