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=1, locals=0, args_size=0
         0: .line 67
            invokestatic java.awt.Toolkit.getDefaultToolkit:()Ljava/awt/Toolkit;
            pop
         1: .line 68
            invokestatic sun.java2d.d3d.D3DGraphicsDevice.initD3D:()Z
            putstatic sun.java2d.d3d.D3DGraphicsDevice.d3dAvailable:Z
         2: .line 69
            getstatic sun.java2d.d3d.D3DGraphicsDevice.d3dAvailable:Z
            ifeq 4
         3: .line 71
            iconst_1
            putstatic sun.java2d.d3d.D3DGraphicsDevice.pfDisabled:Z
         4: .line 73
      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 82
            getstatic sun.java2d.d3d.D3DGraphicsDevice.d3dAvailable:Z
            ifne 2
         1: .line 83
            aconst_null
            areturn
         2: .line 86
      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 88
            aload 1 /* d3dCaps */
            invokevirtual sun.java2d.pipe.hw.ContextCapabilities.getCaps:()I
            ldc 262144
            iand
            ifne 9
         4: .line 89
            invokestatic sun.java2d.windows.WindowsFlags.isD3DVerbose:()Z
            ifeq 8
         5: .line 90
            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 91
            iload 0 /* screen */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 90
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         8: .line 93
      StackMap locals: sun.java2d.pipe.hw.ContextCapabilities
      StackMap stack:
            aconst_null
            areturn
         9: .line 95
      StackMap locals:
      StackMap stack:
            invokestatic sun.java2d.windows.WindowsFlags.isD3DVerbose:()Z
            ifeq 11
        10: .line 96
            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 99
      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 100
            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 106
            aconst_null
            astore 1 /* d3dCaps */
        start local 1 // sun.java2d.pipe.hw.ContextCapabilities d3dCaps
         1: .line 107
            invokestatic sun.java2d.d3d.D3DRenderQueue.getInstance:()Lsun/java2d/d3d/D3DRenderQueue;
            astore 2 /* rq */
        start local 2 // sun.java2d.d3d.D3DRenderQueue rq
         2: .line 108
            aload 2 /* rq */
            invokevirtual sun.java2d.d3d.D3DRenderQueue.lock:()V
         3: .line 114
            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 115
            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 121
            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 122
            goto 10
      StackMap locals: int sun.java2d.pipe.hw.ContextCapabilities sun.java2d.d3d.D3DRenderQueue
      StackMap stack: java.lang.Throwable
         7: astore 4
         8: .line 123
            aload 2 /* rq */
            invokevirtual sun.java2d.d3d.D3DRenderQueue.unlock:()V
         9: .line 124
            aload 4
            athrow
        10: .line 123
      StackMap locals:
      StackMap stack:
            aload 2 /* rq */
            invokevirtual sun.java2d.d3d.D3DRenderQueue.unlock:()V
        11: .line 126
            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 130
            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 134
            aload 0 /* this */
            iload 1 /* screennum */
            invokespecial sun.awt.Win32GraphicsDevice.<init>:(I)V
         1: .line 170
            aload 0 /* this */
            aconst_null
            putfield sun.java2d.d3d.D3DGraphicsDevice.ownerOrigBounds:Ljava/awt/Rectangle;
         2: .line 135
            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 136
            aload 0 /* this */
            aload 2 /* d3dCaps */
            putfield sun.java2d.d3d.D3DGraphicsDevice.d3dCaps:Lsun/java2d/pipe/hw/ContextCapabilities;
         4: .line 137
            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 138
            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 141
            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 149
            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 158
            aload 1 /* w */
            astore 2 /* owner */
        start local 2 // java.awt.Window owner
         1: .line 159
            goto 5
         2: .line 160
      StackMap locals: java.awt.Window
      StackMap stack:
            aload 2 /* owner */
            invokevirtual java.awt.Window.getOwner:()Ljava/awt/Window;
            astore 2 /* owner */
         3: .line 161
            aload 2 /* owner */
            instanceof java.awt.Frame
            ifeq 5
         4: .line 162
            aload 2 /* owner */
            checkcast java.awt.Frame
            areturn
         5: .line 159
      StackMap locals:
      StackMap stack:
            aload 2 /* owner */
            ifnonnull 2
         6: .line 166
            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 181
            invokestatic sun.awt.AWTAccessor.getComponentAccessor:()Lsun/awt/AWTAccessor$ComponentAccessor;
         1: .line 182
            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 181
            astore 3 /* wpeer */
        start local 3 // sun.awt.windows.WWindowPeer wpeer
         3: .line 183
            invokestatic sun.java2d.d3d.D3DRenderQueue.getInstance:()Lsun/java2d/d3d/D3DRenderQueue;
            astore 4 /* rq */
        start local 4 // sun.java2d.d3d.D3DRenderQueue rq
         4: .line 184
            aload 4 /* rq */
            invokevirtual sun.java2d.d3d.D3DRenderQueue.lock:()V
         5: .line 186
            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 197
            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 198
            aload 4 /* rq */
            invokevirtual sun.java2d.d3d.D3DRenderQueue.unlock:()V
         9: .line 199
            aload 5
            athrow
        10: .line 198
      StackMap locals:
      StackMap stack:
            aload 4 /* rq */
            invokevirtual sun.java2d.d3d.D3DRenderQueue.unlock:()V
        11: .line 200
            aload 0 /* this */
            getfield sun.java2d.d3d.D3DGraphicsDevice.fsStatus:Z
            ifne 13
        12: .line 201
            aload 0 /* this */
            iload 1 /* screen */
            aload 2 /* wp */
            invokespecial sun.awt.Win32GraphicsDevice.enterFullScreenExclusive:(ILjava/awt/peer/WindowPeer;)V
        13: .line 203
      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 208
            aload 0 /* this */
            getfield sun.java2d.d3d.D3DGraphicsDevice.fsStatus:Z
            ifeq 10
         1: .line 209
            invokestatic sun.java2d.d3d.D3DRenderQueue.getInstance:()Lsun/java2d/d3d/D3DRenderQueue;
            astore 3 /* rq */
        start local 3 // sun.java2d.d3d.D3DRenderQueue rq
         2: .line 210
            aload 3 /* rq */
            invokevirtual sun.java2d.d3d.D3DRenderQueue.lock:()V
         3: .line 212
            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 217
            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 218
            aload 3 /* rq */
            invokevirtual sun.java2d.d3d.D3DRenderQueue.unlock:()V
         7: .line 219
            aload 4
            athrow
         8: .line 218
      StackMap locals:
      StackMap stack:
            aload 3 /* rq */
            invokevirtual sun.java2d.d3d.D3DRenderQueue.unlock:()V
        end local 3 // sun.java2d.d3d.D3DRenderQueue rq
         9: .line 220
            goto 11
        10: .line 221
      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 223
      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 252
            invokestatic sun.awt.AWTAccessor.getComponentAccessor:()Lsun/awt/AWTAccessor$ComponentAccessor;
            astore 2 /* acc */
        start local 2 // sun.awt.AWTAccessor$ComponentAccessor acc
         1: .line 253
            aload 1 /* w */
            instanceof java.awt.Frame
            ifne 10
            aload 1 /* w */
            instanceof java.awt.Dialog
            ifne 10
         2: .line 254
            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 256
            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 257
            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 258
            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 259
            aload 1 /* w */
            invokevirtual java.awt.Window.getBounds:()Ljava/awt/Rectangle;
            astore 4 /* r */
        start local 4 // java.awt.Rectangle r
         7: .line 262
            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 263
            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 264
            goto 11
        10: .line 265
      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 268
      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 269
            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 271
            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 272
            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 273
            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 277
            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 278
            aload 0 /* this */
            aconst_null
            putfield sun.java2d.d3d.D3DGraphicsDevice.fsWindowListener:Ljava/awt/event/WindowListener;
         2: .line 290
            invokestatic sun.awt.AWTAccessor.getComponentAccessor:()Lsun/awt/AWTAccessor$ComponentAccessor;
         3: .line 291
            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 290
            astore 2 /* wpeer */
        start local 2 // sun.awt.windows.WWindowPeer wpeer
         5: .line 292
            aload 2 /* wpeer */
            ifnull 17
         6: .line 293
            aload 0 /* this */
            getfield sun.java2d.d3d.D3DGraphicsDevice.ownerOrigBounds:Ljava/awt/Rectangle;
            ifnull 15
         7: .line 296
            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 297
      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 298
      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 299
            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 298
            invokevirtual sun.awt.windows.WWindowPeer.reshape:(IIII)V
        12: .line 300
            aload 0 /* this */
            getfield sun.java2d.d3d.D3DGraphicsDevice.ownerWasVisible:Z
            ifne 14
        13: .line 301
            aload 2 /* wpeer */
            iconst_0
            invokevirtual sun.awt.windows.WWindowPeer.setVisible:(Z)V
        14: .line 303
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield sun.java2d.d3d.D3DGraphicsDevice.ownerOrigBounds:Ljava/awt/Rectangle;
        15: .line 305
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.java2d.d3d.D3DGraphicsDevice.fsWindowWasAlwaysOnTop:Z
            ifne 17
        16: .line 306
            aload 2 /* wpeer */
            iconst_0
            invokevirtual sun.awt.windows.WWindowPeer.setAlwaysOnTop:(Z)V
        17: .line 310
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield sun.java2d.d3d.D3DGraphicsDevice.realFSWindow:Ljava/awt/Window;
        18: .line 311
            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 316
            invokestatic sun.java2d.d3d.D3DRenderQueue.getInstance:()Lsun/java2d/d3d/D3DRenderQueue;
            astore 2 /* rq */
        start local 2 // sun.java2d.d3d.D3DRenderQueue rq
         1: .line 317
            aload 2 /* rq */
            invokevirtual sun.java2d.d3d.D3DRenderQueue.lock:()V
         2: .line 322
            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 323
            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 328
            aload 3 /* res */
            getfield sun.java2d.d3d.D3DGraphicsDevice$2Result.dm:Ljava/awt/DisplayMode;
            ifnonnull 8
         5: .line 329
            aload 0 /* this */
            iload 1 /* screen */
            invokespecial sun.awt.Win32GraphicsDevice.getCurrentDisplayMode:(I)Ljava/awt/DisplayMode;
            astore 5
         6: .line 333
            aload 2 /* rq */
            invokevirtual sun.java2d.d3d.D3DRenderQueue.unlock:()V
         7: .line 329
            aload 5
            areturn
         8: .line 331
      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 333
            aload 2 /* rq */
            invokevirtual sun.java2d.d3d.D3DRenderQueue.unlock:()V
        10: .line 331
            aload 5
            areturn
        end local 3 // sun.java2d.d3d.D3DGraphicsDevice$2Result res
        11: .line 332
      StackMap locals: sun.java2d.d3d.D3DGraphicsDevice int sun.java2d.d3d.D3DRenderQueue
      StackMap stack: java.lang.Throwable
            astore 4
        12: .line 333
            aload 2 /* rq */
            invokevirtual sun.java2d.d3d.D3DRenderQueue.unlock:()V
        13: .line 334
            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 346
            aload 0 /* this */
            getfield sun.java2d.d3d.D3DGraphicsDevice.fsStatus:Z
            ifne 5
         1: .line 347
            aload 0 /* this */
            iload 1 /* screen */
            aload 2 /* w */
            iload 3 /* width */
            iload 4 /* height */
            iload 5 /* bitDepth */
         2: .line 348
            iload 6 /* refreshRate */
         3: .line 347
            invokespecial sun.awt.Win32GraphicsDevice.configDisplayMode:(ILjava/awt/peer/WindowPeer;IIII)V
         4: .line 349
            return
         5: .line 351
      StackMap locals:
      StackMap stack:
            invokestatic sun.awt.AWTAccessor.getComponentAccessor:()Lsun/awt/AWTAccessor$ComponentAccessor;
         6: .line 352
            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 351
            astore 7 /* wpeer */
        start local 7 // sun.awt.windows.WWindowPeer wpeer
         8: .line 359
            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 360
            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 361
            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 364
      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 365
            aload 8 /* rq */
            invokevirtual sun.java2d.d3d.D3DRenderQueue.lock:()V
        13: .line 367
            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 380
            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 381
            aload 8 /* rq */
            invokevirtual sun.java2d.d3d.D3DRenderQueue.unlock:()V
        17: .line 382
            aload 9
            athrow
        18: .line 381
      StackMap locals:
      StackMap stack:
            aload 8 /* rq */
            invokevirtual sun.java2d.d3d.D3DRenderQueue.unlock:()V
        19: .line 383
            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 389
            invokestatic sun.java2d.d3d.D3DRenderQueue.getInstance:()Lsun/java2d/d3d/D3DRenderQueue;
            astore 3 /* rq */
        start local 3 // sun.java2d.d3d.D3DRenderQueue rq
         1: .line 390
            aload 3 /* rq */
            invokevirtual sun.java2d.d3d.D3DRenderQueue.lock:()V
         2: .line 392
            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 397
            aload 2 /* modes */
            invokevirtual java.util.ArrayList.size:()I
            ifne 9
         4: .line 398
            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 400
            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 401
            aload 3 /* rq */
            invokevirtual sun.java2d.d3d.D3DRenderQueue.unlock:()V
         8: .line 402
            aload 4
            athrow
         9: .line 401
      StackMap locals:
      StackMap stack:
            aload 3 /* rq */
            invokevirtual sun.java2d.d3d.D3DRenderQueue.unlock:()V
        10: .line 403
            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 408
            invokestatic sun.java2d.d3d.D3DRenderQueue.getInstance:()Lsun/java2d/d3d/D3DRenderQueue;
            astore 1 /* rq */
        start local 1 // sun.java2d.d3d.D3DRenderQueue rq
         1: .line 409
            aload 1 /* rq */
            invokevirtual sun.java2d.d3d.D3DRenderQueue.lock:()V
         2: .line 414
            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 415
            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 420
            aload 2 /* res */
            getfield sun.java2d.d3d.D3DGraphicsDevice$3Result.mem:J
            l2i
            istore 4
         5: .line 422
            aload 1 /* rq */
            invokevirtual sun.java2d.d3d.D3DRenderQueue.unlock:()V
         6: .line 420
            iload 4
            ireturn
        end local 2 // sun.java2d.d3d.D3DGraphicsDevice$3Result res
         7: .line 421
      StackMap locals: sun.java2d.d3d.D3DGraphicsDevice sun.java2d.d3d.D3DRenderQueue
      StackMap stack: java.lang.Throwable
            astore 3
         8: .line 422
            aload 1 /* rq */
            invokevirtual sun.java2d.d3d.D3DRenderQueue.unlock:()V
         9: .line 423
            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 428
            aload 0 /* this */
            getfield sun.java2d.d3d.D3DGraphicsDevice.configs:[Ljava/awt/GraphicsConfiguration;
            ifnonnull 7
         1: .line 429
            aload 0 /* this */
            invokevirtual sun.java2d.d3d.D3DGraphicsDevice.isD3DEnabledOnDevice:()Z
            ifeq 7
         2: .line 430
            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 431
            aload 0 /* this */
            getfield sun.java2d.d3d.D3DGraphicsDevice.defaultConfig:Ljava/awt/GraphicsConfiguration;
            ifnull 7
         4: .line 432
            aload 0 /* this */
            iconst_1
            anewarray java.awt.GraphicsConfiguration
            putfield sun.java2d.d3d.D3DGraphicsDevice.configs:[Ljava/awt/GraphicsConfiguration;
         5: .line 433
            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 434
            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 438
      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 443
            aload 0 /* this */
            getfield sun.java2d.d3d.D3DGraphicsDevice.defaultConfig:Ljava/awt/GraphicsConfiguration;
            ifnonnull 5
         1: .line 444
            aload 0 /* this */
            invokevirtual sun.java2d.d3d.D3DGraphicsDevice.isD3DEnabledOnDevice:()Z
            ifeq 4
         2: .line 445
            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 446
            goto 5
         4: .line 447
      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 450
      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 456
            getstatic sun.java2d.d3d.D3DGraphicsDevice.d3dAvailable:Z
            ifne 2
         1: .line 457
            iconst_0
            ireturn
         2: .line 462
      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 463
            aload 1 /* rq */
            invokevirtual sun.java2d.d3d.D3DRenderQueue.lock:()V
         4: .line 468
            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 469
            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 474
            aload 2 /* res */
            getfield sun.java2d.d3d.D3DGraphicsDevice$4Result.avail:Z
            istore 4
         7: .line 476
            aload 1 /* rq */
            invokevirtual sun.java2d.d3d.D3DRenderQueue.unlock:()V
         8: .line 474
            iload 4
            ireturn
        end local 2 // sun.java2d.d3d.D3DGraphicsDevice$4Result res
         9: .line 475
      StackMap locals: int sun.java2d.d3d.D3DRenderQueue
      StackMap stack: java.lang.Throwable
            astore 3
        10: .line 476
            aload 1 /* rq */
            invokevirtual sun.java2d.d3d.D3DRenderQueue.unlock:()V
        11: .line 477
            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 481
            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 485
            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 490
            aload 0 /* this */
            invokespecial sun.awt.Win32GraphicsDevice.displayChanged:()V
         1: .line 493
            getstatic sun.java2d.d3d.D3DGraphicsDevice.d3dAvailable:Z
            ifeq 3
         2: .line 494
            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 496
      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 500
            aload 0 /* this */
            iload 1 /* defaultScreen */
            invokespecial sun.awt.Win32GraphicsDevice.invalidate:(I)V
         1: .line 503
            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 504
            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