public class sun.java2d.opengl.OGLRenderQueue extends sun.java2d.pipe.RenderQueue
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.java2d.opengl.OGLRenderQueue
super_class: sun.java2d.pipe.RenderQueue
{
private static sun.java2d.opengl.OGLRenderQueue theInstance;
descriptor: Lsun/java2d/opengl/OGLRenderQueue;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private final sun.java2d.opengl.OGLRenderQueue$QueueFlusher flusher;
descriptor: Lsun/java2d/opengl/OGLRenderQueue$QueueFlusher;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial sun.java2d.pipe.RenderQueue.<init>:()V
1: aload 0
aload 0
invokedynamic run(Lsun/java2d/opengl/OGLRenderQueue;)Ljava/security/PrivilegedAction;
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;
sun/java2d/opengl/OGLRenderQueue.lambda$0()Lsun/java2d/opengl/OGLRenderQueue$QueueFlusher; (7)
()Lsun/java2d/opengl/OGLRenderQueue$QueueFlusher;
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast sun.java2d.opengl.OGLRenderQueue$QueueFlusher
putfield sun.java2d.opengl.OGLRenderQueue.flusher:Lsun/java2d/opengl/OGLRenderQueue$QueueFlusher;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/java2d/opengl/OGLRenderQueue;
public static synchronized sun.java2d.opengl.OGLRenderQueue getInstance();
descriptor: ()Lsun/java2d/opengl/OGLRenderQueue;
flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=0, args_size=0
0: getstatic sun.java2d.opengl.OGLRenderQueue.theInstance:Lsun/java2d/opengl/OGLRenderQueue;
ifnonnull 2
1: new sun.java2d.opengl.OGLRenderQueue
dup
invokespecial sun.java2d.opengl.OGLRenderQueue.<init>:()V
putstatic sun.java2d.opengl.OGLRenderQueue.theInstance:Lsun/java2d/opengl/OGLRenderQueue;
2: StackMap locals:
StackMap stack:
getstatic sun.java2d.opengl.OGLRenderQueue.theInstance:Lsun/java2d/opengl/OGLRenderQueue;
areturn
LocalVariableTable:
Start End Slot Name Signature
public static void sync();
descriptor: ()V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=0
0: getstatic sun.java2d.opengl.OGLRenderQueue.theInstance:Lsun/java2d/opengl/OGLRenderQueue;
ifnull 10
1: getstatic sun.java2d.opengl.OGLRenderQueue.theInstance:Lsun/java2d/opengl/OGLRenderQueue;
invokevirtual sun.java2d.opengl.OGLRenderQueue.lock:()V
2: getstatic sun.java2d.opengl.OGLRenderQueue.theInstance:Lsun/java2d/opengl/OGLRenderQueue;
iconst_4
invokevirtual sun.java2d.opengl.OGLRenderQueue.ensureCapacity:(I)V
3: getstatic sun.java2d.opengl.OGLRenderQueue.theInstance:Lsun/java2d/opengl/OGLRenderQueue;
invokevirtual sun.java2d.opengl.OGLRenderQueue.getBuffer:()Lsun/java2d/pipe/RenderBuffer;
bipush 76
invokevirtual sun.java2d.pipe.RenderBuffer.putInt:(I)Lsun/java2d/pipe/RenderBuffer;
pop
4: getstatic sun.java2d.opengl.OGLRenderQueue.theInstance:Lsun/java2d/opengl/OGLRenderQueue;
invokevirtual sun.java2d.opengl.OGLRenderQueue.flushNow:()V
5: goto 9
StackMap locals:
StackMap stack: java.lang.Throwable
6: astore 0
7: getstatic sun.java2d.opengl.OGLRenderQueue.theInstance:Lsun/java2d/opengl/OGLRenderQueue;
invokevirtual sun.java2d.opengl.OGLRenderQueue.unlock:()V
8: aload 0
athrow
9: StackMap locals:
StackMap stack:
getstatic sun.java2d.opengl.OGLRenderQueue.theInstance:Lsun/java2d/opengl/OGLRenderQueue;
invokevirtual sun.java2d.opengl.OGLRenderQueue.unlock:()V
10: StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 6 6 any
public static void disposeGraphicsConfig(long);
descriptor: (J)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=5, args_size=1
start local 0 0: invokestatic sun.java2d.opengl.OGLRenderQueue.getInstance:()Lsun/java2d/opengl/OGLRenderQueue;
astore 2
start local 2 1: aload 2
invokevirtual sun.java2d.opengl.OGLRenderQueue.lock:()V
2: lload 0
invokestatic sun.java2d.opengl.OGLContext.setScratchSurface:(J)V
3: aload 2
invokevirtual sun.java2d.opengl.OGLRenderQueue.getBuffer:()Lsun/java2d/pipe/RenderBuffer;
astore 3
start local 3 4: aload 2
bipush 12
iconst_4
invokevirtual sun.java2d.opengl.OGLRenderQueue.ensureCapacityAndAlignment:(II)V
5: aload 3
bipush 74
invokevirtual sun.java2d.pipe.RenderBuffer.putInt:(I)Lsun/java2d/pipe/RenderBuffer;
pop
6: aload 3
lload 0
invokevirtual sun.java2d.pipe.RenderBuffer.putLong:(J)Lsun/java2d/pipe/RenderBuffer;
pop
7: aload 2
invokevirtual sun.java2d.opengl.OGLRenderQueue.flushNow:()V
end local 3 8: goto 12
StackMap locals: long sun.java2d.opengl.OGLRenderQueue
StackMap stack: java.lang.Throwable
9: astore 4
10: aload 2
invokevirtual sun.java2d.opengl.OGLRenderQueue.unlock:()V
11: aload 4
athrow
12: StackMap locals:
StackMap stack:
aload 2
invokevirtual sun.java2d.opengl.OGLRenderQueue.unlock:()V
13: return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 pConfigInfo J
1 14 2 rq Lsun/java2d/opengl/OGLRenderQueue;
4 8 3 buf Lsun/java2d/pipe/RenderBuffer;
Exception table:
from to target type
2 9 9 any
MethodParameters:
Name Flags
pConfigInfo
public static boolean isQueueFlusherThread();
descriptor: ()Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokestatic sun.java2d.opengl.OGLRenderQueue.getInstance:()Lsun/java2d/opengl/OGLRenderQueue;
getfield sun.java2d.opengl.OGLRenderQueue.flusher:Lsun/java2d/opengl/OGLRenderQueue$QueueFlusher;
if_acmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
LocalVariableTable:
Start End Slot Name Signature
public void flushNow();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield sun.java2d.opengl.OGLRenderQueue.flusher:Lsun/java2d/opengl/OGLRenderQueue$QueueFlusher;
invokevirtual sun.java2d.opengl.OGLRenderQueue$QueueFlusher.flushNow:()V
1: goto 5
StackMap locals:
StackMap stack: java.lang.Exception
2: astore 1
start local 1 3: getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc "exception in flushNow:"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
4: aload 1
invokevirtual java.lang.Exception.printStackTrace:()V
end local 1 5: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/java2d/opengl/OGLRenderQueue;
3 5 1 e Ljava/lang/Exception;
Exception table:
from to target type
0 1 2 Class java.lang.Exception
public void flushAndInvokeNow(java.lang.Runnable);
descriptor: (Ljava/lang/Runnable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.java2d.opengl.OGLRenderQueue.flusher:Lsun/java2d/opengl/OGLRenderQueue$QueueFlusher;
aload 1
invokevirtual sun.java2d.opengl.OGLRenderQueue$QueueFlusher.flushAndInvokeNow:(Ljava/lang/Runnable;)V
1: goto 5
StackMap locals:
StackMap stack: java.lang.Exception
2: astore 2
start local 2 3: getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc "exception in flushAndInvokeNow:"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
4: aload 2
invokevirtual java.lang.Exception.printStackTrace:()V
end local 2 5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/java2d/opengl/OGLRenderQueue;
0 6 1 r Ljava/lang/Runnable;
3 5 2 e Ljava/lang/Exception;
Exception table:
from to target type
0 1 2 Class java.lang.Exception
MethodParameters:
Name Flags
r
private native void flushBuffer(long, int);
descriptor: (JI)V
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
MethodParameters:
Name Flags
buf
limit
private void flushBuffer();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield sun.java2d.opengl.OGLRenderQueue.buf:Lsun/java2d/pipe/RenderBuffer;
invokevirtual sun.java2d.pipe.RenderBuffer.position:()I
istore 1
start local 1 1: iload 1
ifle 3
2: aload 0
aload 0
getfield sun.java2d.opengl.OGLRenderQueue.buf:Lsun/java2d/pipe/RenderBuffer;
invokevirtual sun.java2d.pipe.RenderBuffer.getAddress:()J
iload 1
invokevirtual sun.java2d.opengl.OGLRenderQueue.flushBuffer:(JI)V
3: StackMap locals: int
StackMap stack:
aload 0
getfield sun.java2d.opengl.OGLRenderQueue.buf:Lsun/java2d/pipe/RenderBuffer;
invokevirtual sun.java2d.pipe.RenderBuffer.clear:()V
4: aload 0
getfield sun.java2d.opengl.OGLRenderQueue.refSet:Ljava/util/Set;
invokeinterface java.util.Set.clear:()V
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/java2d/opengl/OGLRenderQueue;
1 6 1 limit I
static sun.java2d.pipe.RenderBuffer access$0(sun.java2d.opengl.OGLRenderQueue);
descriptor: (Lsun/java2d/opengl/OGLRenderQueue;)Lsun/java2d/pipe/RenderBuffer;
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
getfield sun.java2d.opengl.OGLRenderQueue.buf:Lsun/java2d/pipe/RenderBuffer;
areturn
LocalVariableTable:
Start End Slot Name Signature
private sun.java2d.opengl.OGLRenderQueue$QueueFlusher lambda$0();
descriptor: ()Lsun/java2d/opengl/OGLRenderQueue$QueueFlusher;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new sun.java2d.opengl.OGLRenderQueue$QueueFlusher
dup
aload 0
invokestatic sun.misc.ThreadGroupUtils.getRootThreadGroup:()Ljava/lang/ThreadGroup;
invokespecial sun.java2d.opengl.OGLRenderQueue$QueueFlusher.<init>:(Lsun/java2d/opengl/OGLRenderQueue;Ljava/lang/ThreadGroup;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/java2d/opengl/OGLRenderQueue;
}
SourceFile: "OGLRenderQueue.java"
NestMembers:
sun.java2d.opengl.OGLRenderQueue$QueueFlusher
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
private QueueFlusher = sun.java2d.opengl.OGLRenderQueue$QueueFlusher of sun.java2d.opengl.OGLRenderQueue