public class com.sun.javafx.sg.prism.NGExternalNode extends com.sun.javafx.sg.prism.NGNode
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.javafx.sg.prism.NGExternalNode
super_class: com.sun.javafx.sg.prism.NGNode
{
private com.sun.prism.Texture dsttexture;
descriptor: Lcom/sun/prism/Texture;
flags: (0x0002) ACC_PRIVATE
private com.sun.javafx.sg.prism.NGExternalNode$BufferData bufferData;
descriptor: Lcom/sun/javafx/sg/prism/NGExternalNode$BufferData;
flags: (0x0002) ACC_PRIVATE
private final java.util.concurrent.atomic.AtomicReference<com.sun.javafx.sg.prism.NGExternalNode$RenderData> renderData;
descriptor: Ljava/util/concurrent/atomic/AtomicReference;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicReference<Lcom/sun/javafx/sg/prism/NGExternalNode$RenderData;>;
private com.sun.javafx.sg.prism.NGExternalNode$RenderData rd;
descriptor: Lcom/sun/javafx/sg/prism/NGExternalNode$RenderData;
flags: (0x0002) ACC_PRIVATE
private volatile java.util.concurrent.locks.ReentrantLock bufferLock;
descriptor: Ljava/util/concurrent/locks/ReentrantLock;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokespecial com.sun.javafx.sg.prism.NGNode.<init>:()V
1: aload 0
new java.util.concurrent.atomic.AtomicReference
dup
aconst_null
invokespecial java.util.concurrent.atomic.AtomicReference.<init>:(Ljava/lang/Object;)V
putfield com.sun.javafx.sg.prism.NGExternalNode.renderData:Ljava/util/concurrent/atomic/AtomicReference;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/javafx/sg/prism/NGExternalNode;
protected void renderContent(com.sun.prism.Graphics);
descriptor: (Lcom/sun/prism/Graphics;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=11, locals=9, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.javafx.sg.prism.NGExternalNode.renderData:Ljava/util/concurrent/atomic/AtomicReference;
aconst_null
invokevirtual java.util.concurrent.atomic.AtomicReference.getAndSet:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.javafx.sg.prism.NGExternalNode$RenderData
astore 2
start local 2 1: aload 2
ifnull 3
2: aload 0
aload 2
putfield com.sun.javafx.sg.prism.NGExternalNode.rd:Lcom/sun/javafx/sg/prism/NGExternalNode$RenderData;
3: StackMap locals: com.sun.javafx.sg.prism.NGExternalNode$RenderData
StackMap stack:
aload 0
getfield com.sun.javafx.sg.prism.NGExternalNode.rd:Lcom/sun/javafx/sg/prism/NGExternalNode$RenderData;
ifnonnull 4
return
4: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.javafx.sg.prism.NGExternalNode.rd:Lcom/sun/javafx/sg/prism/NGExternalNode$RenderData;
getfield com.sun.javafx.sg.prism.NGExternalNode$RenderData.bdata:Lcom/sun/javafx/sg/prism/NGExternalNode$BufferData;
getfield com.sun.javafx.sg.prism.NGExternalNode$BufferData.srcbounds:Lcom/sun/javafx/geom/Rectangle;
getfield com.sun.javafx.geom.Rectangle.x:I
istore 3
start local 3 5: aload 0
getfield com.sun.javafx.sg.prism.NGExternalNode.rd:Lcom/sun/javafx/sg/prism/NGExternalNode$RenderData;
getfield com.sun.javafx.sg.prism.NGExternalNode$RenderData.bdata:Lcom/sun/javafx/sg/prism/NGExternalNode$BufferData;
getfield com.sun.javafx.sg.prism.NGExternalNode$BufferData.srcbounds:Lcom/sun/javafx/geom/Rectangle;
getfield com.sun.javafx.geom.Rectangle.y:I
istore 4
start local 4 6: aload 0
getfield com.sun.javafx.sg.prism.NGExternalNode.rd:Lcom/sun/javafx/sg/prism/NGExternalNode$RenderData;
getfield com.sun.javafx.sg.prism.NGExternalNode$RenderData.bdata:Lcom/sun/javafx/sg/prism/NGExternalNode$BufferData;
getfield com.sun.javafx.sg.prism.NGExternalNode$BufferData.srcbounds:Lcom/sun/javafx/geom/Rectangle;
getfield com.sun.javafx.geom.Rectangle.width:I
istore 5
start local 5 7: aload 0
getfield com.sun.javafx.sg.prism.NGExternalNode.rd:Lcom/sun/javafx/sg/prism/NGExternalNode$RenderData;
getfield com.sun.javafx.sg.prism.NGExternalNode$RenderData.bdata:Lcom/sun/javafx/sg/prism/NGExternalNode$BufferData;
getfield com.sun.javafx.sg.prism.NGExternalNode$BufferData.srcbounds:Lcom/sun/javafx/geom/Rectangle;
getfield com.sun.javafx.geom.Rectangle.height:I
istore 6
start local 6 8: aload 0
getfield com.sun.javafx.sg.prism.NGExternalNode.dsttexture:Lcom/sun/prism/Texture;
ifnull 18
9: aload 0
getfield com.sun.javafx.sg.prism.NGExternalNode.dsttexture:Lcom/sun/prism/Texture;
invokeinterface com.sun.prism.Texture.lock:()V
10: aload 0
getfield com.sun.javafx.sg.prism.NGExternalNode.dsttexture:Lcom/sun/prism/Texture;
invokeinterface com.sun.prism.Texture.isSurfaceLost:()Z
ifne 13
11: aload 0
getfield com.sun.javafx.sg.prism.NGExternalNode.dsttexture:Lcom/sun/prism/Texture;
invokeinterface com.sun.prism.Texture.getContentWidth:()I
iload 5
if_icmpne 13
12: aload 0
getfield com.sun.javafx.sg.prism.NGExternalNode.dsttexture:Lcom/sun/prism/Texture;
invokeinterface com.sun.prism.Texture.getContentHeight:()I
iload 6
if_icmpeq 19
13: StackMap locals: com.sun.javafx.sg.prism.NGExternalNode com.sun.prism.Graphics com.sun.javafx.sg.prism.NGExternalNode$RenderData int int int int
StackMap stack:
aload 0
getfield com.sun.javafx.sg.prism.NGExternalNode.dsttexture:Lcom/sun/prism/Texture;
invokeinterface com.sun.prism.Texture.unlock:()V
14: aload 0
getfield com.sun.javafx.sg.prism.NGExternalNode.dsttexture:Lcom/sun/prism/Texture;
invokeinterface com.sun.prism.Texture.dispose:()V
15: aload 0
aload 0
getfield com.sun.javafx.sg.prism.NGExternalNode.rd:Lcom/sun/javafx/sg/prism/NGExternalNode$RenderData;
iconst_0
iconst_0
iload 5
iload 6
invokevirtual com.sun.javafx.sg.prism.NGExternalNode$RenderData.copyAddDirtyRect:(IIII)Lcom/sun/javafx/sg/prism/NGExternalNode$RenderData;
putfield com.sun.javafx.sg.prism.NGExternalNode.rd:Lcom/sun/javafx/sg/prism/NGExternalNode$RenderData;
16: aload 0
aload 0
aload 1
aload 0
getfield com.sun.javafx.sg.prism.NGExternalNode.rd:Lcom/sun/javafx/sg/prism/NGExternalNode$RenderData;
invokevirtual com.sun.javafx.sg.prism.NGExternalNode.createTexture:(Lcom/sun/prism/Graphics;Lcom/sun/javafx/sg/prism/NGExternalNode$RenderData;)Lcom/sun/prism/Texture;
putfield com.sun.javafx.sg.prism.NGExternalNode.dsttexture:Lcom/sun/prism/Texture;
17: goto 19
18: StackMap locals:
StackMap stack:
aload 0
aload 0
aload 1
aload 0
getfield com.sun.javafx.sg.prism.NGExternalNode.rd:Lcom/sun/javafx/sg/prism/NGExternalNode$RenderData;
invokevirtual com.sun.javafx.sg.prism.NGExternalNode.createTexture:(Lcom/sun/prism/Graphics;Lcom/sun/javafx/sg/prism/NGExternalNode$RenderData;)Lcom/sun/prism/Texture;
putfield com.sun.javafx.sg.prism.NGExternalNode.dsttexture:Lcom/sun/prism/Texture;
19: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.javafx.sg.prism.NGExternalNode.dsttexture:Lcom/sun/prism/Texture;
ifnonnull 21
20: return
21: StackMap locals:
StackMap stack:
aload 2
ifnull 38
22: aload 0
getfield com.sun.javafx.sg.prism.NGExternalNode.bufferLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
23: aload 0
getfield com.sun.javafx.sg.prism.NGExternalNode.dsttexture:Lcom/sun/prism/Texture;
aload 0
getfield com.sun.javafx.sg.prism.NGExternalNode.rd:Lcom/sun/javafx/sg/prism/NGExternalNode$RenderData;
getfield com.sun.javafx.sg.prism.NGExternalNode$RenderData.bdata:Lcom/sun/javafx/sg/prism/NGExternalNode$BufferData;
getfield com.sun.javafx.sg.prism.NGExternalNode$BufferData.srcbuffer:Ljava/nio/Buffer;
24: getstatic com.sun.prism.PixelFormat.INT_ARGB_PRE:Lcom/sun/prism/PixelFormat;
25: aload 0
getfield com.sun.javafx.sg.prism.NGExternalNode.rd:Lcom/sun/javafx/sg/prism/NGExternalNode$RenderData;
getfield com.sun.javafx.sg.prism.NGExternalNode$RenderData.dirtyRect:Lcom/sun/javafx/geom/Rectangle;
getfield com.sun.javafx.geom.Rectangle.x:I
aload 0
getfield com.sun.javafx.sg.prism.NGExternalNode.rd:Lcom/sun/javafx/sg/prism/NGExternalNode$RenderData;
getfield com.sun.javafx.sg.prism.NGExternalNode$RenderData.dirtyRect:Lcom/sun/javafx/geom/Rectangle;
getfield com.sun.javafx.geom.Rectangle.y:I
26: iload 3
aload 0
getfield com.sun.javafx.sg.prism.NGExternalNode.rd:Lcom/sun/javafx/sg/prism/NGExternalNode$RenderData;
getfield com.sun.javafx.sg.prism.NGExternalNode$RenderData.dirtyRect:Lcom/sun/javafx/geom/Rectangle;
getfield com.sun.javafx.geom.Rectangle.x:I
iadd
iload 4
aload 0
getfield com.sun.javafx.sg.prism.NGExternalNode.rd:Lcom/sun/javafx/sg/prism/NGExternalNode$RenderData;
getfield com.sun.javafx.sg.prism.NGExternalNode$RenderData.dirtyRect:Lcom/sun/javafx/geom/Rectangle;
getfield com.sun.javafx.geom.Rectangle.y:I
iadd
27: aload 0
getfield com.sun.javafx.sg.prism.NGExternalNode.rd:Lcom/sun/javafx/sg/prism/NGExternalNode$RenderData;
getfield com.sun.javafx.sg.prism.NGExternalNode$RenderData.dirtyRect:Lcom/sun/javafx/geom/Rectangle;
getfield com.sun.javafx.geom.Rectangle.width:I
aload 0
getfield com.sun.javafx.sg.prism.NGExternalNode.rd:Lcom/sun/javafx/sg/prism/NGExternalNode$RenderData;
getfield com.sun.javafx.sg.prism.NGExternalNode$RenderData.dirtyRect:Lcom/sun/javafx/geom/Rectangle;
getfield com.sun.javafx.geom.Rectangle.height:I
28: aload 0
getfield com.sun.javafx.sg.prism.NGExternalNode.rd:Lcom/sun/javafx/sg/prism/NGExternalNode$RenderData;
getfield com.sun.javafx.sg.prism.NGExternalNode$RenderData.bdata:Lcom/sun/javafx/sg/prism/NGExternalNode$BufferData;
getfield com.sun.javafx.sg.prism.NGExternalNode$BufferData.linestride:I
iconst_4
imul
29: iconst_0
30: invokeinterface com.sun.prism.Texture.update:(Ljava/nio/Buffer;Lcom/sun/prism/PixelFormat;IIIIIIIZ)V
31: goto 35
StackMap locals:
StackMap stack: java.lang.Throwable
32: astore 7
33: aload 0
getfield com.sun.javafx.sg.prism.NGExternalNode.bufferLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
34: aload 7
athrow
35: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.javafx.sg.prism.NGExternalNode.bufferLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
36: aload 0
getfield com.sun.javafx.sg.prism.NGExternalNode.rd:Lcom/sun/javafx/sg/prism/NGExternalNode$RenderData;
getfield com.sun.javafx.sg.prism.NGExternalNode$RenderData.clearTarget:Z
ifeq 38
37: aload 1
fconst_0
fconst_0
aload 0
getfield com.sun.javafx.sg.prism.NGExternalNode.rd:Lcom/sun/javafx/sg/prism/NGExternalNode$RenderData;
getfield com.sun.javafx.sg.prism.NGExternalNode$RenderData.bdata:Lcom/sun/javafx/sg/prism/NGExternalNode$BufferData;
getfield com.sun.javafx.sg.prism.NGExternalNode$BufferData.usrwidth:F
aload 0
getfield com.sun.javafx.sg.prism.NGExternalNode.rd:Lcom/sun/javafx/sg/prism/NGExternalNode$RenderData;
getfield com.sun.javafx.sg.prism.NGExternalNode$RenderData.bdata:Lcom/sun/javafx/sg/prism/NGExternalNode$BufferData;
getfield com.sun.javafx.sg.prism.NGExternalNode$BufferData.usrheight:F
invokeinterface com.sun.prism.Graphics.clearQuad:(FFFF)V
38: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield com.sun.javafx.sg.prism.NGExternalNode.dsttexture:Lcom/sun/prism/Texture;
39: fconst_0
fconst_0
aload 0
getfield com.sun.javafx.sg.prism.NGExternalNode.rd:Lcom/sun/javafx/sg/prism/NGExternalNode$RenderData;
getfield com.sun.javafx.sg.prism.NGExternalNode$RenderData.bdata:Lcom/sun/javafx/sg/prism/NGExternalNode$BufferData;
getfield com.sun.javafx.sg.prism.NGExternalNode$BufferData.usrwidth:F
aload 0
getfield com.sun.javafx.sg.prism.NGExternalNode.rd:Lcom/sun/javafx/sg/prism/NGExternalNode$RenderData;
getfield com.sun.javafx.sg.prism.NGExternalNode$RenderData.bdata:Lcom/sun/javafx/sg/prism/NGExternalNode$BufferData;
getfield com.sun.javafx.sg.prism.NGExternalNode$BufferData.usrheight:F
40: fconst_0
fconst_0
iload 5
i2f
iload 6
i2f
41: invokeinterface com.sun.prism.Graphics.drawTexture:(Lcom/sun/prism/Texture;FFFFFFFF)V
42: goto 46
StackMap locals:
StackMap stack: java.lang.Throwable
43: astore 8
44: aload 0
getfield com.sun.javafx.sg.prism.NGExternalNode.dsttexture:Lcom/sun/prism/Texture;
invokeinterface com.sun.prism.Texture.unlock:()V
45: aload 8
athrow
46: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.javafx.sg.prism.NGExternalNode.dsttexture:Lcom/sun/prism/Texture;
invokeinterface com.sun.prism.Texture.unlock:()V
47: 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 48 0 this Lcom/sun/javafx/sg/prism/NGExternalNode;
0 48 1 g Lcom/sun/prism/Graphics;
1 48 2 curRenderData Lcom/sun/javafx/sg/prism/NGExternalNode$RenderData;
5 48 3 x I
6 48 4 y I
7 48 5 w I
8 48 6 h I
Exception table:
from to target type
23 32 32 any
21 43 43 any
MethodParameters:
Name Flags
g
private com.sun.prism.Texture createTexture(com.sun.prism.Graphics, com.sun.javafx.sg.prism.NGExternalNode$RenderData);
descriptor: (Lcom/sun/prism/Graphics;Lcom/sun/javafx/sg/prism/NGExternalNode$RenderData;)Lcom/sun/prism/Texture;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokeinterface com.sun.prism.Graphics.getResourceFactory:()Lcom/sun/prism/ResourceFactory;
astore 3
start local 3 1: aload 3
invokeinterface com.sun.prism.ResourceFactory.isDeviceReady:()Z
ifne 3
2: aconst_null
areturn
3: StackMap locals: com.sun.prism.ResourceFactory
StackMap stack:
aload 3
getstatic com.sun.prism.PixelFormat.INT_ARGB_PRE:Lcom/sun/prism/PixelFormat;
4: getstatic com.sun.prism.Texture$Usage.DYNAMIC:Lcom/sun/prism/Texture$Usage;
5: getstatic com.sun.prism.Texture$WrapMode.CLAMP_NOT_NEEDED:Lcom/sun/prism/Texture$WrapMode;
6: aload 2
getfield com.sun.javafx.sg.prism.NGExternalNode$RenderData.bdata:Lcom/sun/javafx/sg/prism/NGExternalNode$BufferData;
getfield com.sun.javafx.sg.prism.NGExternalNode$BufferData.srcbounds:Lcom/sun/javafx/geom/Rectangle;
getfield com.sun.javafx.geom.Rectangle.width:I
aload 2
getfield com.sun.javafx.sg.prism.NGExternalNode$RenderData.bdata:Lcom/sun/javafx/sg/prism/NGExternalNode$BufferData;
getfield com.sun.javafx.sg.prism.NGExternalNode$BufferData.srcbounds:Lcom/sun/javafx/geom/Rectangle;
getfield com.sun.javafx.geom.Rectangle.height:I
7: invokeinterface com.sun.prism.ResourceFactory.createTexture:(Lcom/sun/prism/PixelFormat;Lcom/sun/prism/Texture$Usage;Lcom/sun/prism/Texture$WrapMode;II)Lcom/sun/prism/Texture;
astore 4
start local 4 8: aload 4
ifnull 11
9: aload 4
invokeinterface com.sun.prism.Texture.contentsUseful:()V
10: goto 12
11: StackMap locals: com.sun.prism.Texture
StackMap stack:
getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc "NGExternalNode: failed to create a texture"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
12: StackMap locals:
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/sun/javafx/sg/prism/NGExternalNode;
0 13 1 g Lcom/sun/prism/Graphics;
0 13 2 rd Lcom/sun/javafx/sg/prism/NGExternalNode$RenderData;
1 13 3 factory Lcom/sun/prism/ResourceFactory;
8 13 4 txt Lcom/sun/prism/Texture;
MethodParameters:
Name Flags
g
rd
public void setLock(java.util.concurrent.locks.ReentrantLock);
descriptor: (Ljava/util/concurrent/locks/ReentrantLock;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield com.sun.javafx.sg.prism.NGExternalNode.bufferLock:Ljava/util/concurrent/locks/ReentrantLock;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/javafx/sg/prism/NGExternalNode;
0 2 1 lock Ljava/util/concurrent/locks/ReentrantLock;
MethodParameters:
Name Flags
lock
public void setImageBuffer(java.nio.Buffer, int, int, int, int, float, float, int, double, double);
descriptor: (Ljava/nio/Buffer;IIIIFFIDD)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=15, locals=13, 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 11 0: aload 0
new com.sun.javafx.sg.prism.NGExternalNode$BufferData
dup
aload 1
iload 8
iload 2
iload 3
iload 4
iload 5
1: fload 6
fload 7
dload 9
dload 11
invokespecial com.sun.javafx.sg.prism.NGExternalNode$BufferData.<init>:(Ljava/nio/Buffer;IIIIIFFDD)V
2: putfield com.sun.javafx.sg.prism.NGExternalNode.bufferData:Lcom/sun/javafx/sg/prism/NGExternalNode$BufferData;
3: aload 0
getfield com.sun.javafx.sg.prism.NGExternalNode.renderData:Ljava/util/concurrent/atomic/AtomicReference;
new com.sun.javafx.sg.prism.NGExternalNode$RenderData
dup
aload 0
getfield com.sun.javafx.sg.prism.NGExternalNode.bufferData:Lcom/sun/javafx/sg/prism/NGExternalNode$BufferData;
iload 2
iload 3
iload 4
iload 5
iconst_1
invokespecial com.sun.javafx.sg.prism.NGExternalNode$RenderData.<init>:(Lcom/sun/javafx/sg/prism/NGExternalNode$BufferData;IIIIZ)V
invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
4: return
end local 11 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 5 0 this Lcom/sun/javafx/sg/prism/NGExternalNode;
0 5 1 buffer Ljava/nio/Buffer;
0 5 2 x I
0 5 3 y I
0 5 4 width I
0 5 5 height I
0 5 6 usrWidth F
0 5 7 usrHeight F
0 5 8 linestride I
0 5 9 scaleX D
0 5 11 scaleY D
MethodParameters:
Name Flags
buffer
x
y
width
height
usrWidth
usrHeight
linestride
scaleX
scaleY
public void setImageBounds(int, int, int, int, float, float);
descriptor: (IIIIFF)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=8, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: iload 3
i2f
aload 0
getfield com.sun.javafx.sg.prism.NGExternalNode.bufferData:Lcom/sun/javafx/sg/prism/NGExternalNode$BufferData;
getfield com.sun.javafx.sg.prism.NGExternalNode$BufferData.usrwidth:F
fcmpg
iflt 1
iload 4
i2f
aload 0
getfield com.sun.javafx.sg.prism.NGExternalNode.bufferData:Lcom/sun/javafx/sg/prism/NGExternalNode$BufferData;
getfield com.sun.javafx.sg.prism.NGExternalNode$BufferData.usrheight:F
fcmpg
iflt 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: istore 7
start local 7 3: aload 0
aload 0
getfield com.sun.javafx.sg.prism.NGExternalNode.bufferData:Lcom/sun/javafx/sg/prism/NGExternalNode$BufferData;
iload 1
iload 2
iload 3
iload 4
fload 5
fload 6
invokevirtual com.sun.javafx.sg.prism.NGExternalNode$BufferData.copyWithBounds:(IIIIFF)Lcom/sun/javafx/sg/prism/NGExternalNode$BufferData;
putfield com.sun.javafx.sg.prism.NGExternalNode.bufferData:Lcom/sun/javafx/sg/prism/NGExternalNode$BufferData;
4: aload 0
getfield com.sun.javafx.sg.prism.NGExternalNode.renderData:Ljava/util/concurrent/atomic/AtomicReference;
aload 0
iload 1
iload 2
iload 3
iload 4
iload 7
invokedynamic apply(Lcom/sun/javafx/sg/prism/NGExternalNode;IIIIZ)Ljava/util/function/UnaryOperator;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
com/sun/javafx/sg/prism/NGExternalNode.lambda$0(IIIIZLcom/sun/javafx/sg/prism/NGExternalNode$RenderData;)Lcom/sun/javafx/sg/prism/NGExternalNode$RenderData; (7)
(Lcom/sun/javafx/sg/prism/NGExternalNode$RenderData;)Lcom/sun/javafx/sg/prism/NGExternalNode$RenderData;
invokevirtual java.util.concurrent.atomic.AtomicReference.updateAndGet:(Ljava/util/function/UnaryOperator;)Ljava/lang/Object;
pop
5: 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 6 0 this Lcom/sun/javafx/sg/prism/NGExternalNode;
0 6 1 x I
0 6 2 y I
0 6 3 width I
0 6 4 height I
0 6 5 usrWidth F
0 6 6 usrHeight F
3 6 7 shrinked Z
MethodParameters:
Name Flags
x final
y final
width final
height final
usrWidth final
usrHeight final
public void repaintDirtyRegion(int, int, int, int);
descriptor: (IIII)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield com.sun.javafx.sg.prism.NGExternalNode.renderData:Ljava/util/concurrent/atomic/AtomicReference;
aload 0
iload 1
iload 2
iload 3
iload 4
invokedynamic apply(Lcom/sun/javafx/sg/prism/NGExternalNode;IIII)Ljava/util/function/UnaryOperator;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
com/sun/javafx/sg/prism/NGExternalNode.lambda$1(IIIILcom/sun/javafx/sg/prism/NGExternalNode$RenderData;)Lcom/sun/javafx/sg/prism/NGExternalNode$RenderData; (7)
(Lcom/sun/javafx/sg/prism/NGExternalNode$RenderData;)Lcom/sun/javafx/sg/prism/NGExternalNode$RenderData;
invokevirtual java.util.concurrent.atomic.AtomicReference.updateAndGet:(Ljava/util/function/UnaryOperator;)Ljava/lang/Object;
pop
1: return
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 Lcom/sun/javafx/sg/prism/NGExternalNode;
0 2 1 dirtyX I
0 2 2 dirtyY I
0 2 3 dirtyWidth I
0 2 4 dirtyHeight I
MethodParameters:
Name Flags
dirtyX final
dirtyY final
dirtyWidth final
dirtyHeight final
public void markContentDirty();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.javafx.sg.prism.NGExternalNode.visualsChanged:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/javafx/sg/prism/NGExternalNode;
protected boolean hasOverlappingContents();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/javafx/sg/prism/NGExternalNode;
private com.sun.javafx.sg.prism.NGExternalNode$RenderData lambda$0(int, int, int, int, boolean, com.sun.javafx.sg.prism.NGExternalNode$RenderData);
descriptor: (IIIIZLcom/sun/javafx/sg/prism/NGExternalNode$RenderData;)Lcom/sun/javafx/sg/prism/NGExternalNode$RenderData;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=9, locals=8, args_size=7
start local 0 start local 6 0: aload 6
ifnull 1
aload 6
getfield com.sun.javafx.sg.prism.NGExternalNode$RenderData.clearTarget:Z
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: istore 7
start local 7 3: new com.sun.javafx.sg.prism.NGExternalNode$RenderData
dup
aload 0
getfield com.sun.javafx.sg.prism.NGExternalNode.bufferData:Lcom/sun/javafx/sg/prism/NGExternalNode$BufferData;
iload 1
iload 2
iload 3
iload 4
iload 7
iload 5
ior
invokespecial com.sun.javafx.sg.prism.NGExternalNode$RenderData.<init>:(Lcom/sun/javafx/sg/prism/NGExternalNode$BufferData;IIIIZ)V
areturn
end local 7 end local 6 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/javafx/sg/prism/NGExternalNode;
0 4 6 prev Lcom/sun/javafx/sg/prism/NGExternalNode$RenderData;
3 4 7 clearTarget Z
private com.sun.javafx.sg.prism.NGExternalNode$RenderData lambda$1(int, int, int, int, com.sun.javafx.sg.prism.NGExternalNode$RenderData);
descriptor: (IIIILcom/sun/javafx/sg/prism/NGExternalNode$RenderData;)Lcom/sun/javafx/sg/prism/NGExternalNode$RenderData;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=8, locals=6, args_size=6
start local 0 start local 5 0: aload 5
ifnull 2
1: aload 5
iload 1
iload 2
iload 3
iload 4
invokevirtual com.sun.javafx.sg.prism.NGExternalNode$RenderData.copyAddDirtyRect:(IIII)Lcom/sun/javafx/sg/prism/NGExternalNode$RenderData;
areturn
2: StackMap locals:
StackMap stack:
new com.sun.javafx.sg.prism.NGExternalNode$RenderData
dup
aload 0
getfield com.sun.javafx.sg.prism.NGExternalNode.bufferData:Lcom/sun/javafx/sg/prism/NGExternalNode$BufferData;
iload 1
iload 2
iload 3
iload 4
iconst_0
invokespecial com.sun.javafx.sg.prism.NGExternalNode$RenderData.<init>:(Lcom/sun/javafx/sg/prism/NGExternalNode$BufferData;IIIIZ)V
areturn
end local 5 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/javafx/sg/prism/NGExternalNode;
0 3 5 prev Lcom/sun/javafx/sg/prism/NGExternalNode$RenderData;
}
SourceFile: "NGExternalNode.java"
NestMembers:
com.sun.javafx.sg.prism.NGExternalNode$BufferData com.sun.javafx.sg.prism.NGExternalNode$RenderData
InnerClasses:
private BufferData = com.sun.javafx.sg.prism.NGExternalNode$BufferData of com.sun.javafx.sg.prism.NGExternalNode
private RenderData = com.sun.javafx.sg.prism.NGExternalNode$RenderData of com.sun.javafx.sg.prism.NGExternalNode
public final Usage = com.sun.prism.Texture$Usage of com.sun.prism.Texture
public final WrapMode = com.sun.prism.Texture$WrapMode of com.sun.prism.Texture
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles