public class sun.java2d.opengl.CGLLayer extends sun.lwawt.macosx.CFRetainedResource
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.java2d.opengl.CGLLayer
  super_class: sun.lwawt.macosx.CFRetainedResource
{
  private sun.lwawt.LWWindowPeer peer;
    descriptor: Lsun/lwawt/LWWindowPeer;
    flags: (0x0002) ACC_PRIVATE

  private int scale;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private sun.java2d.SurfaceData surfaceData;
    descriptor: Lsun/java2d/SurfaceData;
    flags: (0x0002) ACC_PRIVATE

  private native long nativeCreateLayer();
    descriptor: ()J
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE

  private static native void nativeSetScale(long, double);
    descriptor: (JD)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
          Name  Flags
      layerPtr  
      scale     

  private static native void validate(long, sun.java2d.opengl.CGLSurfaceData);
    descriptor: (JLsun/java2d/opengl/CGLSurfaceData;)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
          Name  Flags
      layerPtr  
      cglsd     

  private static native void blitTexture(long);
    descriptor: (J)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
          Name  Flags
      layerPtr  

  public void <init>(sun.lwawt.LWWindowPeer);
    descriptor: (Lsun/lwawt/LWWindowPeer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // sun.java2d.opengl.CGLLayer this
        start local 1 // sun.lwawt.LWWindowPeer peer
         0: .line 53
            aload 0 /* this */
            lconst_0
            iconst_1
            invokespecial sun.lwawt.macosx.CFRetainedResource.<init>:(JZ)V
         1: .line 48
            aload 0 /* this */
            iconst_1
            putfield sun.java2d.opengl.CGLLayer.scale:I
         2: .line 55
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual sun.java2d.opengl.CGLLayer.nativeCreateLayer:()J
            invokevirtual sun.java2d.opengl.CGLLayer.setPtr:(J)V
         3: .line 56
            aload 0 /* this */
            aload 1 /* peer */
            putfield sun.java2d.opengl.CGLLayer.peer:Lsun/lwawt/LWWindowPeer;
         4: .line 57
            return
        end local 1 // sun.lwawt.LWWindowPeer peer
        end local 0 // sun.java2d.opengl.CGLLayer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/java2d/opengl/CGLLayer;
            0    5     1  peer  Lsun/lwawt/LWWindowPeer;
    MethodParameters:
      Name  Flags
      peer  

  public long getPointer();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.java2d.opengl.CGLLayer this
         0: .line 60
            aload 0 /* this */
            getfield sun.java2d.opengl.CGLLayer.ptr:J
            lreturn
        end local 0 // sun.java2d.opengl.CGLLayer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/java2d/opengl/CGLLayer;

  public java.awt.Rectangle getBounds();
    descriptor: ()Ljava/awt/Rectangle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.java2d.opengl.CGLLayer this
         0: .line 64
            aload 0 /* this */
            getfield sun.java2d.opengl.CGLLayer.peer:Lsun/lwawt/LWWindowPeer;
            invokevirtual sun.lwawt.LWWindowPeer.getBounds:()Ljava/awt/Rectangle;
            areturn
        end local 0 // sun.java2d.opengl.CGLLayer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/java2d/opengl/CGLLayer;

  public java.awt.GraphicsConfiguration getGraphicsConfiguration();
    descriptor: ()Ljava/awt/GraphicsConfiguration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.java2d.opengl.CGLLayer this
         0: .line 68
            aload 0 /* this */
            getfield sun.java2d.opengl.CGLLayer.peer:Lsun/lwawt/LWWindowPeer;
            invokevirtual sun.lwawt.LWWindowPeer.getGraphicsConfiguration:()Ljava/awt/GraphicsConfiguration;
            areturn
        end local 0 // sun.java2d.opengl.CGLLayer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/java2d/opengl/CGLLayer;

  public boolean isOpaque();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.java2d.opengl.CGLLayer this
         0: .line 72
            aload 0 /* this */
            getfield sun.java2d.opengl.CGLLayer.peer:Lsun/lwawt/LWWindowPeer;
            invokevirtual sun.lwawt.LWWindowPeer.isTranslucent:()Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // sun.java2d.opengl.CGLLayer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/java2d/opengl/CGLLayer;

  public int getTransparency();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.java2d.opengl.CGLLayer this
         0: .line 76
            aload 0 /* this */
            invokevirtual sun.java2d.opengl.CGLLayer.isOpaque:()Z
            ifeq 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_3
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // sun.java2d.opengl.CGLLayer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/java2d/opengl/CGLLayer;

  public java.lang.Object getDestination();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.java2d.opengl.CGLLayer this
         0: .line 80
            aload 0 /* this */
            getfield sun.java2d.opengl.CGLLayer.peer:Lsun/lwawt/LWWindowPeer;
            areturn
        end local 0 // sun.java2d.opengl.CGLLayer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/java2d/opengl/CGLLayer;

  public sun.java2d.SurfaceData replaceSurfaceData();
    descriptor: ()Lsun/java2d/SurfaceData;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // sun.java2d.opengl.CGLLayer this
         0: .line 84
            aload 0 /* this */
            invokevirtual sun.java2d.opengl.CGLLayer.getBounds:()Ljava/awt/Rectangle;
            invokevirtual java.awt.Rectangle.isEmpty:()Z
            ifeq 3
         1: .line 85
            aload 0 /* this */
            getstatic sun.java2d.NullSurfaceData.theInstance:Lsun/java2d/SurfaceData;
            putfield sun.java2d.opengl.CGLLayer.surfaceData:Lsun/java2d/SurfaceData;
         2: .line 86
            aload 0 /* this */
            getfield sun.java2d.opengl.CGLLayer.surfaceData:Lsun/java2d/SurfaceData;
            areturn
         3: .line 91
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.java2d.opengl.CGLLayer.getGraphicsConfiguration:()Ljava/awt/GraphicsConfiguration;
            checkcast sun.awt.CGraphicsConfig
            astore 1 /* gc */
        start local 1 // sun.awt.CGraphicsConfig gc
         4: .line 92
            aload 0 /* this */
            aload 1 /* gc */
            aload 0 /* this */
            invokevirtual sun.awt.CGraphicsConfig.createSurfaceData:(Lsun/java2d/opengl/CGLLayer;)Lsun/java2d/SurfaceData;
            putfield sun.java2d.opengl.CGLLayer.surfaceData:Lsun/java2d/SurfaceData;
         5: .line 93
            aload 0 /* this */
            aload 1 /* gc */
            invokevirtual sun.awt.CGraphicsConfig.getDevice:()Lsun/awt/CGraphicsDevice;
            invokevirtual sun.awt.CGraphicsDevice.getScaleFactor:()I
            invokevirtual sun.java2d.opengl.CGLLayer.setScale:(I)V
         6: .line 96
            aload 0 /* this */
            getfield sun.java2d.opengl.CGLLayer.surfaceData:Lsun/java2d/SurfaceData;
            instanceof sun.java2d.opengl.CGLSurfaceData
            ifeq 8
         7: .line 97
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.java2d.opengl.CGLLayer.surfaceData:Lsun/java2d/SurfaceData;
            checkcast sun.java2d.opengl.CGLSurfaceData
            invokevirtual sun.java2d.opengl.CGLLayer.validate:(Lsun/java2d/opengl/CGLSurfaceData;)V
         8: .line 100
      StackMap locals: sun.awt.CGraphicsConfig
      StackMap stack:
            aload 0 /* this */
            getfield sun.java2d.opengl.CGLLayer.surfaceData:Lsun/java2d/SurfaceData;
            areturn
        end local 1 // sun.awt.CGraphicsConfig gc
        end local 0 // sun.java2d.opengl.CGLLayer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lsun/java2d/opengl/CGLLayer;
            4    9     1    gc  Lsun/awt/CGraphicsConfig;

  public sun.java2d.SurfaceData getSurfaceData();
    descriptor: ()Lsun/java2d/SurfaceData;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.java2d.opengl.CGLLayer this
         0: .line 104
            aload 0 /* this */
            getfield sun.java2d.opengl.CGLLayer.surfaceData:Lsun/java2d/SurfaceData;
            areturn
        end local 0 // sun.java2d.opengl.CGLLayer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/java2d/opengl/CGLLayer;

  public void validate(sun.java2d.opengl.CGLSurfaceData);
    descriptor: (Lsun/java2d/opengl/CGLSurfaceData;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // sun.java2d.opengl.CGLLayer this
        start local 1 // sun.java2d.opengl.CGLSurfaceData cglsd
         0: .line 108
            invokestatic sun.java2d.opengl.OGLRenderQueue.getInstance:()Lsun/java2d/opengl/OGLRenderQueue;
            astore 2 /* rq */
        start local 2 // sun.java2d.opengl.OGLRenderQueue rq
         1: .line 109
            aload 2 /* rq */
            invokevirtual sun.java2d.opengl.OGLRenderQueue.lock:()V
         2: .line 111
            aload 0 /* this */
            aload 1 /* cglsd */
            invokedynamic run(Lsun/java2d/opengl/CGLSurfaceData;)Lsun/lwawt/macosx/CFRetainedResource$CFNativeAction;
              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:
                  (J)V
                  sun/java2d/opengl/CGLLayer.lambda$0(Lsun/java2d/opengl/CGLSurfaceData;J)V (6)
                  (J)V
            invokevirtual sun.java2d.opengl.CGLLayer.execute:(Lsun/lwawt/macosx/CFRetainedResource$CFNativeAction;)V
         3: .line 112
            goto 7
      StackMap locals: sun.java2d.opengl.CGLLayer sun.java2d.opengl.CGLSurfaceData sun.java2d.opengl.OGLRenderQueue
      StackMap stack: java.lang.Throwable
         4: astore 3
         5: .line 113
            aload 2 /* rq */
            invokevirtual sun.java2d.opengl.OGLRenderQueue.unlock:()V
         6: .line 114
            aload 3
            athrow
         7: .line 113
      StackMap locals:
      StackMap stack:
            aload 2 /* rq */
            invokevirtual sun.java2d.opengl.OGLRenderQueue.unlock:()V
         8: .line 115
            return
        end local 2 // sun.java2d.opengl.OGLRenderQueue rq
        end local 1 // sun.java2d.opengl.CGLSurfaceData cglsd
        end local 0 // sun.java2d.opengl.CGLLayer this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Lsun/java2d/opengl/CGLLayer;
            0    9     1  cglsd  Lsun/java2d/opengl/CGLSurfaceData;
            1    9     2     rq  Lsun/java2d/opengl/OGLRenderQueue;
      Exception table:
        from    to  target  type
           2     4       4  any
    MethodParameters:
       Name  Flags
      cglsd  final

  public void dispose();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.java2d.opengl.CGLLayer this
         0: .line 120
            aload 0 /* this */
            aconst_null
            invokevirtual sun.java2d.opengl.CGLLayer.validate:(Lsun/java2d/opengl/CGLSurfaceData;)V
         1: .line 121
            aload 0 /* this */
            invokespecial sun.lwawt.macosx.CFRetainedResource.dispose:()V
         2: .line 122
            return
        end local 0 // sun.java2d.opengl.CGLLayer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/java2d/opengl/CGLLayer;

  private void setScale(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.java2d.opengl.CGLLayer this
        start local 1 // int _scale
         0: .line 125
            aload 0 /* this */
            getfield sun.java2d.opengl.CGLLayer.scale:I
            iload 1 /* _scale */
            if_icmpeq 3
         1: .line 126
            aload 0 /* this */
            iload 1 /* _scale */
            putfield sun.java2d.opengl.CGLLayer.scale:I
         2: .line 127
            aload 0 /* this */
            aload 0 /* this */
            invokedynamic run(Lsun/java2d/opengl/CGLLayer;)Lsun/lwawt/macosx/CFRetainedResource$CFNativeAction;
              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:
                  (J)V
                  sun/java2d/opengl/CGLLayer.lambda$1(J)V (7)
                  (J)V
            invokevirtual sun.java2d.opengl.CGLLayer.execute:(Lsun/lwawt/macosx/CFRetainedResource$CFNativeAction;)V
         3: .line 129
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int _scale
        end local 0 // sun.java2d.opengl.CGLLayer this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lsun/java2d/opengl/CGLLayer;
            0    4     1  _scale  I
    MethodParameters:
        Name  Flags
      _scale  final

  private void drawInCGLContext();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // sun.java2d.opengl.CGLLayer this
         0: .line 138
            invokestatic sun.java2d.opengl.OGLRenderQueue.getInstance:()Lsun/java2d/opengl/OGLRenderQueue;
            astore 1 /* rq */
        start local 1 // sun.java2d.opengl.OGLRenderQueue rq
         1: .line 139
            aload 1 /* rq */
            invokevirtual sun.java2d.opengl.OGLRenderQueue.lock:()V
         2: .line 141
            aload 0 /* this */
            invokedynamic run()Lsun/lwawt/macosx/CFRetainedResource$CFNativeAction;
              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:
                  (J)V
                  sun/java2d/opengl/CGLLayer.lambda$2(J)V (6)
                  (J)V
            invokevirtual sun.java2d.opengl.CGLLayer.execute:(Lsun/lwawt/macosx/CFRetainedResource$CFNativeAction;)V
         3: .line 142
            goto 7
      StackMap locals: sun.java2d.opengl.CGLLayer sun.java2d.opengl.OGLRenderQueue
      StackMap stack: java.lang.Throwable
         4: astore 2
         5: .line 143
            aload 1 /* rq */
            invokevirtual sun.java2d.opengl.OGLRenderQueue.unlock:()V
         6: .line 144
            aload 2
            athrow
         7: .line 143
      StackMap locals:
      StackMap stack:
            aload 1 /* rq */
            invokevirtual sun.java2d.opengl.OGLRenderQueue.unlock:()V
         8: .line 145
            return
        end local 1 // sun.java2d.opengl.OGLRenderQueue rq
        end local 0 // sun.java2d.opengl.CGLLayer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lsun/java2d/opengl/CGLLayer;
            1    9     1    rq  Lsun/java2d/opengl/OGLRenderQueue;
      Exception table:
        from    to  target  type
           2     4       4  any

  private static void lambda$0(sun.java2d.opengl.CGLSurfaceData, long);
    descriptor: (Lsun/java2d/opengl/CGLSurfaceData;J)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=2
        start local 1 // long ptr
         0: .line 111
            lload 1 /* ptr */
            aload 0
            invokestatic sun.java2d.opengl.CGLLayer.validate:(JLsun/java2d/opengl/CGLSurfaceData;)V
            return
        end local 1 // long ptr
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1   ptr  J

  private void lambda$1(long);
    descriptor: (J)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // sun.java2d.opengl.CGLLayer this
        start local 1 // long ptr
         0: .line 127
            lload 1 /* ptr */
            aload 0 /* this */
            getfield sun.java2d.opengl.CGLLayer.scale:I
            i2d
            invokestatic sun.java2d.opengl.CGLLayer.nativeSetScale:(JD)V
            return
        end local 1 // long ptr
        end local 0 // sun.java2d.opengl.CGLLayer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/java2d/opengl/CGLLayer;
            0    1     1   ptr  J

  private static void lambda$2(long);
    descriptor: (J)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // long ptr
         0: .line 141
            lload 0 /* ptr */
            invokestatic sun.java2d.opengl.CGLLayer.blitTexture:(J)V
            return
        end local 0 // long ptr
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   ptr  J
}
SourceFile: "CGLLayer.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract CFNativeAction = sun.lwawt.macosx.CFRetainedResource$CFNativeAction of sun.lwawt.macosx.CFRetainedResource