class sun.jvm.hotspot.utilities.MessageQueueBackend$MessageQueueImpl implements sun.jvm.hotspot.utilities.MessageQueue
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.jvm.hotspot.utilities.MessageQueueBackend$MessageQueueImpl
super_class: java.lang.Object
{
private java.util.LinkedList readList;
descriptor: Ljava/util/LinkedList;
flags: (0x0002) ACC_PRIVATE
private java.util.LinkedList writeList;
descriptor: Ljava/util/LinkedList;
flags: (0x0002) ACC_PRIVATE
final sun.jvm.hotspot.utilities.MessageQueueBackend this$0;
descriptor: Lsun/jvm/hotspot/utilities/MessageQueueBackend;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
public void <init>(sun.jvm.hotspot.utilities.MessageQueueBackend, java.util.LinkedList, java.util.LinkedList);
descriptor: (Lsun/jvm/hotspot/utilities/MessageQueueBackend;Ljava/util/LinkedList;Ljava/util/LinkedList;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=4
start local 0 start local 2 start local 3 0: aload 0
aload 1
putfield sun.jvm.hotspot.utilities.MessageQueueBackend$MessageQueueImpl.this$0:Lsun/jvm/hotspot/utilities/MessageQueueBackend;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 2
putfield sun.jvm.hotspot.utilities.MessageQueueBackend$MessageQueueImpl.readList:Ljava/util/LinkedList;
2: aload 0
aload 3
putfield sun.jvm.hotspot.utilities.MessageQueueBackend$MessageQueueImpl.writeList:Ljava/util/LinkedList;
3: return
end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/jvm/hotspot/utilities/MessageQueueBackend$MessageQueueImpl;
0 4 2 listToReadFrom Ljava/util/LinkedList;
0 4 3 listToWriteTo Ljava/util/LinkedList;
MethodParameters:
Name Flags
this$0 final
listToReadFrom
listToWriteTo
public java.lang.Object readMessage();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield sun.jvm.hotspot.utilities.MessageQueueBackend$MessageQueueImpl.readList:Ljava/util/LinkedList;
dup
astore 1
monitorenter
1: goto 5
2: StackMap locals: java.util.LinkedList
StackMap stack:
aload 0
getfield sun.jvm.hotspot.utilities.MessageQueueBackend$MessageQueueImpl.readList:Ljava/util/LinkedList;
invokevirtual java.lang.Object.wait:()V
3: goto 5
4: StackMap locals:
StackMap stack: java.lang.InterruptedException
pop
5: StackMap locals:
StackMap stack:
aload 0
getfield sun.jvm.hotspot.utilities.MessageQueueBackend$MessageQueueImpl.readList:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.isEmpty:()Z
ifne 2
6: aload 0
getfield sun.jvm.hotspot.utilities.MessageQueueBackend$MessageQueueImpl.readList:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.removeFirst:()Ljava/lang/Object;
aload 1
monitorexit
7: areturn
8: StackMap locals:
StackMap stack: java.lang.Throwable
aload 1
monitorexit
9: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/jvm/hotspot/utilities/MessageQueueBackend$MessageQueueImpl;
Exception table:
from to target type
2 3 4 Class java.lang.InterruptedException
1 7 8 any
8 9 8 any
public java.lang.Object readMessageWithTimeout(long);
descriptor: (J)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.jvm.hotspot.utilities.MessageQueueBackend$MessageQueueImpl.readList:Ljava/util/LinkedList;
dup
astore 3
monitorenter
1: aload 0
getfield sun.jvm.hotspot.utilities.MessageQueueBackend$MessageQueueImpl.readList:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.isEmpty:()Z
ifeq 8
2: lload 1
lconst_0
lcmp
ifne 5
3: aload 3
monitorexit
4: aconst_null
areturn
5: StackMap locals: java.util.LinkedList
StackMap stack:
aload 0
getfield sun.jvm.hotspot.utilities.MessageQueueBackend$MessageQueueImpl.readList:Ljava/util/LinkedList;
lload 1
invokevirtual java.lang.Object.wait:(J)V
6: goto 8
7: StackMap locals:
StackMap stack: java.lang.InterruptedException
pop
8: StackMap locals:
StackMap stack:
aload 0
getfield sun.jvm.hotspot.utilities.MessageQueueBackend$MessageQueueImpl.readList:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.isEmpty:()Z
ifeq 11
9: aload 3
monitorexit
10: aconst_null
areturn
11: StackMap locals:
StackMap stack:
aload 0
getfield sun.jvm.hotspot.utilities.MessageQueueBackend$MessageQueueImpl.readList:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.removeFirst:()Ljava/lang/Object;
aload 3
monitorexit
12: areturn
13: StackMap locals:
StackMap stack: java.lang.Throwable
aload 3
monitorexit
14: athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lsun/jvm/hotspot/utilities/MessageQueueBackend$MessageQueueImpl;
0 15 1 millis J
Exception table:
from to target type
5 6 7 Class java.lang.InterruptedException
1 4 13 any
5 10 13 any
11 12 13 any
13 14 13 any
MethodParameters:
Name Flags
millis
public void writeMessage(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.jvm.hotspot.utilities.MessageQueueBackend$MessageQueueImpl.writeList:Ljava/util/LinkedList;
dup
astore 2
monitorenter
1: aload 0
getfield sun.jvm.hotspot.utilities.MessageQueueBackend$MessageQueueImpl.writeList:Ljava/util/LinkedList;
aload 1
invokevirtual java.util.LinkedList.addLast:(Ljava/lang/Object;)V
2: aload 0
getfield sun.jvm.hotspot.utilities.MessageQueueBackend$MessageQueueImpl.writeList:Ljava/util/LinkedList;
invokevirtual java.lang.Object.notify:()V
3: aload 2
monitorexit
4: goto 7
StackMap locals: sun.jvm.hotspot.utilities.MessageQueueBackend$MessageQueueImpl java.lang.Object java.util.LinkedList
StackMap stack: java.lang.Throwable
5: aload 2
monitorexit
6: athrow
7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/jvm/hotspot/utilities/MessageQueueBackend$MessageQueueImpl;
0 8 1 obj Ljava/lang/Object;
Exception table:
from to target type
1 4 5 any
5 6 5 any
MethodParameters:
Name Flags
obj
}
SourceFile: "MessageQueueBackend.java"
NestHost: sun.jvm.hotspot.utilities.MessageQueueBackend
InnerClasses:
private MessageQueueImpl = sun.jvm.hotspot.utilities.MessageQueueBackend$MessageQueueImpl of sun.jvm.hotspot.utilities.MessageQueueBackend