class java.io.ObjectStreamClass$EntryFuture
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: java.io.ObjectStreamClass$EntryFuture
super_class: java.lang.Object
{
private static final java.lang.Object unset;
descriptor: Ljava/lang/Object;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final java.lang.Thread owner;
descriptor: Ljava/lang/Thread;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.lang.Object entry;
descriptor: Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putstatic java.io.ObjectStreamClass$EntryFuture.unset:Ljava/lang/Object;
return
LocalVariableTable:
Start End Slot Name Signature
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
putfield java.io.ObjectStreamClass$EntryFuture.owner:Ljava/lang/Thread;
2: aload 0
getstatic java.io.ObjectStreamClass$EntryFuture.unset:Ljava/lang/Object;
putfield java.io.ObjectStreamClass$EntryFuture.entry:Ljava/lang/Object;
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/io/ObjectStreamClass$EntryFuture;
synchronized boolean set(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield java.io.ObjectStreamClass$EntryFuture.entry:Ljava/lang/Object;
getstatic java.io.ObjectStreamClass$EntryFuture.unset:Ljava/lang/Object;
if_acmpeq 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield java.io.ObjectStreamClass$EntryFuture.entry:Ljava/lang/Object;
3: aload 0
invokevirtual java.lang.Object.notifyAll:()V
4: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/io/ObjectStreamClass$EntryFuture;
0 5 1 entry Ljava/lang/Object;
MethodParameters:
Name Flags
entry
synchronized java.lang.Object get();
descriptor: ()Ljava/lang/Object;
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=3, locals=2, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: goto 6
2: StackMap locals: int
StackMap stack:
aload 0
invokevirtual java.lang.Object.wait:()V
3: goto 6
StackMap locals:
StackMap stack: java.lang.InterruptedException
4: pop
5: iconst_1
istore 1
6: StackMap locals:
StackMap stack:
aload 0
getfield java.io.ObjectStreamClass$EntryFuture.entry:Ljava/lang/Object;
getstatic java.io.ObjectStreamClass$EntryFuture.unset:Ljava/lang/Object;
if_acmpeq 2
7: iload 1
ifeq 10
8: new java.io.ObjectStreamClass$EntryFuture$1
dup
aload 0
invokespecial java.io.ObjectStreamClass$EntryFuture$1.<init>:(Ljava/io/ObjectStreamClass$EntryFuture;)V
9: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
pop
10: StackMap locals:
StackMap stack:
aload 0
getfield java.io.ObjectStreamClass$EntryFuture.entry:Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljava/io/ObjectStreamClass$EntryFuture;
1 11 1 interrupted Z
Exception table:
from to target type
2 3 4 Class java.lang.InterruptedException
java.lang.Thread getOwner();
descriptor: ()Ljava/lang/Thread;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.io.ObjectStreamClass$EntryFuture.owner:Ljava/lang/Thread;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/io/ObjectStreamClass$EntryFuture;
}
SourceFile: "ObjectStreamClass.java"
NestHost: java.io.ObjectStreamClass
InnerClasses:
private EntryFuture = java.io.ObjectStreamClass$EntryFuture of java.io.ObjectStreamClass
java.io.ObjectStreamClass$EntryFuture$1