public final class sun.awt.AppContext
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: sun.awt.AppContext
super_class: java.lang.Object
{
private static final java.util.logging.Logger log;
descriptor: Ljava/util/logging/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
public static final java.lang.Object EVENT_QUEUE_KEY;
descriptor: Ljava/lang/Object;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private static final java.util.Map<java.lang.ThreadGroup, sun.awt.AppContext> threadGroup2appContext;
descriptor: Ljava/util/Map;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/ThreadGroup;Lsun/awt/AppContext;>;
private static sun.awt.AppContext mainAppContext;
descriptor: Lsun/awt/AppContext;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static final java.lang.Object getAppContextLock;
descriptor: Ljava/lang/Object;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final java.util.HashMap table;
descriptor: Ljava/util/HashMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.ThreadGroup threadGroup;
descriptor: Ljava/lang/ThreadGroup;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.beans.PropertyChangeSupport changeSupport;
descriptor: Ljava/beans/PropertyChangeSupport;
flags: (0x0002) ACC_PRIVATE
public static final java.lang.String DISPOSED_PROPERTY_NAME;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "disposed"
public static final java.lang.String GUI_DISPOSED;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "guidisposed"
private boolean isDisposed;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private static final java.util.concurrent.atomic.AtomicInteger numAppContexts;
descriptor: Ljava/util/concurrent/atomic/AtomicInteger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final java.lang.ClassLoader contextClassLoader;
descriptor: Ljava/lang/ClassLoader;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static sun.awt.MostRecentThreadAppContext mostRecentThreadAppContext;
descriptor: Lsun/awt/MostRecentThreadAppContext;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private long DISPOSAL_TIMEOUT;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private long THREAD_INTERRUPT_TIMEOUT;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private sun.awt.MostRecentKeyValue mostRecentKeyValue;
descriptor: Lsun/awt/MostRecentKeyValue;
flags: (0x0002) ACC_PRIVATE
private sun.awt.MostRecentKeyValue shadowMostRecentKeyValue;
descriptor: Lsun/awt/MostRecentKeyValue;
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: ldc "sun.awt.AppContext"
invokestatic java.util.logging.Logger.getLogger:(Ljava/lang/String;)Ljava/util/logging/Logger;
putstatic sun.awt.AppContext.log:Ljava/util/logging/Logger;
1: new java.lang.StringBuffer
dup
ldc "EventQueue"
invokespecial java.lang.StringBuffer.<init>:(Ljava/lang/String;)V
putstatic sun.awt.AppContext.EVENT_QUEUE_KEY:Ljava/lang/Object;
2: new java.util.IdentityHashMap
dup
invokespecial java.util.IdentityHashMap.<init>:()V
invokestatic java.util.Collections.synchronizedMap:(Ljava/util/Map;)Ljava/util/Map;
3: putstatic sun.awt.AppContext.threadGroup2appContext:Ljava/util/Map;
4: aconst_null
putstatic sun.awt.AppContext.mainAppContext:Lsun/awt/AppContext;
5: new sun.awt.AppContext$GetAppContextLock
dup
invokespecial sun.awt.AppContext$GetAppContextLock.<init>:()V
putstatic sun.awt.AppContext.getAppContextLock:Ljava/lang/Object;
6: new java.util.concurrent.atomic.AtomicInteger
dup
iconst_0
invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:(I)V
putstatic sun.awt.AppContext.numAppContexts:Ljava/util/concurrent/atomic/AtomicInteger;
7: aconst_null
putstatic sun.awt.AppContext.mostRecentThreadAppContext:Lsun/awt/MostRecentThreadAppContext;
8: new sun.awt.AppContext$1
dup
invokespecial sun.awt.AppContext$1.<init>:()V
invokestatic sun.misc.SharedSecrets.setJavaAWTAccess:(Lsun/misc/JavaAWTAccess;)V
9: return
LocalVariableTable:
Start End Slot Name Signature
public static java.util.Set<sun.awt.AppContext> getAppContexts();
descriptor: ()Ljava/util/Set;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new java.util.HashSet
dup
getstatic sun.awt.AppContext.threadGroup2appContext:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
areturn
LocalVariableTable:
Start End Slot Name Signature
Signature: ()Ljava/util/Set<Lsun/awt/AppContext;>;
public boolean isDisposed();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.awt.AppContext.isDisposed:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/awt/AppContext;
void <init>(java.lang.ThreadGroup);
descriptor: (Ljava/lang/ThreadGroup;)V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield sun.awt.AppContext.table:Ljava/util/HashMap;
2: aload 0
aconst_null
putfield sun.awt.AppContext.changeSupport:Ljava/beans/PropertyChangeSupport;
3: aload 0
iconst_0
putfield sun.awt.AppContext.isDisposed:Z
4: aload 0
ldc 5000
putfield sun.awt.AppContext.DISPOSAL_TIMEOUT:J
5: aload 0
ldc 1000
putfield sun.awt.AppContext.THREAD_INTERRUPT_TIMEOUT:J
6: aload 0
aconst_null
putfield sun.awt.AppContext.mostRecentKeyValue:Lsun/awt/MostRecentKeyValue;
7: aload 0
aconst_null
putfield sun.awt.AppContext.shadowMostRecentKeyValue:Lsun/awt/MostRecentKeyValue;
8: getstatic sun.awt.AppContext.numAppContexts:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.incrementAndGet:()I
pop
9: aload 0
aload 1
putfield sun.awt.AppContext.threadGroup:Ljava/lang/ThreadGroup;
10: getstatic sun.awt.AppContext.threadGroup2appContext:Ljava/util/Map;
aload 1
aload 0
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
11: aload 0
12: new sun.awt.AppContext$2
dup
aload 0
invokespecial sun.awt.AppContext$2.<init>:(Lsun/awt/AppContext;)V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.ClassLoader
13: putfield sun.awt.AppContext.contextClassLoader:Ljava/lang/ClassLoader;
14: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lsun/awt/AppContext;
0 15 1 threadGroup Ljava/lang/ThreadGroup;
MethodParameters:
Name Flags
threadGroup
private static final void initMainAppContext();
descriptor: ()V
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Code:
stack=2, locals=0, args_size=0
0: new sun.awt.AppContext$3
dup
invokespecial sun.awt.AppContext$3.<init>:()V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
pop
1: return
LocalVariableTable:
Start End Slot Name Signature
public static final sun.awt.AppContext getAppContext();
descriptor: ()Lsun/awt/AppContext;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Code:
stack=3, locals=3, args_size=0
0: getstatic sun.awt.AppContext.numAppContexts:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
iconst_1
if_icmpne 2
getstatic sun.awt.AppContext.mainAppContext:Lsun/awt/AppContext;
ifnull 2
1: getstatic sun.awt.AppContext.mainAppContext:Lsun/awt/AppContext;
areturn
2: StackMap locals:
StackMap stack:
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
astore 0
start local 0 3: aconst_null
astore 1
start local 1 4: getstatic sun.awt.AppContext.mostRecentThreadAppContext:Lsun/awt/MostRecentThreadAppContext;
astore 2
start local 2 5: aload 2
ifnull 8
aload 2
getfield sun.awt.MostRecentThreadAppContext.thread:Ljava/lang/Thread;
aload 0
if_acmpne 8
6: aload 2
getfield sun.awt.MostRecentThreadAppContext.appContext:Lsun/awt/AppContext;
astore 1
7: goto 10
8: StackMap locals: java.lang.Thread sun.awt.AppContext sun.awt.MostRecentThreadAppContext
StackMap stack:
new sun.awt.AppContext$4
dup
aload 0
invokespecial sun.awt.AppContext$4.<init>:(Ljava/lang/Thread;)V
9: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast sun.awt.AppContext
astore 1
10: StackMap locals:
StackMap stack:
aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
3 11 0 currentThread Ljava/lang/Thread;
4 11 1 appContext Lsun/awt/AppContext;
5 11 2 recent Lsun/awt/MostRecentThreadAppContext;
public static final boolean isMainContext(sun.awt.AppContext);
descriptor: (Lsun/awt/AppContext;)Z
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ifnull 1
aload 0
getstatic sun.awt.AppContext.mainAppContext:Lsun/awt/AppContext;
if_acmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 ctx Lsun/awt/AppContext;
MethodParameters:
Name Flags
ctx
private static final sun.awt.AppContext getExecutionAppContext();
descriptor: ()Lsun/awt/AppContext;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Code:
stack=1, locals=3, args_size=0
0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 0
start local 0 1: aload 0
ifnull 6
2: aload 0
instanceof sun.awt.AWTSecurityManager
ifeq 6
3: aload 0
checkcast sun.awt.AWTSecurityManager
astore 1
start local 1 4: aload 1
invokevirtual sun.awt.AWTSecurityManager.getAppContext:()Lsun/awt/AppContext;
astore 2
start local 2 5: aload 2
areturn
end local 2 end local 1 6: StackMap locals: java.lang.SecurityManager
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 7 0 securityManager Ljava/lang/SecurityManager;
4 6 1 awtSecMgr Lsun/awt/AWTSecurityManager;
5 6 2 secAppContext Lsun/awt/AppContext;
public void dispose();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=11, args_size=1
start local 0 0: aload 0
getfield sun.awt.AppContext.threadGroup:Ljava/lang/ThreadGroup;
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getThreadGroup:()Ljava/lang/ThreadGroup;
invokevirtual java.lang.ThreadGroup.parentOf:(Ljava/lang/ThreadGroup;)Z
ifeq 4
1: new java.lang.IllegalThreadStateException
dup
2: ldc "Current Thread is contained within AppContext to be disposed."
3: invokespecial java.lang.IllegalThreadStateException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
dup
astore 1
monitorenter
5: aload 0
getfield sun.awt.AppContext.isDisposed:Z
ifeq 8
6: aload 1
monitorexit
7: return
8: StackMap locals: sun.awt.AppContext
StackMap stack:
aload 0
iconst_1
putfield sun.awt.AppContext.isDisposed:Z
9: aload 1
monitorexit
10: goto 13
StackMap locals:
StackMap stack: java.lang.Throwable
11: aload 1
monitorexit
12: athrow
13: StackMap locals:
StackMap stack:
aload 0
getfield sun.awt.AppContext.changeSupport:Ljava/beans/PropertyChangeSupport;
astore 1
start local 1 14: aload 1
ifnull 16
15: aload 1
ldc "disposed"
iconst_0
iconst_1
invokevirtual java.beans.PropertyChangeSupport.firePropertyChange:(Ljava/lang/String;ZZ)V
16: StackMap locals: java.beans.PropertyChangeSupport
StackMap stack:
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
astore 2
start local 2 17: new sun.awt.AppContext$5
dup
aload 0
aload 1
aload 2
invokespecial sun.awt.AppContext$5.<init>:(Lsun/awt/AppContext;Ljava/beans/PropertyChangeSupport;Ljava/lang/Object;)V
astore 3
start local 3 18: aload 2
dup
astore 4
monitorenter
19: aload 0
20: new java.awt.event.InvocationEvent
dup
invokestatic java.awt.Toolkit.getDefaultToolkit:()Ljava/awt/Toolkit;
aload 3
invokespecial java.awt.event.InvocationEvent.<init>:(Ljava/lang/Object;Ljava/lang/Runnable;)V
21: invokestatic sun.awt.SunToolkit.postEvent:(Lsun/awt/AppContext;Ljava/awt/AWTEvent;)V
22: aload 2
aload 0
getfield sun.awt.AppContext.DISPOSAL_TIMEOUT:J
invokevirtual java.lang.Object.wait:(J)V
23: goto 25
StackMap locals: sun.awt.AppContext java.beans.PropertyChangeSupport java.lang.Object java.lang.Runnable java.lang.Object
StackMap stack: java.lang.InterruptedException
24: pop
25: StackMap locals:
StackMap stack:
aload 4
monitorexit
26: goto 29
StackMap locals:
StackMap stack: java.lang.Throwable
27: aload 4
monitorexit
28: athrow
29: StackMap locals:
StackMap stack:
new sun.awt.AppContext$6
dup
aload 0
aload 2
invokespecial sun.awt.AppContext$6.<init>:(Lsun/awt/AppContext;Ljava/lang/Object;)V
astore 3
30: aload 2
dup
astore 4
monitorenter
31: aload 0
32: new java.awt.event.InvocationEvent
dup
invokestatic java.awt.Toolkit.getDefaultToolkit:()Ljava/awt/Toolkit;
aload 3
invokespecial java.awt.event.InvocationEvent.<init>:(Ljava/lang/Object;Ljava/lang/Runnable;)V
33: invokestatic sun.awt.SunToolkit.postEvent:(Lsun/awt/AppContext;Ljava/awt/AWTEvent;)V
34: aload 2
aload 0
getfield sun.awt.AppContext.DISPOSAL_TIMEOUT:J
invokevirtual java.lang.Object.wait:(J)V
35: goto 37
StackMap locals: sun.awt.AppContext java.beans.PropertyChangeSupport java.lang.Object java.lang.Runnable java.lang.Object
StackMap stack: java.lang.InterruptedException
36: pop
37: StackMap locals:
StackMap stack:
aload 4
monitorexit
38: goto 41
StackMap locals:
StackMap stack: java.lang.Throwable
39: aload 4
monitorexit
40: athrow
41: StackMap locals:
StackMap stack:
aload 0
getfield sun.awt.AppContext.threadGroup:Ljava/lang/ThreadGroup;
invokevirtual java.lang.ThreadGroup.interrupt:()V
42: invokestatic java.lang.System.currentTimeMillis:()J
lstore 4
start local 4 43: lload 4
aload 0
getfield sun.awt.AppContext.THREAD_INTERRUPT_TIMEOUT:J
ladd
lstore 6
start local 6 44: goto 48
45: StackMap locals: long long
StackMap stack:
ldc 10
invokestatic java.lang.Thread.sleep:(J)V
46: goto 48
StackMap locals:
StackMap stack: java.lang.InterruptedException
47: pop
48: StackMap locals:
StackMap stack:
aload 0
getfield sun.awt.AppContext.threadGroup:Ljava/lang/ThreadGroup;
invokevirtual java.lang.ThreadGroup.activeCount:()I
ifle 51
49: invokestatic java.lang.System.currentTimeMillis:()J
lload 6
50: lcmp
iflt 45
51: StackMap locals:
StackMap stack:
aload 0
getfield sun.awt.AppContext.threadGroup:Ljava/lang/ThreadGroup;
invokevirtual java.lang.ThreadGroup.stop:()V
52: invokestatic java.lang.System.currentTimeMillis:()J
lstore 4
53: lload 4
aload 0
getfield sun.awt.AppContext.THREAD_INTERRUPT_TIMEOUT:J
ladd
lstore 6
54: goto 58
55: StackMap locals:
StackMap stack:
ldc 10
invokestatic java.lang.Thread.sleep:(J)V
56: goto 58
StackMap locals:
StackMap stack: java.lang.InterruptedException
57: pop
58: StackMap locals:
StackMap stack:
aload 0
getfield sun.awt.AppContext.threadGroup:Ljava/lang/ThreadGroup;
invokevirtual java.lang.ThreadGroup.activeCount:()I
ifle 61
59: invokestatic java.lang.System.currentTimeMillis:()J
lload 6
60: lcmp
iflt 55
61: StackMap locals:
StackMap stack:
aload 0
getfield sun.awt.AppContext.threadGroup:Ljava/lang/ThreadGroup;
invokevirtual java.lang.ThreadGroup.activeGroupCount:()I
istore 8
start local 8 62: iload 8
ifle 70
63: iload 8
anewarray java.lang.ThreadGroup
astore 9
start local 9 64: aload 0
getfield sun.awt.AppContext.threadGroup:Ljava/lang/ThreadGroup;
aload 9
invokevirtual java.lang.ThreadGroup.enumerate:([Ljava/lang/ThreadGroup;)I
istore 8
65: iconst_0
istore 10
start local 10 66: goto 69
67: StackMap locals: int java.lang.ThreadGroup[] int
StackMap stack:
getstatic sun.awt.AppContext.threadGroup2appContext:Ljava/util/Map;
aload 9
iload 10
aaload
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
68: iinc 10 1
StackMap locals:
StackMap stack:
69: iload 10
iload 8
if_icmplt 67
end local 10 end local 9 70: StackMap locals:
StackMap stack:
getstatic sun.awt.AppContext.threadGroup2appContext:Ljava/util/Map;
aload 0
getfield sun.awt.AppContext.threadGroup:Ljava/lang/ThreadGroup;
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
71: getstatic sun.awt.AppContext.mostRecentThreadAppContext:Lsun/awt/MostRecentThreadAppContext;
astore 9
start local 9 72: aload 9
ifnull 74
aload 9
getfield sun.awt.MostRecentThreadAppContext.appContext:Lsun/awt/AppContext;
aload 0
if_acmpne 74
73: aconst_null
putstatic sun.awt.AppContext.mostRecentThreadAppContext:Lsun/awt/MostRecentThreadAppContext;
74: StackMap locals: sun.awt.MostRecentThreadAppContext
StackMap stack:
aload 0
getfield sun.awt.AppContext.threadGroup:Ljava/lang/ThreadGroup;
invokevirtual java.lang.ThreadGroup.destroy:()V
75: goto 77
StackMap locals:
StackMap stack: java.lang.IllegalThreadStateException
76: pop
77: StackMap locals:
StackMap stack:
aload 0
getfield sun.awt.AppContext.table:Ljava/util/HashMap;
dup
astore 10
monitorenter
78: aload 0
getfield sun.awt.AppContext.table:Ljava/util/HashMap;
invokevirtual java.util.HashMap.clear:()V
79: aload 10
monitorexit
80: goto 83
StackMap locals: sun.awt.AppContext java.beans.PropertyChangeSupport java.lang.Object java.lang.Runnable long long int sun.awt.MostRecentThreadAppContext java.util.HashMap
StackMap stack: java.lang.Throwable
81: aload 10
monitorexit
82: athrow
83: StackMap locals:
StackMap stack:
getstatic sun.awt.AppContext.numAppContexts:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.decrementAndGet:()I
pop
84: aload 0
aconst_null
putfield sun.awt.AppContext.mostRecentKeyValue:Lsun/awt/MostRecentKeyValue;
85: return
end local 9 end local 8 end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 86 0 this Lsun/awt/AppContext;
14 86 1 changeSupport Ljava/beans/PropertyChangeSupport;
17 86 2 notificationLock Ljava/lang/Object;
18 86 3 runnable Ljava/lang/Runnable;
43 86 4 startTime J
44 86 6 endTime J
62 86 8 numSubGroups I
64 70 9 subGroups [Ljava/lang/ThreadGroup;
66 70 10 subGroup I
72 86 9 recent Lsun/awt/MostRecentThreadAppContext;
Exception table:
from to target type
5 7 11 any
8 10 11 any
11 12 11 any
22 23 24 Class java.lang.InterruptedException
19 26 27 any
27 28 27 any
34 35 36 Class java.lang.InterruptedException
31 38 39 any
39 40 39 any
45 46 47 Class java.lang.InterruptedException
55 56 57 Class java.lang.InterruptedException
74 75 76 Class java.lang.IllegalThreadStateException
78 80 81 any
81 82 81 any
Exceptions:
throws java.lang.IllegalThreadStateException
static void stopEventDispatchThreads();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=5, args_size=0
0: invokestatic sun.awt.AppContext.getAppContexts:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 1
goto 11
StackMap locals: top java.util.Iterator
StackMap stack:
1: aload 1
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.awt.AppContext
astore 0
start local 0 2: aload 0
invokevirtual sun.awt.AppContext.isDisposed:()Z
ifeq 4
3: goto 11
4: StackMap locals: sun.awt.AppContext java.util.Iterator
StackMap stack:
new sun.awt.AppContext$PostShutdownEventRunnable
dup
aload 0
invokespecial sun.awt.AppContext$PostShutdownEventRunnable.<init>:(Lsun/awt/AppContext;)V
astore 2
start local 2 5: aload 0
invokestatic sun.awt.AppContext.getAppContext:()Lsun/awt/AppContext;
if_acmpeq 10
6: new sun.awt.AppContext$CreateThreadAction
dup
aload 0
aload 2
invokespecial sun.awt.AppContext$CreateThreadAction.<init>:(Lsun/awt/AppContext;Ljava/lang/Runnable;)V
astore 3
start local 3 7: aload 3
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.Thread
astore 4
start local 4 8: aload 4
invokevirtual java.lang.Thread.start:()V
end local 4 end local 3 9: goto 11
10: StackMap locals: java.lang.Runnable
StackMap stack:
aload 2
invokeinterface java.lang.Runnable.run:()V
end local 2 end local 0 11: StackMap locals: top java.util.Iterator
StackMap stack:
aload 1
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
12: return
LocalVariableTable:
Start End Slot Name Signature
2 11 0 appContext Lsun/awt/AppContext;
5 11 2 r Ljava/lang/Runnable;
7 9 3 action Ljava/security/PrivilegedAction;
8 9 4 thread Ljava/lang/Thread;
public java.lang.Object get(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.awt.AppContext.table:Ljava/util/HashMap;
dup
astore 2
monitorenter
1: aload 0
getfield sun.awt.AppContext.mostRecentKeyValue:Lsun/awt/MostRecentKeyValue;
astore 3
start local 3 2: aload 3
ifnull 5
aload 3
getfield sun.awt.MostRecentKeyValue.key:Ljava/lang/Object;
aload 1
if_acmpne 5
3: aload 3
getfield sun.awt.MostRecentKeyValue.value:Ljava/lang/Object;
aload 2
monitorexit
4: areturn
5: StackMap locals: java.util.HashMap sun.awt.MostRecentKeyValue
StackMap stack:
aload 0
getfield sun.awt.AppContext.table:Ljava/util/HashMap;
aload 1
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 4
start local 4 6: aload 0
getfield sun.awt.AppContext.mostRecentKeyValue:Lsun/awt/MostRecentKeyValue;
ifnonnull 10
7: aload 0
new sun.awt.MostRecentKeyValue
dup
aload 1
aload 4
invokespecial sun.awt.MostRecentKeyValue.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
putfield sun.awt.AppContext.mostRecentKeyValue:Lsun/awt/MostRecentKeyValue;
8: aload 0
new sun.awt.MostRecentKeyValue
dup
aload 1
aload 4
invokespecial sun.awt.MostRecentKeyValue.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
putfield sun.awt.AppContext.shadowMostRecentKeyValue:Lsun/awt/MostRecentKeyValue;
9: goto 14
10: StackMap locals: java.lang.Object
StackMap stack:
aload 0
getfield sun.awt.AppContext.mostRecentKeyValue:Lsun/awt/MostRecentKeyValue;
astore 5
start local 5 11: aload 0
getfield sun.awt.AppContext.shadowMostRecentKeyValue:Lsun/awt/MostRecentKeyValue;
aload 1
aload 4
invokevirtual sun.awt.MostRecentKeyValue.setPair:(Ljava/lang/Object;Ljava/lang/Object;)V
12: aload 0
aload 0
getfield sun.awt.AppContext.shadowMostRecentKeyValue:Lsun/awt/MostRecentKeyValue;
putfield sun.awt.AppContext.mostRecentKeyValue:Lsun/awt/MostRecentKeyValue;
13: aload 0
aload 5
putfield sun.awt.AppContext.shadowMostRecentKeyValue:Lsun/awt/MostRecentKeyValue;
end local 5 14: StackMap locals:
StackMap stack:
aload 4
aload 2
monitorexit
15: areturn
end local 4 end local 3 16: StackMap locals: sun.awt.AppContext java.lang.Object java.util.HashMap
StackMap stack: java.lang.Throwable
aload 2
monitorexit
17: athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lsun/awt/AppContext;
0 18 1 key Ljava/lang/Object;
2 16 3 recent Lsun/awt/MostRecentKeyValue;
6 16 4 value Ljava/lang/Object;
11 14 5 auxKeyValue Lsun/awt/MostRecentKeyValue;
Exception table:
from to target type
1 4 16 any
5 15 16 any
16 17 16 any
MethodParameters:
Name Flags
key
public java.lang.Object put(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.awt.AppContext.table:Ljava/util/HashMap;
dup
astore 3
monitorenter
1: aload 0
getfield sun.awt.AppContext.mostRecentKeyValue:Lsun/awt/MostRecentKeyValue;
astore 4
start local 4 2: aload 4
ifnull 4
aload 4
getfield sun.awt.MostRecentKeyValue.key:Ljava/lang/Object;
aload 1
if_acmpne 4
3: aload 4
aload 2
putfield sun.awt.MostRecentKeyValue.value:Ljava/lang/Object;
4: StackMap locals: java.util.HashMap sun.awt.MostRecentKeyValue
StackMap stack:
aload 0
getfield sun.awt.AppContext.table:Ljava/util/HashMap;
aload 1
aload 2
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
aload 3
monitorexit
5: areturn
end local 4 6: StackMap locals: sun.awt.AppContext java.lang.Object java.lang.Object java.util.HashMap
StackMap stack: java.lang.Throwable
aload 3
monitorexit
7: athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/awt/AppContext;
0 8 1 key Ljava/lang/Object;
0 8 2 value Ljava/lang/Object;
2 6 4 recent Lsun/awt/MostRecentKeyValue;
Exception table:
from to target type
1 5 6 any
6 7 6 any
MethodParameters:
Name Flags
key
value
public java.lang.Object remove(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.awt.AppContext.table:Ljava/util/HashMap;
dup
astore 2
monitorenter
1: aload 0
getfield sun.awt.AppContext.mostRecentKeyValue:Lsun/awt/MostRecentKeyValue;
astore 3
start local 3 2: aload 3
ifnull 4
aload 3
getfield sun.awt.MostRecentKeyValue.key:Ljava/lang/Object;
aload 1
if_acmpne 4
3: aload 3
aconst_null
putfield sun.awt.MostRecentKeyValue.value:Ljava/lang/Object;
4: StackMap locals: java.util.HashMap sun.awt.MostRecentKeyValue
StackMap stack:
aload 0
getfield sun.awt.AppContext.table:Ljava/util/HashMap;
aload 1
invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
aload 2
monitorexit
5: areturn
end local 3 6: StackMap locals: sun.awt.AppContext java.lang.Object java.util.HashMap
StackMap stack: java.lang.Throwable
aload 2
monitorexit
7: athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/awt/AppContext;
0 8 1 key Ljava/lang/Object;
2 6 3 recent Lsun/awt/MostRecentKeyValue;
Exception table:
from to target type
1 5 6 any
6 7 6 any
MethodParameters:
Name Flags
key
public java.lang.ThreadGroup getThreadGroup();
descriptor: ()Ljava/lang/ThreadGroup;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.awt.AppContext.threadGroup:Ljava/lang/ThreadGroup;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/awt/AppContext;
public java.lang.ClassLoader getContextClassLoader();
descriptor: ()Ljava/lang/ClassLoader;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.awt.AppContext.contextClassLoader:Ljava/lang/ClassLoader;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/awt/AppContext;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "[threadGroup="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.awt.AppContext.threadGroup:Ljava/lang/ThreadGroup;
invokevirtual java.lang.ThreadGroup.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/awt/AppContext;
public synchronized java.beans.PropertyChangeListener[] getPropertyChangeListeners();
descriptor: ()[Ljava/beans/PropertyChangeListener;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.awt.AppContext.changeSupport:Ljava/beans/PropertyChangeSupport;
ifnonnull 2
1: iconst_0
anewarray java.beans.PropertyChangeListener
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.awt.AppContext.changeSupport:Ljava/beans/PropertyChangeSupport;
invokevirtual java.beans.PropertyChangeSupport.getPropertyChangeListeners:()[Ljava/beans/PropertyChangeListener;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/awt/AppContext;
public synchronized void addPropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener);
descriptor: (Ljava/lang/String;Ljava/beans/PropertyChangeListener;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.awt.AppContext.changeSupport:Ljava/beans/PropertyChangeSupport;
ifnonnull 4
3: aload 0
new java.beans.PropertyChangeSupport
dup
aload 0
invokespecial java.beans.PropertyChangeSupport.<init>:(Ljava/lang/Object;)V
putfield sun.awt.AppContext.changeSupport:Ljava/beans/PropertyChangeSupport;
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.awt.AppContext.changeSupport:Ljava/beans/PropertyChangeSupport;
aload 1
aload 2
invokevirtual java.beans.PropertyChangeSupport.addPropertyChangeListener:(Ljava/lang/String;Ljava/beans/PropertyChangeListener;)V
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/awt/AppContext;
0 6 1 propertyName Ljava/lang/String;
0 6 2 listener Ljava/beans/PropertyChangeListener;
MethodParameters:
Name Flags
propertyName
listener
public synchronized void removePropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener);
descriptor: (Ljava/lang/String;Ljava/beans/PropertyChangeListener;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnull 1
aload 0
getfield sun.awt.AppContext.changeSupport:Ljava/beans/PropertyChangeSupport;
ifnonnull 2
1: StackMap locals:
StackMap stack:
return
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.awt.AppContext.changeSupport:Ljava/beans/PropertyChangeSupport;
aload 1
aload 2
invokevirtual java.beans.PropertyChangeSupport.removePropertyChangeListener:(Ljava/lang/String;Ljava/beans/PropertyChangeListener;)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/awt/AppContext;
0 4 1 propertyName Ljava/lang/String;
0 4 2 listener Ljava/beans/PropertyChangeListener;
MethodParameters:
Name Flags
propertyName
listener
public synchronized java.beans.PropertyChangeListener[] getPropertyChangeListeners(java.lang.String);
descriptor: (Ljava/lang/String;)[Ljava/beans/PropertyChangeListener;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.awt.AppContext.changeSupport:Ljava/beans/PropertyChangeSupport;
ifnonnull 2
1: iconst_0
anewarray java.beans.PropertyChangeListener
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.awt.AppContext.changeSupport:Ljava/beans/PropertyChangeSupport;
aload 1
invokevirtual java.beans.PropertyChangeSupport.getPropertyChangeListeners:(Ljava/lang/String;)[Ljava/beans/PropertyChangeListener;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/awt/AppContext;
0 3 1 propertyName Ljava/lang/String;
MethodParameters:
Name Flags
propertyName
}
SourceFile: "AppContext.java"
NestMembers:
sun.awt.AppContext$1 sun.awt.AppContext$2 sun.awt.AppContext$3 sun.awt.AppContext$4 sun.awt.AppContext$5 sun.awt.AppContext$5$1 sun.awt.AppContext$6 sun.awt.AppContext$CreateThreadAction sun.awt.AppContext$GetAppContextLock sun.awt.AppContext$PostShutdownEventRunnable
InnerClasses:
sun.awt.AppContext$1
sun.awt.AppContext$2
sun.awt.AppContext$3
sun.awt.AppContext$4
sun.awt.AppContext$5
sun.awt.AppContext$6
final CreateThreadAction = sun.awt.AppContext$CreateThreadAction of sun.awt.AppContext
private GetAppContextLock = sun.awt.AppContext$GetAppContextLock of sun.awt.AppContext
final PostShutdownEventRunnable = sun.awt.AppContext$PostShutdownEventRunnable of sun.awt.AppContext