public class sun.java2d.d3d.D3DGraphicsDevice extends sun.awt.Win32GraphicsDevice
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.java2d.d3d.D3DGraphicsDevice
  super_class: sun.awt.Win32GraphicsDevice
{
  private sun.java2d.d3d.D3DContext context;
    descriptor: Lsun/java2d/d3d/D3DContext;
    flags: (0x0002) ACC_PRIVATE

  private static boolean d3dAvailable;
    descriptor: Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private sun.java2d.pipe.hw.ContextCapabilities d3dCaps;
    descriptor: Lsun/java2d/pipe/hw/ContextCapabilities;
    flags: (0x0002) ACC_PRIVATE

  private boolean fsStatus;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private java.awt.Rectangle ownerOrigBounds;
    descriptor: Ljava/awt/Rectangle;
    flags: (0x0002) ACC_PRIVATE

  private boolean ownerWasVisible;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private java.awt.Window realFSWindow;
    descriptor: Ljava/awt/Window;
    flags: (0x0002) ACC_PRIVATE

  private java.awt.event.WindowListener fsWindowListener;
    descriptor: Ljava/awt/event/WindowListener;
    flags: (0x0002) ACC_PRIVATE

  private boolean fsWindowWasAlwaysOnTop;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 68
            invokestatic java.awt.Toolkit.getDefaultToolkit:()Ljava/awt/Toolkit;
            pop
         1: .line 69
            invokestatic sun.java2d.d3d.D3DGraphicsDevice.initD3D:()Z
            putstatic sun.java2d.d3d.D3DGraphicsDevice.d3dAvailable:Z
         2: .line 70
            getstatic sun.java2d.d3d.D3DGraphicsDevice.d3dAvailable:Z
            ifeq 6
         3: .line 72
            iconst_1
            putstatic sun.java2d.d3d.D3DGraphicsDevice.pfDisabled:Z
         4: .line 73
            invokestatic jdk.internal.perf.PerfCounter.getD3DAvailable:()Ljdk/internal/perf/PerfCounter;
            lconst_1
            invokevirtual jdk.internal.perf.PerfCounter.set:(J)V
         5: .line 74
            goto 7
         6: .line 75
      StackMap locals:
      StackMap stack:
            invokestatic jdk.internal.perf.PerfCounter.getD3DAvailable:()Ljdk/internal/perf/PerfCounter;
            lconst_0
            invokevirtual jdk.internal.perf.PerfCounter.set:(J)V
         7: .line 77
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static native boolean initD3D();
    descriptor: ()Z
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE

  public static sun.java2d.d3d.D3DGraphicsDevice createDevice(int);
    descriptor: (I)Lsun/java2d/d3d/D3DGraphicsDevice;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // int screen
         0: .line 86
            getstatic sun.java2d.d3d.D3DGraphicsDevice.d3dAvailable:Z
            ifne 2
         1: .line 87
            aconst_null
            areturn
         2: .line 90
      StackMap locals:
      StackMap stack:
            iload 0 /* screen */
            invokestatic sun.java2d.d3d.D3DGraphicsDevice.getDeviceCaps:(I)Lsun/java2d/pipe/hw/ContextCapabilities;
            astore 1 /* d3dCaps */
        start local 1 // sun.java2d.pipe.hw.ContextCapabilities d3dCaps
         3: .line 92
            aload 1 /* d3dCaps */
            invokevirtual sun.java2d.pipe.hw.ContextCapabilities.getCaps:()I
            ldc 262144
            iand
            ifne 9
         4: .line 93
            invokestatic sun.java2d.windows.WindowsFlags.isD3DVerbose:()Z
            ifeq 8
         5: .line 94
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Could not enable Direct3D pipeline on screen "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         6: .line 95
            iload 0 /* screen */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 94
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         8: .line 97
      StackMap locals: sun.java2d.pipe.hw.ContextCapabilities
      StackMap stack:
            aconst_null
            areturn
         9: .line 99
      StackMap locals:
      StackMap stack:
            invokestatic sun.java2d.windows.WindowsFlags.isD3DVerbose:()Z
            ifeq 11
        10: .line 100
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Direct3D pipeline enabled on screen "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 0 /* screen */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        11: .line 103
      StackMap locals:
      StackMap stack:
            new sun.java2d.d3d.D3DGraphicsDevice
            dup
            iload 0 /* screen */
            aload 1 /* d3dCaps */
            invokespecial sun.java2d.d3d.D3DGraphicsDevice.<init>:(ILsun/java2d/pipe/hw/ContextCapabilities;)V
            astore 2 /* gd */
        start local 2 // sun.java2d.d3d.D3DGraphicsDevice gd
        12: .line 104
            aload 2 /* gd */
            areturn
        end local 2 // sun.java2d.d3d.D3DGraphicsDevice gd
        end local 1 // sun.java2d.pipe.hw.ContextCapabilities d3dCaps
        end local 0 // int screen
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0   screen  I
            3   13     1  d3dCaps  Lsun/java2d/pipe/hw/ContextCapabilities;
           12   13     2       gd  Lsun/java2d/d3d/D3DGraphicsDevice;
    MethodParameters:
        Name  Flags
      screen  

  private static native int getDeviceCapsNative(int);
    descriptor: (I)I
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
        Name  Flags
      screen  

  private static native java.lang.String getDeviceIdNative(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
        Name  Flags
      screen  

  private static sun.java2d.pipe.hw.ContextCapabilities getDeviceCaps(int);
    descriptor: (I)Lsun/java2d/pipe/hw/ContextCapabilities;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // int screen
         0: .line 110
            aconst_null
            astore 1 /* d3dCaps */
        start local 1 // sun.java2d.pipe.hw.ContextCapabilities d3dCaps
         1: .line 111
            invokestatic sun.java2d.d3d.D3DRenderQueue.getInstance:()Lsun/java2d/d3d/D3DRenderQueue;
            astore 2 /* rq */
        start local 2 // sun.java2d.d3d.D3DRenderQueue rq
         2: .line 112
            aload 2 /* rq */
            invokevirtual sun.java2d.d3d.D3DRenderQueue.lock:()V
         3: .line 118
            new sun.java2d.d3d.D3DGraphicsDevice$1Result
            dup
            invokespecial sun.java2d.d3d.D3DGraphicsDevice$1Result.<init>:()V
            astore 3 /* res */
        start local 3 // sun.java2d.d3d.D3DGraphicsDevice$1Result res
         4: .line 119
            aload 2 /* rq */
            new sun.java2d.d3d.D3DGraphicsDevice$1
            dup
            aload 3 /* res */
            iload 0 /* screen */
            invokespecial sun.java2d.d3d.D3DGraphicsDevice$1.<init>:(Lsun/java2d/d3d/D3DGraphicsDevice$1Result;I)V
            invokevirtual sun.java2d.d3d.D3DRenderQueue.flushAndInvokeNow:(Ljava/lang/Runnable;)V
         5: .line 125
            new sun.java2d.d3d.D3DContext$D3DContextCaps
            dup
            aload 3 /* res */
            getfield sun.java2d.d3d.D3DGraphicsDevice$1Result.caps:I
            aload 3 /* res */
            getfield sun.java2d.d3d.D3DGraphicsDevice$1Result.id:Ljava/lang/String;
            invokespecial sun.java2d.d3d.D3DContext$D3DContextCaps.<init>:(ILjava/lang/String;)V
            astore 1 /* d3dCaps */
        end local 3 // sun.java2d.d3d.D3DGraphicsDevice$1Result res
         6: .line 126
            goto 10
      StackMap locals: int sun.java2d.pipe.hw.ContextCapabilities sun.java2d.d3d.D3DRenderQueue
      StackMap stack: java.lang.Throwable
         7: astore 4
         8: .line 127
            aload 2 /* rq */
            invokevirtual sun.java2d.d3d.D3DRenderQueue.unlock:()V
         9: .line 128
            aload 4
            athrow
        10: .line 127
      StackMap locals:
      StackMap stack:
            aload 2 /* rq */
            invokevirtual sun.java2d.d3d.D3DRenderQueue.unlock:()V
        11: .line 130
            aload 1 /* d3dCaps */
            ifnull 12
            aload 1 /* d3dCaps */
            goto 13
      StackMap locals:
      StackMap stack:
        12: new sun.java2d.d3d.D3DContext$D3DContextCaps
            dup
            iconst_0
            aconst_null
            invokespecial sun.java2d.d3d.D3DContext$D3DContextCaps.<init>:(ILjava/lang/String;)V
      StackMap locals:
      StackMap stack: sun.java2d.pipe.hw.ContextCapabilities
        13: areturn
        end local 2 // sun.java2d.d3d.D3DRenderQueue rq
        end local 1 // sun.java2d.pipe.hw.ContextCapabilities d3dCaps
        end local 0 // int screen
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   14     0   screen  I
            1   14     1  d3dCaps  Lsun/java2d/pipe/hw/ContextCapabilities;
            2   14     2       rq  Lsun/java2d/d3d/D3DRenderQueue;
            4    6     3      res  Lsun/java2d/d3d/D3DGraphicsDevice$1Result;
      Exception table:
        from    to  target  type
           3     7       7  any
    MethodParameters:
        Name  Flags
      screen  final

  public final boolean isCapPresent(int);
    descriptor: (I)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.java2d.d3d.D3DGraphicsDevice this
        start local 1 // int cap
         0: .line 134
            aload 0 /* this */
            getfield sun.java2d.d3d.D3DGraphicsDevice.d3dCaps:Lsun/java2d/pipe/hw/ContextCapabilities;
            invokevirtual sun.java2d.pipe.hw.ContextCapabilities.getCaps:()I
            iload 1 /* cap */
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // int cap
        end local 0 // sun.java2d.d3d.D3DGraphicsDevice this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/java2d/d3d/D3DGraphicsDevice;
            0    2     1   cap  I
    MethodParameters:
      Name  Flags
      cap   

  private void <init>(int, sun.java2d.pipe.hw.ContextCapabilities);
    descriptor: (ILsun/java2d/pipe/hw/ContextCapabilities;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // sun.java2d.d3d.D3DGraphicsDevice this
        start local 1 // int screennum
        start local 2 // sun.java2d.pipe.hw.ContextCapabilities d3dCaps
         0: .line 138
            aload 0 /* this */
            iload 1 /* screennum */
            invokespecial sun.awt.Win32GraphicsDevice.<init>:(I)V
         1: .line 174
            aload 0 /* this */
            aconst_null
            putfield sun.java2d.d3d.D3DGraphicsDevice.ownerOrigBounds:Ljava/awt/Rectangle;
         2: .line 139
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "D3DGraphicsDevice[screen="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* screennum */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putfield sun.java2d.d3d.D3DGraphicsDevice.descString:Ljava/lang/String;
         3: .line 140
            aload 0 /* this */
            aload 2 /* d3dCaps */
            putfield sun.java2d.d3d.D3DGraphicsDevice.d3dCaps:Lsun/java2d/pipe/hw/ContextCapabilities;
         4: .line 141
            aload 0 /* this */
            new sun.java2d.d3d.D3DContext
            dup
            invokestatic sun.java2d.d3d.D3DRenderQueue.getInstance:()Lsun/java2d/d3d/D3DRenderQueue;
            aload 0 /* this */
            invokespecial sun.java2d.d3d.D3DContext.<init>:(Lsun/java2d/pipe/RenderQueue;Lsun/java2d/d3d/D3DGraphicsDevice;)V
            putfield sun.java2d.d3d.D3DGraphicsDevice.context:Lsun/java2d/d3d/D3DContext;
         5: .line 142
            return
        end local 2 // sun.java2d.pipe.hw.ContextCapabilities d3dCaps
        end local 1 // int screennum
        end local 0 // sun.java2d.d3d.D3DGraphicsDevice this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lsun/java2d/d3d/D3DGraphicsDevice;
            0    6     1  screennum  I
            0    6     2    d3dCaps  Lsun/java2d/pipe/hw/ContextCapabilities;
    MethodParameters:
           Name  Flags
      screennum  
      d3dCaps    

  public boolean isD3DEnabledOnDevice();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.java2d.d3d.D3DGraphicsDevice this
         0: .line 145
            aload 0 /* this */
            invokevirtual sun.java2d.d3d.D3DGraphicsDevice.isValid:()Z
            ifeq 1
            aload 0 /* this */
            ldc 262144
            invokevirtual sun.java2d.d3d.D3DGraphicsDevice.isCapPresent:(I)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // sun.java2d.d3d.D3DGraphicsDevice this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/java2d/d3d/D3DGraphicsDevice;

  public static boolean isD3DAvailable();
    descriptor: ()Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 153
            getstatic sun.java2d.d3d.D3DGraphicsDevice.d3dAvailable:Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private java.awt.Frame getToplevelOwner(java.awt.Window);
    descriptor: (Ljava/awt/Window;)Ljava/awt/Frame;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=3, args_size=2
        start local 0 // sun.java2d.d3d.D3DGraphicsDevice this
        start local 1 // java.awt.Window w
         0: .line 162
            aload 1 /* w */
            astore 2 /* owner */
        start local 2 // java.awt.Window owner
         1: .line 163
            goto 5
         2: .line 164
      StackMap locals: java.awt.Window
      StackMap stack:
            aload 2 /* owner */
            invokevirtual java.awt.Window.getOwner:()Ljava/awt/Window;
            astore 2 /* owner */
         3: .line 165
            aload 2 /* owner */
            instanceof java.awt.Frame
            ifeq 5
         4: .line 166
            aload 2 /* owner */
            checkcast java.awt.Frame
            areturn
         5: .line 163
      StackMap locals:
      StackMap stack:
            aload 2 /* owner */
            ifnonnull 2
         6: .line 170
            aconst_null
            areturn
        end local 2 // java.awt.Window owner
        end local 1 // java.awt.Window w
        end local 0 // sun.java2d.d3d.D3DGraphicsDevice this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lsun/java2d/d3d/D3DGraphicsDevice;
            0    7     1      w  Ljava/awt/Window;
            1    7     2  owner  Ljava/awt/Window;
    MethodParameters:
      Name  Flags
      w     

  private static native boolean enterFullScreenExclusiveNative(int, long);
    descriptor: (IJ)Z
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
        Name  Flags
      screen  
      hwnd    

  protected void enterFullScreenExclusive(int, java.awt.peer.WindowPeer);
    descriptor: (ILjava/awt/peer/WindowPeer;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=6, args_size=3
        start local 0 // sun.java2d.d3d.D3DGraphicsDevice this
        start local 1 // int screen
        start local 2 // java.awt.peer.WindowPeer wp
         0: .line 185
            invokestatic sun.awt.AWTAccessor.getComponentAccessor:()Lsun/awt/AWTAccessor$ComponentAccessor;
         1: .line 186
            aload 0 /* this */
            getfield sun.java2d.d3d.D3DGraphicsDevice.realFSWindow:Ljava/awt/Window;
            invokeinterface sun.awt.AWTAccessor$ComponentAccessor.getPeer:(Ljava/awt/Component;)Ljava/awt/peer/ComponentPeer;
            checkcast sun.awt.windows.WWindowPeer
         2: .line 185
            astore 3 /* wpeer */
        start local 3 // sun.awt.windows.WWindowPeer wpeer
         3: .line 187
            invokestatic sun.java2d.d3d.D3DRenderQueue.getInstance:()Lsun/java2d/d3d/D3DRenderQueue;
            astore 4 /* rq */
        start local 4 // sun.java2d.d3d.D3DRenderQueue rq
         4: .line 188
            aload 4 /* rq */
            invokevirtual sun.java2d.d3d.D3DRenderQueue.lock:()V
         5: .line 190
            aload 4 /* rq */
            new sun.java2d.d3d.D3DGraphicsDevice$2
            dup
            aload 0 /* this */
            aload 3 /* wpeer */
            iload 1 /* screen */
            invokespecial sun.java2d.d3d.D3DGraphicsDevice$2.<init>:(Lsun/java2d/d3d/D3DGraphicsDevice;Lsun/awt/windows/WWindowPeer;I)V
            invokevirtual sun.java2d.d3d.D3DRenderQueue.flushAndInvokeNow:(Ljava/lang/Runnable;)V
         6: .line 201
            goto 10
      StackMap locals: sun.java2d.d3d.D3DGraphicsDevice int java.awt.peer.WindowPeer sun.awt.windows.WWindowPeer sun.java2d.d3d.D3DRenderQueue
      StackMap stack: java.lang.Throwable
         7: astore 5
         8: .line 202
            aload 4 /* rq */
            invokevirtual sun.java2d.d3d.D3DRenderQueue.unlock:()V
         9: .line 203
            aload 5
            athrow
        10: .line 202
      StackMap locals:
      StackMap stack:
            aload 4 /* rq */
            invokevirtual sun.java2d.d3d.D3DRenderQueue.unlock:()V
        11: .line 204
            aload 0 /* this */
            getfield sun.java2d.d3d.D3DGraphicsDevice.fsStatus:Z
            ifne 13
        12: .line 205
            aload 0 /* this */
            iload 1 /* screen */
            aload 2 /* wp */
            invokespecial sun.awt.Win32GraphicsDevice.enterFullScreenExclusive:(ILjava/awt/peer/WindowPeer;)V
        13: .line 207
      StackMap locals:
      StackMap stack:
            return
        end local 4 // sun.java2d.d3d.D3DRenderQueue rq
        end local 3 // sun.awt.windows.WWindowPeer wpeer
        end local 2 // java.awt.peer.WindowPeer wp
        end local 1 // int screen
        end local 0 // sun.java2d.d3d.D3DGraphicsDevice this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0    this  Lsun/java2d/d3d/D3DGraphicsDevice;
            0   14     1  screen  I
            0   14     2      wp  Ljava/awt/peer/WindowPeer;
            3   14     3   wpeer  Lsun/awt/windows/WWindowPeer;
            4   14     4      rq  Lsun/java2d/d3d/D3DRenderQueue;
      Exception table:
        from    to  target  type
           5     7       7  any
    MethodParameters:
        Name  Flags
      screen  final
      wp      

  private static native boolean exitFullScreenExclusiveNative(int);
    descriptor: (I)Z
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
        Name  Flags
      screen  

  protected void exitFullScreenExclusive(int, java.awt.peer.WindowPeer);
    descriptor: (ILjava/awt/peer/WindowPeer;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // sun.java2d.d3d.D3DGraphicsDevice this
        start local 1 // int screen
        start local 2 // java.awt.peer.WindowPeer w
         0: .line 212
            aload 0 /* this */
            getfield sun.java2d.d3d.D3DGraphicsDevice.fsStatus:Z
            ifeq 10
         1: .line 213
            invokestatic sun.java2d.d3d.D3DRenderQueue.getInstance:()Lsun/java2d/d3d/D3DRenderQueue;
            astore 3 /* rq */
        start local 3 // sun.java2d.d3d.D3DRenderQueue rq
         2: .line 214
            aload 3 /* rq */
            invokevirtual sun.java2d.d3d.D3DRenderQueue.lock:()V
         3: .line 216
            aload 3 /* rq */
            new sun.java2d.d3d.D3DGraphicsDevice$3
            dup
            aload 0 /* this */
            iload 1 /* screen */
            invokespecial sun.java2d.d3d.D3DGraphicsDevice$3.<init>:(Lsun/java2d/d3d/D3DGraphicsDevice;I)V
            invokevirtual sun.java2d.d3d.D3DRenderQueue.flushAndInvokeNow:(Ljava/lang/Runnable;)V
         4: .line 221
            goto 8
      StackMap locals: sun.java2d.d3d.D3DGraphicsDevice int java.awt.peer.WindowPeer sun.java2d.d3d.D3DRenderQueue
      StackMap stack: java.lang.Throwable
         5: astore 4
         6: .line 222
            aload 3 /* rq */
            invokevirtual sun.java2d.d3d.D3DRenderQueue.unlock:()V
         7: .line 223
            aload 4
            athrow
         8: .line 222
      StackMap locals:
      StackMap stack:
            aload 3 /* rq */
            invokevirtual sun.java2d.d3d.D3DRenderQueue.unlock:()V
        end local 3 // sun.java2d.d3d.D3DRenderQueue rq
         9: .line 224
            goto 11
        10: .line 225
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* screen */
            aload 2 /* w */
            invokespecial sun.awt.Win32GraphicsDevice.exitFullScreenExclusive:(ILjava/awt/peer/WindowPeer;)V
        11: .line 227
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.awt.peer.WindowPeer w
        end local 1 // int screen
        end local 0 // sun.java2d.d3d.D3DGraphicsDevice this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0    this  Lsun/java2d/d3d/D3DGraphicsDevice;
            0   12     1  screen  I
            0   12     2       w  Ljava/awt/peer/WindowPeer;
            2    9     3      rq  Lsun/java2d/d3d/D3DRenderQueue;
      Exception table:
        from    to  target  type
           3     5       5  any
    MethodParameters:
        Name  Flags
      screen  final
      w       

  protected void addFSWindowListener(java.awt.Window);
    descriptor: (Ljava/awt/Window;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // sun.java2d.d3d.D3DGraphicsDevice this
        start local 1 // java.awt.Window w
         0: .line 256
            invokestatic sun.awt.AWTAccessor.getComponentAccessor:()Lsun/awt/AWTAccessor$ComponentAccessor;
            astore 2 /* acc */
        start local 2 // sun.awt.AWTAccessor$ComponentAccessor acc
         1: .line 257
            aload 1 /* w */
            instanceof java.awt.Frame
            ifne 10
            aload 1 /* w */
            instanceof java.awt.Dialog
            ifne 10
         2: .line 258
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* w */
            invokevirtual sun.java2d.d3d.D3DGraphicsDevice.getToplevelOwner:(Ljava/awt/Window;)Ljava/awt/Frame;
            dup_x1
            putfield sun.java2d.d3d.D3DGraphicsDevice.realFSWindow:Ljava/awt/Window;
            ifnull 10
         3: .line 260
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.java2d.d3d.D3DGraphicsDevice.realFSWindow:Ljava/awt/Window;
            invokevirtual java.awt.Window.getBounds:()Ljava/awt/Rectangle;
            putfield sun.java2d.d3d.D3DGraphicsDevice.ownerOrigBounds:Ljava/awt/Rectangle;
         4: .line 261
            aload 2 /* acc */
            aload 0 /* this */
            getfield sun.java2d.d3d.D3DGraphicsDevice.realFSWindow:Ljava/awt/Window;
            invokeinterface sun.awt.AWTAccessor$ComponentAccessor.getPeer:(Ljava/awt/Component;)Ljava/awt/peer/ComponentPeer;
            checkcast sun.awt.windows.WWindowPeer
            astore 3 /* fp */
        start local 3 // sun.awt.windows.WWindowPeer fp
         5: .line 262
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.java2d.d3d.D3DGraphicsDevice.realFSWindow:Ljava/awt/Window;
            invokevirtual java.awt.Window.isVisible:()Z
            putfield sun.java2d.d3d.D3DGraphicsDevice.ownerWasVisible:Z
         6: .line 263
            aload 1 /* w */
            invokevirtual java.awt.Window.getBounds:()Ljava/awt/Rectangle;
            astore 4 /* r */
        start local 4 // java.awt.Rectangle r
         7: .line 266
            aload 3 /* fp */
            aload 4 /* r */
            getfield java.awt.Rectangle.x:I
            aload 4 /* r */
            getfield java.awt.Rectangle.y:I
            aload 4 /* r */
            getfield java.awt.Rectangle.width:I
            aload 4 /* r */
            getfield java.awt.Rectangle.height:I
            invokevirtual sun.awt.windows.WWindowPeer.reshape:(IIII)V
         8: .line 267
            aload 3 /* fp */
            iconst_1
            invokevirtual sun.awt.windows.WWindowPeer.setVisible:(Z)V
        end local 4 // java.awt.Rectangle r
        end local 3 // sun.awt.windows.WWindowPeer fp
         9: .line 268
            goto 11
        10: .line 269
      StackMap locals: sun.awt.AWTAccessor$ComponentAccessor
      StackMap stack:
            aload 0 /* this */
            aload 1 /* w */
            putfield sun.java2d.d3d.D3DGraphicsDevice.realFSWindow:Ljava/awt/Window;
        11: .line 272
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.java2d.d3d.D3DGraphicsDevice.realFSWindow:Ljava/awt/Window;
            invokevirtual java.awt.Window.isAlwaysOnTop:()Z
            putfield sun.java2d.d3d.D3DGraphicsDevice.fsWindowWasAlwaysOnTop:Z
        12: .line 273
            aload 2 /* acc */
            aload 0 /* this */
            getfield sun.java2d.d3d.D3DGraphicsDevice.realFSWindow:Ljava/awt/Window;
            invokeinterface sun.awt.AWTAccessor$ComponentAccessor.getPeer:(Ljava/awt/Component;)Ljava/awt/peer/ComponentPeer;
            checkcast sun.awt.windows.WWindowPeer
            iconst_1
            invokevirtual sun.awt.windows.WWindowPeer.setAlwaysOnTop:(Z)V
        13: .line 275
            aload 0 /* this */
            new sun.java2d.d3d.D3DGraphicsDevice$D3DFSWindowAdapter
            dup
            invokespecial sun.java2d.d3d.D3DGraphicsDevice$D3DFSWindowAdapter.<init>:()V
            putfield sun.java2d.d3d.D3DGraphicsDevice.fsWindowListener:Ljava/awt/event/WindowListener;
        14: .line 276
            aload 0 /* this */
            getfield sun.java2d.d3d.D3DGraphicsDevice.realFSWindow:Ljava/awt/Window;
            aload 0 /* this */
            getfield sun.java2d.d3d.D3DGraphicsDevice.fsWindowListener:Ljava/awt/event/WindowListener;
            invokevirtual java.awt.Window.addWindowListener:(Ljava/awt/event/WindowListener;)V
        15: .line 277
            return
        end local 2 // sun.awt.AWTAccessor$ComponentAccessor acc
        end local 1 // java.awt.Window w
        end local 0 // sun.java2d.d3d.D3DGraphicsDevice this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   16     0  this  Lsun/java2d/d3d/D3DGraphicsDevice;
            0   16     1     w  Ljava/awt/Window;
            1   16     2   acc  Lsun/awt/AWTAccessor$ComponentAccessor;
            5    9     3    fp  Lsun/awt/windows/WWindowPeer;
            7    9     4     r  Ljava/awt/Rectangle;
    MethodParameters:
      Name  Flags
      w     

  protected void removeFSWindowListener(java.awt.Window);
    descriptor: (Ljava/awt/Window;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // sun.java2d.d3d.D3DGraphicsDevice this
        start local 1 // java.awt.Window w
         0: .line 281
            aload 0 /* this */
            getfield sun.java2d.d3d.D3DGraphicsDevice.realFSWindow:Ljava/awt/Window;
            aload 0 /* this */
            getfield sun.java2d.d3d.D3DGraphicsDevice.fsWindowListener:Ljava/awt/event/WindowListener;
            invokevirtual java.awt.Window.removeWindowListener:(Ljava/awt/event/WindowListener;)V
         1: .line 282
            aload 0 /* this */
            aconst_null
            putfield sun.java2d.d3d.D3DGraphicsDevice.fsWindowListener:Ljava/awt/event/WindowListener;
         2: .line 294
            invokestatic sun.awt.AWTAccessor.getComponentAccessor:()Lsun/awt/AWTAccessor$ComponentAccessor;
         3: .line 295
            aload 0 /* this */
            getfield sun.java2d.d3d.D3DGraphicsDevice.realFSWindow:Ljava/awt/Window;
            invokeinterface sun.awt.AWTAccessor$ComponentAccessor.getPeer:(Ljava/awt/Component;)Ljava/awt/peer/ComponentPeer;
            checkcast sun.awt.windows.WWindowPeer
         4: .line 294
            astore 2 /* wpeer */
        start local 2 // sun.awt.windows.WWindowPeer wpeer
         5: .line 296
            aload 2 /* wpeer */
            ifnull 17
         6: .line 297
            aload 0 /* this */
            getfield sun.java2d.d3d.D3DGraphicsDevice.ownerOrigBounds:Ljava/awt/Rectangle;
            ifnull 15
         7: .line 300
            aload 0 /* this */
            getfield sun.java2d.d3d.D3DGraphicsDevice.ownerOrigBounds:Ljava/awt/Rectangle;
            getfield java.awt.Rectangle.width:I
            ifne 8
            aload 0 /* this */
            getfield sun.java2d.d3d.D3DGraphicsDevice.ownerOrigBounds:Ljava/awt/Rectangle;
            iconst_1
            putfield java.awt.Rectangle.width:I
         8: .line 301
      StackMap locals: sun.awt.windows.WWindowPeer
      StackMap stack:
            aload 0 /* this */
            getfield sun.java2d.d3d.D3DGraphicsDevice.ownerOrigBounds:Ljava/awt/Rectangle;
            getfield java.awt.Rectangle.height:I
            ifne 9
            aload 0 /* this */
            getfield sun.java2d.d3d.D3DGraphicsDevice.ownerOrigBounds:Ljava/awt/Rectangle;
            iconst_1
            putfield java.awt.Rectangle.height:I
         9: .line 302
      StackMap locals:
      StackMap stack:
            aload 2 /* wpeer */
            aload 0 /* this */
            getfield sun.java2d.d3d.D3DGraphicsDevice.ownerOrigBounds:Ljava/awt/Rectangle;
            getfield java.awt.Rectangle.x:I
            aload 0 /* this */
            getfield sun.java2d.d3d.D3DGraphicsDevice.ownerOrigBounds:Ljava/awt/Rectangle;
            getfield java.awt.Rectangle.y:I
        10: .line 303
            aload 0 /* this */
            getfield sun.java2d.d3d.D3DGraphicsDevice.ownerOrigBounds:Ljava/awt/Rectangle;
            getfield java.awt.Rectangle.width:I
            aload 0 /* this */
            getfield sun.java2d.d3d.D3DGraphicsDevice.ownerOrigBounds:Ljava/awt/Rectangle;
            getfield java.awt.Rectangle.height:I
        11: .line 302
            invokevirtual sun.awt.windows.WWindowPeer.reshape:(IIII)V
        12: .line 304
            aload 0 /* this */
            getfield sun.java2d.d3d.D3DGraphicsDevice.ownerWasVisible:Z
            ifne 14
        13: .line 305
            aload 2 /* wpeer */
            iconst_0
            invokevirtual sun.awt.windows.WWindowPeer.setVisible:(Z)V
        14: .line 307
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield sun.java2d.d3d.D3DGraphicsDevice.ownerOrigBounds:Ljava/awt/Rectangle;
        15: .line 309
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.java2d.d3d.D3DGraphicsDevice.fsWindowWasAlwaysOnTop:Z
            ifne 17
        16: .line 310
            aload 2 /* wpeer */
            iconst_0
            invokevirtual sun.awt.windows.WWindowPeer.setAlwaysOnTop:(Z)V
        17: .line 314
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield sun.java2d.d3d.D3DGraphicsDevice.realFSWindow:Ljava/awt/Window;
        18: .line 315
            return
        end local 2 // sun.awt.windows.WWindowPeer wpeer
        end local 1 // java.awt.Window w
        end local 0 // sun.java2d.d3d.D3DGraphicsDevice this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   19     0   this  Lsun/java2d/d3d/D3DGraphicsDevice;
            0   19     1      w  Ljava/awt/Window;
            5   19     2  wpeer  Lsun/awt/windows/WWindowPeer;
    MethodParameters:
      Name  Flags
      w     

  private static native java.awt.DisplayMode getCurrentDisplayModeNative(int);
    descriptor: (I)Ljava/awt/DisplayMode;
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
        Name  Flags
      screen  

  protected java.awt.DisplayMode getCurrentDisplayMode(int);
    descriptor: (I)Ljava/awt/DisplayMode;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // sun.java2d.d3d.D3DGraphicsDevice this
        start local 1 // int screen
         0: .line 320
            invokestatic sun.java2d.d3d.D3DRenderQueue.getInstance:()Lsun/java2d/d3d/D3DRenderQueue;
            astore 2 /* rq */
        start local 2 // sun.java2d.d3d.D3DRenderQueue rq
         1: .line 321
            aload 2 /* rq */
            invokevirtual sun.java2d.d3d.D3DRenderQueue.lock:()V
         2: .line 326
            new sun.java2d.d3d.D3DGraphicsDevice$2Result
            dup
            aload 0 /* this */
            invokespecial sun.java2d.d3d.D3DGraphicsDevice$2Result.<init>:(Lsun/java2d/d3d/D3DGraphicsDevice;)V
            astore 3 /* res */
        start local 3 // sun.java2d.d3d.D3DGraphicsDevice$2Result res
         3: .line 327
            aload 2 /* rq */
            new sun.java2d.d3d.D3DGraphicsDevice$4
            dup
            aload 0 /* this */
            aload 3 /* res */
            iload 1 /* screen */
            invokespecial sun.java2d.d3d.D3DGraphicsDevice$4.<init>:(Lsun/java2d/d3d/D3DGraphicsDevice;Lsun/java2d/d3d/D3DGraphicsDevice$2Result;I)V
            invokevirtual sun.java2d.d3d.D3DRenderQueue.flushAndInvokeNow:(Ljava/lang/Runnable;)V
         4: .line 332
            aload 3 /* res */
            getfield sun.java2d.d3d.D3DGraphicsDevice$2Result.dm:Ljava/awt/DisplayMode;
            ifnonnull 8
         5: .line 333
            aload 0 /* this */
            iload 1 /* screen */
            invokespecial sun.awt.Win32GraphicsDevice.getCurrentDisplayMode:(I)Ljava/awt/DisplayMode;
            astore 5
         6: .line 337
            aload 2 /* rq */
            invokevirtual sun.java2d.d3d.D3DRenderQueue.unlock:()V
         7: .line 333
            aload 5
            areturn
         8: .line 335
      StackMap locals: sun.java2d.d3d.D3DRenderQueue sun.java2d.d3d.D3DGraphicsDevice$2Result
      StackMap stack:
            aload 3 /* res */
            getfield sun.java2d.d3d.D3DGraphicsDevice$2Result.dm:Ljava/awt/DisplayMode;
            astore 5
         9: .line 337
            aload 2 /* rq */
            invokevirtual sun.java2d.d3d.D3DRenderQueue.unlock:()V
        10: .line 335
            aload 5
            areturn
        end local 3 // sun.java2d.d3d.D3DGraphicsDevice$2Result res
        11: .line 336
      StackMap locals: sun.java2d.d3d.D3DGraphicsDevice int sun.java2d.d3d.D3DRenderQueue
      StackMap stack: java.lang.Throwable
            astore 4
        12: .line 337
            aload 2 /* rq */
            invokevirtual sun.java2d.d3d.D3DRenderQueue.unlock:()V
        13: .line 338
            aload 4
            athrow
        end local 2 // sun.java2d.d3d.D3DRenderQueue rq
        end local 1 // int screen
        end local 0 // sun.java2d.d3d.D3DGraphicsDevice this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0    this  Lsun/java2d/d3d/D3DGraphicsDevice;
            0   14     1  screen  I
            1   14     2      rq  Lsun/java2d/d3d/D3DRenderQueue;
            3   11     3     res  Lsun/java2d/d3d/D3DGraphicsDevice$2Result;
      Exception table:
        from    to  target  type
           2     6      11  any
           8     9      11  any
    MethodParameters:
        Name  Flags
      screen  final

  private static native void configDisplayModeNative(int, long, int, int, int, int);
    descriptor: (IJIIII)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
             Name  Flags
      screen       
      hwnd         
      width        
      height       
      bitDepth     
      refreshRate  

  protected void configDisplayMode(int, java.awt.peer.WindowPeer, int, int, int, int);
    descriptor: (ILjava/awt/peer/WindowPeer;IIII)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=10, locals=10, args_size=7
        start local 0 // sun.java2d.d3d.D3DGraphicsDevice this
        start local 1 // int screen
        start local 2 // java.awt.peer.WindowPeer w
        start local 3 // int width
        start local 4 // int height
        start local 5 // int bitDepth
        start local 6 // int refreshRate
         0: .line 350
            aload 0 /* this */
            getfield sun.java2d.d3d.D3DGraphicsDevice.fsStatus:Z
            ifne 5
         1: .line 351
            aload 0 /* this */
            iload 1 /* screen */
            aload 2 /* w */
            iload 3 /* width */
            iload 4 /* height */
            iload 5 /* bitDepth */
         2: .line 352
            iload 6 /* refreshRate */
         3: .line 351
            invokespecial sun.awt.Win32GraphicsDevice.configDisplayMode:(ILjava/awt/peer/WindowPeer;IIII)V
         4: .line 353
            return
         5: .line 355
      StackMap locals:
      StackMap stack:
            invokestatic sun.awt.AWTAccessor.getComponentAccessor:()Lsun/awt/AWTAccessor$ComponentAccessor;
         6: .line 356
            aload 0 /* this */
            getfield sun.java2d.d3d.D3DGraphicsDevice.realFSWindow:Ljava/awt/Window;
            invokeinterface sun.awt.AWTAccessor$ComponentAccessor.getPeer:(Ljava/awt/Component;)Ljava/awt/peer/ComponentPeer;
            checkcast sun.awt.windows.WWindowPeer
         7: .line 355
            astore 7 /* wpeer */
        start local 7 // sun.awt.windows.WWindowPeer wpeer
         8: .line 363
            aload 0 /* this */
            invokevirtual sun.java2d.d3d.D3DGraphicsDevice.getFullScreenWindow:()Ljava/awt/Window;
            aload 0 /* this */
            getfield sun.java2d.d3d.D3DGraphicsDevice.realFSWindow:Ljava/awt/Window;
            if_acmpeq 11
         9: .line 364
            aload 0 /* this */
            invokevirtual sun.java2d.d3d.D3DGraphicsDevice.getDefaultConfiguration:()Ljava/awt/GraphicsConfiguration;
            invokevirtual java.awt.GraphicsConfiguration.getBounds:()Ljava/awt/Rectangle;
            astore 8 /* screenBounds */
        start local 8 // java.awt.Rectangle screenBounds
        10: .line 365
            aload 7 /* wpeer */
            aload 8 /* screenBounds */
            getfield java.awt.Rectangle.x:I
            aload 8 /* screenBounds */
            getfield java.awt.Rectangle.y:I
            iload 3 /* width */
            iload 4 /* height */
            invokevirtual sun.awt.windows.WWindowPeer.reshape:(IIII)V
        end local 8 // java.awt.Rectangle screenBounds
        11: .line 368
      StackMap locals: sun.awt.windows.WWindowPeer
      StackMap stack:
            invokestatic sun.java2d.d3d.D3DRenderQueue.getInstance:()Lsun/java2d/d3d/D3DRenderQueue;
            astore 8 /* rq */
        start local 8 // sun.java2d.d3d.D3DRenderQueue rq
        12: .line 369
            aload 8 /* rq */
            invokevirtual sun.java2d.d3d.D3DRenderQueue.lock:()V
        13: .line 371
            aload 8 /* rq */
            new sun.java2d.d3d.D3DGraphicsDevice$5
            dup
            aload 0 /* this */
            aload 7 /* wpeer */
            iload 1 /* screen */
            iload 3 /* width */
            iload 4 /* height */
            iload 5 /* bitDepth */
            iload 6 /* refreshRate */
            invokespecial sun.java2d.d3d.D3DGraphicsDevice$5.<init>:(Lsun/java2d/d3d/D3DGraphicsDevice;Lsun/awt/windows/WWindowPeer;IIIII)V
            invokevirtual sun.java2d.d3d.D3DRenderQueue.flushAndInvokeNow:(Ljava/lang/Runnable;)V
        14: .line 384
            goto 18
      StackMap locals: sun.java2d.d3d.D3DGraphicsDevice int java.awt.peer.WindowPeer int int int int sun.awt.windows.WWindowPeer sun.java2d.d3d.D3DRenderQueue
      StackMap stack: java.lang.Throwable
        15: astore 9
        16: .line 385
            aload 8 /* rq */
            invokevirtual sun.java2d.d3d.D3DRenderQueue.unlock:()V
        17: .line 386
            aload 9
            athrow
        18: .line 385
      StackMap locals:
      StackMap stack:
            aload 8 /* rq */
            invokevirtual sun.java2d.d3d.D3DRenderQueue.unlock:()V
        19: .line 387
            return
        end local 8 // sun.java2d.d3d.D3DRenderQueue rq
        end local 7 // sun.awt.windows.WWindowPeer wpeer
        end local 6 // int refreshRate
        end local 5 // int bitDepth
        end local 4 // int height
        end local 3 // int width
        end local 2 // java.awt.peer.WindowPeer w
        end local 1 // int screen
        end local 0 // sun.java2d.d3d.D3DGraphicsDevice this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   20     0          this  Lsun/java2d/d3d/D3DGraphicsDevice;
            0   20     1        screen  I
            0   20     2             w  Ljava/awt/peer/WindowPeer;
            0   20     3         width  I
            0   20     4        height  I
            0   20     5      bitDepth  I
            0   20     6   refreshRate  I
            8   20     7         wpeer  Lsun/awt/windows/WWindowPeer;
           10   11     8  screenBounds  Ljava/awt/Rectangle;
           12   20     8            rq  Lsun/java2d/d3d/D3DRenderQueue;
      Exception table:
        from    to  target  type
          13    15      15  any
    MethodParameters:
             Name  Flags
      screen       final
      w            final
      width        final
      height       final
      bitDepth     final
      refreshRate  final

  private static native void enumDisplayModesNative(int, java.util.ArrayList<java.awt.DisplayMode>);
    descriptor: (ILjava/util/ArrayList;)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    Signature: (ILjava/util/ArrayList<Ljava/awt/DisplayMode;>;)V
    MethodParameters:
        Name  Flags
      screen  
      modes   

  protected void enumDisplayModes(int, java.util.ArrayList<java.awt.DisplayMode>);
    descriptor: (ILjava/util/ArrayList;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // sun.java2d.d3d.D3DGraphicsDevice this
        start local 1 // int screen
        start local 2 // java.util.ArrayList modes
         0: .line 393
            invokestatic sun.java2d.d3d.D3DRenderQueue.getInstance:()Lsun/java2d/d3d/D3DRenderQueue;
            astore 3 /* rq */
        start local 3 // sun.java2d.d3d.D3DRenderQueue rq
         1: .line 394
            aload 3 /* rq */
            invokevirtual sun.java2d.d3d.D3DRenderQueue.lock:()V
         2: .line 396
            aload 3 /* rq */
            new sun.java2d.d3d.D3DGraphicsDevice$6
            dup
            aload 0 /* this */
            iload 1 /* screen */
            aload 2 /* modes */
            invokespecial sun.java2d.d3d.D3DGraphicsDevice$6.<init>:(Lsun/java2d/d3d/D3DGraphicsDevice;ILjava/util/ArrayList;)V
            invokevirtual sun.java2d.d3d.D3DRenderQueue.flushAndInvokeNow:(Ljava/lang/Runnable;)V
         3: .line 401
            aload 2 /* modes */
            invokevirtual java.util.ArrayList.size:()I
            ifne 9
         4: .line 402
            aload 2 /* modes */
            iload 1 /* screen */
            invokestatic sun.java2d.d3d.D3DGraphicsDevice.getCurrentDisplayModeNative:(I)Ljava/awt/DisplayMode;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         5: .line 404
            goto 9
      StackMap locals: sun.java2d.d3d.D3DGraphicsDevice int java.util.ArrayList sun.java2d.d3d.D3DRenderQueue
      StackMap stack: java.lang.Throwable
         6: astore 4
         7: .line 405
            aload 3 /* rq */
            invokevirtual sun.java2d.d3d.D3DRenderQueue.unlock:()V
         8: .line 406
            aload 4
            athrow
         9: .line 405
      StackMap locals:
      StackMap stack:
            aload 3 /* rq */
            invokevirtual sun.java2d.d3d.D3DRenderQueue.unlock:()V
        10: .line 407
            return
        end local 3 // sun.java2d.d3d.D3DRenderQueue rq
        end local 2 // java.util.ArrayList modes
        end local 1 // int screen
        end local 0 // sun.java2d.d3d.D3DGraphicsDevice this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Lsun/java2d/d3d/D3DGraphicsDevice;
            0   11     1  screen  I
            0   11     2   modes  Ljava/util/ArrayList<Ljava/awt/DisplayMode;>;
            1   11     3      rq  Lsun/java2d/d3d/D3DRenderQueue;
      Exception table:
        from    to  target  type
           2     6       6  any
    Signature: (ILjava/util/ArrayList<Ljava/awt/DisplayMode;>;)V
    MethodParameters:
        Name  Flags
      screen  final
      modes   final

  private static native long getAvailableAcceleratedMemoryNative(int);
    descriptor: (I)J
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
        Name  Flags
      screen  

  public int getAvailableAcceleratedMemory();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // sun.java2d.d3d.D3DGraphicsDevice this
         0: .line 412
            invokestatic sun.java2d.d3d.D3DRenderQueue.getInstance:()Lsun/java2d/d3d/D3DRenderQueue;
            astore 1 /* rq */
        start local 1 // sun.java2d.d3d.D3DRenderQueue rq
         1: .line 413
            aload 1 /* rq */
            invokevirtual sun.java2d.d3d.D3DRenderQueue.lock:()V
         2: .line 418
            new sun.java2d.d3d.D3DGraphicsDevice$3Result
            dup
            aload 0 /* this */
            invokespecial sun.java2d.d3d.D3DGraphicsDevice$3Result.<init>:(Lsun/java2d/d3d/D3DGraphicsDevice;)V
            astore 2 /* res */
        start local 2 // sun.java2d.d3d.D3DGraphicsDevice$3Result res
         3: .line 419
            aload 1 /* rq */
            new sun.java2d.d3d.D3DGraphicsDevice$7
            dup
            aload 0 /* this */
            aload 2 /* res */
            invokespecial sun.java2d.d3d.D3DGraphicsDevice$7.<init>:(Lsun/java2d/d3d/D3DGraphicsDevice;Lsun/java2d/d3d/D3DGraphicsDevice$3Result;)V
            invokevirtual sun.java2d.d3d.D3DRenderQueue.flushAndInvokeNow:(Ljava/lang/Runnable;)V
         4: .line 424
            aload 2 /* res */
            getfield sun.java2d.d3d.D3DGraphicsDevice$3Result.mem:J
            l2i
            istore 4
         5: .line 426
            aload 1 /* rq */
            invokevirtual sun.java2d.d3d.D3DRenderQueue.unlock:()V
         6: .line 424
            iload 4
            ireturn
        end local 2 // sun.java2d.d3d.D3DGraphicsDevice$3Result res
         7: .line 425
      StackMap locals: sun.java2d.d3d.D3DGraphicsDevice sun.java2d.d3d.D3DRenderQueue
      StackMap stack: java.lang.Throwable
            astore 3
         8: .line 426
            aload 1 /* rq */
            invokevirtual sun.java2d.d3d.D3DRenderQueue.unlock:()V
         9: .line 427
            aload 3
            athrow
        end local 1 // sun.java2d.d3d.D3DRenderQueue rq
        end local 0 // sun.java2d.d3d.D3DGraphicsDevice this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lsun/java2d/d3d/D3DGraphicsDevice;
            1   10     1    rq  Lsun/java2d/d3d/D3DRenderQueue;
            3    7     2   res  Lsun/java2d/d3d/D3DGraphicsDevice$3Result;
      Exception table:
        from    to  target  type
           2     5       7  any

  public java.awt.GraphicsConfiguration[] getConfigurations();
    descriptor: ()[Ljava/awt/GraphicsConfiguration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.java2d.d3d.D3DGraphicsDevice this
         0: .line 432
            aload 0 /* this */
            getfield sun.java2d.d3d.D3DGraphicsDevice.configs:[Ljava/awt/GraphicsConfiguration;
            ifnonnull 7
         1: .line 433
            aload 0 /* this */
            invokevirtual sun.java2d.d3d.D3DGraphicsDevice.isD3DEnabledOnDevice:()Z
            ifeq 7
         2: .line 434
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual sun.java2d.d3d.D3DGraphicsDevice.getDefaultConfiguration:()Ljava/awt/GraphicsConfiguration;
            putfield sun.java2d.d3d.D3DGraphicsDevice.defaultConfig:Ljava/awt/GraphicsConfiguration;
         3: .line 435
            aload 0 /* this */
            getfield sun.java2d.d3d.D3DGraphicsDevice.defaultConfig:Ljava/awt/GraphicsConfiguration;
            ifnull 7
         4: .line 436
            aload 0 /* this */
            iconst_1
            anewarray java.awt.GraphicsConfiguration
            putfield sun.java2d.d3d.D3DGraphicsDevice.configs:[Ljava/awt/GraphicsConfiguration;
         5: .line 437
            aload 0 /* this */
            getfield sun.java2d.d3d.D3DGraphicsDevice.configs:[Ljava/awt/GraphicsConfiguration;
            iconst_0
            aload 0 /* this */
            getfield sun.java2d.d3d.D3DGraphicsDevice.defaultConfig:Ljava/awt/GraphicsConfiguration;
            aastore
         6: .line 438
            aload 0 /* this */
            getfield sun.java2d.d3d.D3DGraphicsDevice.configs:[Ljava/awt/GraphicsConfiguration;
            invokevirtual java.awt.GraphicsConfiguration[].clone:()Ljava/lang/Object;
            checkcast java.awt.GraphicsConfiguration[]
            areturn
         7: .line 442
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokespecial sun.awt.Win32GraphicsDevice.getConfigurations:()[Ljava/awt/GraphicsConfiguration;
            areturn
        end local 0 // sun.java2d.d3d.D3DGraphicsDevice this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lsun/java2d/d3d/D3DGraphicsDevice;

  public java.awt.GraphicsConfiguration getDefaultConfiguration();
    descriptor: ()Ljava/awt/GraphicsConfiguration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // sun.java2d.d3d.D3DGraphicsDevice this
         0: .line 447
            aload 0 /* this */
            getfield sun.java2d.d3d.D3DGraphicsDevice.defaultConfig:Ljava/awt/GraphicsConfiguration;
            ifnonnull 5
         1: .line 448
            aload 0 /* this */
            invokevirtual sun.java2d.d3d.D3DGraphicsDevice.isD3DEnabledOnDevice:()Z
            ifeq 4
         2: .line 449
            aload 0 /* this */
            new sun.java2d.d3d.D3DGraphicsConfig
            dup
            aload 0 /* this */
            invokespecial sun.java2d.d3d.D3DGraphicsConfig.<init>:(Lsun/java2d/d3d/D3DGraphicsDevice;)V
            putfield sun.java2d.d3d.D3DGraphicsDevice.defaultConfig:Ljava/awt/GraphicsConfiguration;
         3: .line 450
            goto 5
         4: .line 451
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokespecial sun.awt.Win32GraphicsDevice.getDefaultConfiguration:()Ljava/awt/GraphicsConfiguration;
            putfield sun.java2d.d3d.D3DGraphicsDevice.defaultConfig:Ljava/awt/GraphicsConfiguration;
         5: .line 454
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.java2d.d3d.D3DGraphicsDevice.defaultConfig:Ljava/awt/GraphicsConfiguration;
            areturn
        end local 0 // sun.java2d.d3d.D3DGraphicsDevice this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lsun/java2d/d3d/D3DGraphicsDevice;

  private static native boolean isD3DAvailableOnDeviceNative(int);
    descriptor: (I)Z
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
        Name  Flags
      screen  

  public static boolean isD3DAvailableOnDevice(int);
    descriptor: (I)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // int screen
         0: .line 460
            getstatic sun.java2d.d3d.D3DGraphicsDevice.d3dAvailable:Z
            ifne 2
         1: .line 461
            iconst_0
            ireturn
         2: .line 466
      StackMap locals:
      StackMap stack:
            invokestatic sun.java2d.d3d.D3DRenderQueue.getInstance:()Lsun/java2d/d3d/D3DRenderQueue;
            astore 1 /* rq */
        start local 1 // sun.java2d.d3d.D3DRenderQueue rq
         3: .line 467
            aload 1 /* rq */
            invokevirtual sun.java2d.d3d.D3DRenderQueue.lock:()V
         4: .line 472
            new sun.java2d.d3d.D3DGraphicsDevice$4Result
            dup
            invokespecial sun.java2d.d3d.D3DGraphicsDevice$4Result.<init>:()V
            astore 2 /* res */
        start local 2 // sun.java2d.d3d.D3DGraphicsDevice$4Result res
         5: .line 473
            aload 1 /* rq */
            new sun.java2d.d3d.D3DGraphicsDevice$8
            dup
            aload 2 /* res */
            iload 0 /* screen */
            invokespecial sun.java2d.d3d.D3DGraphicsDevice$8.<init>:(Lsun/java2d/d3d/D3DGraphicsDevice$4Result;I)V
            invokevirtual sun.java2d.d3d.D3DRenderQueue.flushAndInvokeNow:(Ljava/lang/Runnable;)V
         6: .line 478
            aload 2 /* res */
            getfield sun.java2d.d3d.D3DGraphicsDevice$4Result.avail:Z
            istore 4
         7: .line 480
            aload 1 /* rq */
            invokevirtual sun.java2d.d3d.D3DRenderQueue.unlock:()V
         8: .line 478
            iload 4
            ireturn
        end local 2 // sun.java2d.d3d.D3DGraphicsDevice$4Result res
         9: .line 479
      StackMap locals: int sun.java2d.d3d.D3DRenderQueue
      StackMap stack: java.lang.Throwable
            astore 3
        10: .line 480
            aload 1 /* rq */
            invokevirtual sun.java2d.d3d.D3DRenderQueue.unlock:()V
        11: .line 481
            aload 3
            athrow
        end local 1 // sun.java2d.d3d.D3DRenderQueue rq
        end local 0 // int screen
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0  screen  I
            3   12     1      rq  Lsun/java2d/d3d/D3DRenderQueue;
            5    9     2     res  Lsun/java2d/d3d/D3DGraphicsDevice$4Result;
      Exception table:
        from    to  target  type
           4     7       9  any
    MethodParameters:
        Name  Flags
      screen  final

  sun.java2d.d3d.D3DContext getContext();
    descriptor: ()Lsun/java2d/d3d/D3DContext;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.java2d.d3d.D3DGraphicsDevice this
         0: .line 485
            aload 0 /* this */
            getfield sun.java2d.d3d.D3DGraphicsDevice.context:Lsun/java2d/d3d/D3DContext;
            areturn
        end local 0 // sun.java2d.d3d.D3DGraphicsDevice this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/java2d/d3d/D3DGraphicsDevice;

  sun.java2d.pipe.hw.ContextCapabilities getContextCapabilities();
    descriptor: ()Lsun/java2d/pipe/hw/ContextCapabilities;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.java2d.d3d.D3DGraphicsDevice this
         0: .line 489
            aload 0 /* this */
            getfield sun.java2d.d3d.D3DGraphicsDevice.d3dCaps:Lsun/java2d/pipe/hw/ContextCapabilities;
            areturn
        end local 0 // sun.java2d.d3d.D3DGraphicsDevice this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/java2d/d3d/D3DGraphicsDevice;

  public void displayChanged();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.java2d.d3d.D3DGraphicsDevice this
         0: .line 494
            aload 0 /* this */
            invokespecial sun.awt.Win32GraphicsDevice.displayChanged:()V
         1: .line 497
            getstatic sun.java2d.d3d.D3DGraphicsDevice.d3dAvailable:Z
            ifeq 3
         2: .line 498
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual sun.java2d.d3d.D3DGraphicsDevice.getScreen:()I
            invokestatic sun.java2d.d3d.D3DGraphicsDevice.getDeviceCaps:(I)Lsun/java2d/pipe/hw/ContextCapabilities;
            putfield sun.java2d.d3d.D3DGraphicsDevice.d3dCaps:Lsun/java2d/pipe/hw/ContextCapabilities;
         3: .line 500
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.java2d.d3d.D3DGraphicsDevice this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/java2d/d3d/D3DGraphicsDevice;

  protected void invalidate(int);
    descriptor: (I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // sun.java2d.d3d.D3DGraphicsDevice this
        start local 1 // int defaultScreen
         0: .line 504
            aload 0 /* this */
            iload 1 /* defaultScreen */
            invokespecial sun.awt.Win32GraphicsDevice.invalidate:(I)V
         1: .line 507
            aload 0 /* this */
            new sun.java2d.d3d.D3DContext$D3DContextCaps
            dup
            iconst_0
            aconst_null
            invokespecial sun.java2d.d3d.D3DContext$D3DContextCaps.<init>:(ILjava/lang/String;)V
            putfield sun.java2d.d3d.D3DGraphicsDevice.d3dCaps:Lsun/java2d/pipe/hw/ContextCapabilities;
         2: .line 508
            return
        end local 1 // int defaultScreen
        end local 0 // sun.java2d.d3d.D3DGraphicsDevice this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lsun/java2d/d3d/D3DGraphicsDevice;
            0    3     1  defaultScreen  I
    MethodParameters:
               Name  Flags
      defaultScreen  
}
SourceFile: "D3DGraphicsDevice.java"
NestMembers:
  sun.java2d.d3d.D3DGraphicsDevice$1  sun.java2d.d3d.D3DGraphicsDevice$1Result  sun.java2d.d3d.D3DGraphicsDevice$2  sun.java2d.d3d.D3DGraphicsDevice$2Result  sun.java2d.d3d.D3DGraphicsDevice$3  sun.java2d.d3d.D3DGraphicsDevice$3Result  sun.java2d.d3d.D3DGraphicsDevice$4  sun.java2d.d3d.D3DGraphicsDevice$4Result  sun.java2d.d3d.D3DGraphicsDevice$5  sun.java2d.d3d.D3DGraphicsDevice$6  sun.java2d.d3d.D3DGraphicsDevice$7  sun.java2d.d3d.D3DGraphicsDevice$8  sun.java2d.d3d.D3DGraphicsDevice$D3DFSWindowAdapter
InnerClasses:
  public abstract ComponentAccessor = sun.awt.AWTAccessor$ComponentAccessor of sun.awt.AWTAccessor
  D3DContextCaps = sun.java2d.d3d.D3DContext$D3DContextCaps of sun.java2d.d3d.D3DContext
  sun.java2d.d3d.D3DGraphicsDevice$1
  Result = sun.java2d.d3d.D3DGraphicsDevice$1Result
  sun.java2d.d3d.D3DGraphicsDevice$2
  Result = sun.java2d.d3d.D3DGraphicsDevice$2Result
  sun.java2d.d3d.D3DGraphicsDevice$3
  Result = sun.java2d.d3d.D3DGraphicsDevice$3Result
  sun.java2d.d3d.D3DGraphicsDevice$4
  Result = sun.java2d.d3d.D3DGraphicsDevice$4Result
  sun.java2d.d3d.D3DGraphicsDevice$5
  sun.java2d.d3d.D3DGraphicsDevice$6
  sun.java2d.d3d.D3DGraphicsDevice$7
  sun.java2d.d3d.D3DGraphicsDevice$8
  private D3DFSWindowAdapter = sun.java2d.d3d.D3DGraphicsDevice$D3DFSWindowAdapter of sun.java2d.d3d.D3DGraphicsDevice