class com.sun.tools.example.debug.tty.ThreadInfo
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.sun.tools.example.debug.tty.ThreadInfo
super_class: java.lang.Object
{
private static java.util.List<com.sun.tools.example.debug.tty.ThreadInfo> threads;
descriptor: Ljava/util/List;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Signature: Ljava/util/List<Lcom/sun/tools/example/debug/tty/ThreadInfo;>;
private static boolean gotInitialThreads;
descriptor: Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static com.sun.tools.example.debug.tty.ThreadInfo current;
descriptor: Lcom/sun/tools/example/debug/tty/ThreadInfo;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static com.sun.jdi.ThreadGroupReference group;
descriptor: Lcom/sun/jdi/ThreadGroupReference;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private final com.sun.jdi.ThreadReference thread;
descriptor: Lcom/sun/jdi/ThreadReference;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int currentFrameIndex;
descriptor: I
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
invokestatic java.util.Collections.synchronizedList:(Ljava/util/List;)Ljava/util/List;
putstatic com.sun.tools.example.debug.tty.ThreadInfo.threads:Ljava/util/List;
1: iconst_0
putstatic com.sun.tools.example.debug.tty.ThreadInfo.gotInitialThreads:Z
2: aconst_null
putstatic com.sun.tools.example.debug.tty.ThreadInfo.current:Lcom/sun/tools/example/debug/tty/ThreadInfo;
3: aconst_null
putstatic com.sun.tools.example.debug.tty.ThreadInfo.group:Lcom/sun/jdi/ThreadGroupReference;
return
LocalVariableTable:
Start End Slot Name Signature
private void <init>(com.sun.jdi.ThreadReference);
descriptor: (Lcom/sun/jdi/ThreadReference;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield com.sun.tools.example.debug.tty.ThreadInfo.currentFrameIndex:I
2: aload 0
aload 1
putfield com.sun.tools.example.debug.tty.ThreadInfo.thread:Lcom/sun/jdi/ThreadReference;
3: aload 1
ifnonnull 5
4: ldc "Internal error: null ThreadInfo created"
invokestatic com.sun.tools.example.debug.tty.MessageOutput.fatalError:(Ljava/lang/String;)V
5: StackMap locals: com.sun.tools.example.debug.tty.ThreadInfo com.sun.jdi.ThreadReference
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/tools/example/debug/tty/ThreadInfo;
0 6 1 thread Lcom/sun/jdi/ThreadReference;
MethodParameters:
Name Flags
thread
private static void initThreads();
descriptor: ()V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=0
0: getstatic com.sun.tools.example.debug.tty.ThreadInfo.gotInitialThreads:Z
ifne 6
1: invokestatic com.sun.tools.example.debug.tty.Env.vm:()Lcom/sun/jdi/VirtualMachine;
invokeinterface com.sun.jdi.VirtualMachine.allThreads:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 1
goto 4
StackMap locals: top java.util.Iterator
StackMap stack:
2: aload 1
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.jdi.ThreadReference
astore 0
start local 0 3: getstatic com.sun.tools.example.debug.tty.ThreadInfo.threads:Ljava/util/List;
new com.sun.tools.example.debug.tty.ThreadInfo
dup
aload 0
invokespecial com.sun.tools.example.debug.tty.ThreadInfo.<init>:(Lcom/sun/jdi/ThreadReference;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 0 4: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: iconst_1
putstatic com.sun.tools.example.debug.tty.ThreadInfo.gotInitialThreads:Z
6: StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
3 4 0 thread Lcom/sun/jdi/ThreadReference;
static void addThread(com.sun.jdi.ThreadReference);
descriptor: (Lcom/sun/jdi/ThreadReference;)V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: getstatic com.sun.tools.example.debug.tty.ThreadInfo.threads:Ljava/util/List;
dup
astore 1
monitorenter
1: invokestatic com.sun.tools.example.debug.tty.ThreadInfo.initThreads:()V
2: new com.sun.tools.example.debug.tty.ThreadInfo
dup
aload 0
invokespecial com.sun.tools.example.debug.tty.ThreadInfo.<init>:(Lcom/sun/jdi/ThreadReference;)V
astore 2
start local 2 3: aload 0
invokestatic com.sun.tools.example.debug.tty.ThreadInfo.getThreadInfo:(Lcom/sun/jdi/ThreadReference;)Lcom/sun/tools/example/debug/tty/ThreadInfo;
ifnonnull 5
4: getstatic com.sun.tools.example.debug.tty.ThreadInfo.threads:Ljava/util/List;
aload 2
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 2 5: StackMap locals: java.util.List
StackMap stack:
aload 1
monitorexit
6: goto 9
StackMap locals:
StackMap stack: java.lang.Throwable
7: aload 1
monitorexit
8: athrow
9: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 thread Lcom/sun/jdi/ThreadReference;
3 5 2 ti Lcom/sun/tools/example/debug/tty/ThreadInfo;
Exception table:
from to target type
1 6 7 any
7 8 7 any
MethodParameters:
Name Flags
thread
static void removeThread(com.sun.jdi.ThreadReference);
descriptor: (Lcom/sun/jdi/ThreadReference;)V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getstatic com.sun.tools.example.debug.tty.ThreadInfo.current:Lcom/sun/tools/example/debug/tty/ThreadInfo;
invokeinterface com.sun.jdi.ThreadReference.equals:(Ljava/lang/Object;)Z
ifeq 10
1: new java.lang.StringBuilder
dup
ldc "\""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokeinterface com.sun.jdi.ThreadReference.name:()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;
astore 1
start local 1 2: goto 5
end local 1 StackMap locals:
StackMap stack: java.lang.Exception
3: pop
4: ldc ""
astore 1
start local 1 5: StackMap locals: java.lang.String
StackMap stack:
aconst_null
invokestatic com.sun.tools.example.debug.tty.ThreadInfo.setCurrentThread:(Lcom/sun/jdi/ThreadReference;)V
6: invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:()V
7: ldc "Current thread died. Execution continuing..."
8: aload 1
9: invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
end local 1 10: StackMap locals:
StackMap stack:
getstatic com.sun.tools.example.debug.tty.ThreadInfo.threads:Ljava/util/List;
aload 0
invokestatic com.sun.tools.example.debug.tty.ThreadInfo.getThreadInfo:(Lcom/sun/jdi/ThreadReference;)Lcom/sun/tools/example/debug/tty/ThreadInfo;
invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
pop
11: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 thread Lcom/sun/jdi/ThreadReference;
2 3 1 currentThreadName Ljava/lang/String;
5 10 1 currentThreadName Ljava/lang/String;
Exception table:
from to target type
1 2 3 Class java.lang.Exception
MethodParameters:
Name Flags
thread
static java.util.List<com.sun.tools.example.debug.tty.ThreadInfo> threads();
descriptor: ()Ljava/util/List;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=1, args_size=0
0: getstatic com.sun.tools.example.debug.tty.ThreadInfo.threads:Ljava/util/List;
dup
astore 0
monitorenter
1: invokestatic com.sun.tools.example.debug.tty.ThreadInfo.initThreads:()V
2: new java.util.ArrayList
dup
getstatic com.sun.tools.example.debug.tty.ThreadInfo.threads:Ljava/util/List;
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
aload 0
monitorexit
3: areturn
4: StackMap locals: java.util.List
StackMap stack: java.lang.Throwable
aload 0
monitorexit
5: athrow
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
1 3 4 any
4 5 4 any
Signature: ()Ljava/util/List<Lcom/sun/tools/example/debug/tty/ThreadInfo;>;
static void invalidateAll();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=3, args_size=0
0: aconst_null
putstatic com.sun.tools.example.debug.tty.ThreadInfo.current:Lcom/sun/tools/example/debug/tty/ThreadInfo;
1: aconst_null
putstatic com.sun.tools.example.debug.tty.ThreadInfo.group:Lcom/sun/jdi/ThreadGroupReference;
2: getstatic com.sun.tools.example.debug.tty.ThreadInfo.threads:Ljava/util/List;
dup
astore 0
monitorenter
3: invokestatic com.sun.tools.example.debug.tty.ThreadInfo.threads:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 2
goto 6
StackMap locals: java.util.List top java.util.Iterator
StackMap stack:
4: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.example.debug.tty.ThreadInfo
astore 1
start local 1 5: aload 1
invokevirtual com.sun.tools.example.debug.tty.ThreadInfo.invalidate:()V
end local 1 6: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
7: aload 0
monitorexit
8: goto 11
StackMap locals: java.util.List
StackMap stack: java.lang.Throwable
9: aload 0
monitorexit
10: athrow
11: StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
5 6 1 ti Lcom/sun/tools/example/debug/tty/ThreadInfo;
Exception table:
from to target type
3 8 9 any
9 10 9 any
static void setThreadGroup(com.sun.jdi.ThreadGroupReference);
descriptor: (Lcom/sun/jdi/ThreadGroupReference;)V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
putstatic com.sun.tools.example.debug.tty.ThreadInfo.group:Lcom/sun/jdi/ThreadGroupReference;
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 tg Lcom/sun/jdi/ThreadGroupReference;
MethodParameters:
Name Flags
tg
static void setCurrentThread(com.sun.jdi.ThreadReference);
descriptor: (Lcom/sun/jdi/ThreadReference;)V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
ifnonnull 3
1: aconst_null
invokestatic com.sun.tools.example.debug.tty.ThreadInfo.setCurrentThreadInfo:(Lcom/sun/tools/example/debug/tty/ThreadInfo;)V
2: goto 5
3: StackMap locals:
StackMap stack:
aload 0
invokestatic com.sun.tools.example.debug.tty.ThreadInfo.getThreadInfo:(Lcom/sun/jdi/ThreadReference;)Lcom/sun/tools/example/debug/tty/ThreadInfo;
astore 1
start local 1 4: aload 1
invokestatic com.sun.tools.example.debug.tty.ThreadInfo.setCurrentThreadInfo:(Lcom/sun/tools/example/debug/tty/ThreadInfo;)V
end local 1 5: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 tr Lcom/sun/jdi/ThreadReference;
4 5 1 tinfo Lcom/sun/tools/example/debug/tty/ThreadInfo;
MethodParameters:
Name Flags
tr
static void setCurrentThreadInfo(com.sun.tools.example.debug.tty.ThreadInfo);
descriptor: (Lcom/sun/tools/example/debug/tty/ThreadInfo;)V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
putstatic com.sun.tools.example.debug.tty.ThreadInfo.current:Lcom/sun/tools/example/debug/tty/ThreadInfo;
1: getstatic com.sun.tools.example.debug.tty.ThreadInfo.current:Lcom/sun/tools/example/debug/tty/ThreadInfo;
ifnull 3
2: getstatic com.sun.tools.example.debug.tty.ThreadInfo.current:Lcom/sun/tools/example/debug/tty/ThreadInfo;
invokevirtual com.sun.tools.example.debug.tty.ThreadInfo.invalidate:()V
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 tinfo Lcom/sun/tools/example/debug/tty/ThreadInfo;
MethodParameters:
Name Flags
tinfo
static com.sun.tools.example.debug.tty.ThreadInfo getCurrentThreadInfo();
descriptor: ()Lcom/sun/tools/example/debug/tty/ThreadInfo;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic com.sun.tools.example.debug.tty.ThreadInfo.current:Lcom/sun/tools/example/debug/tty/ThreadInfo;
areturn
LocalVariableTable:
Start End Slot Name Signature
com.sun.jdi.ThreadReference getThread();
descriptor: ()Lcom/sun/jdi/ThreadReference;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.example.debug.tty.ThreadInfo.thread:Lcom/sun/jdi/ThreadReference;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/example/debug/tty/ThreadInfo;
static com.sun.jdi.ThreadGroupReference group();
descriptor: ()Lcom/sun/jdi/ThreadGroupReference;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: getstatic com.sun.tools.example.debug.tty.ThreadInfo.group:Lcom/sun/jdi/ThreadGroupReference;
ifnonnull 2
1: invokestatic com.sun.tools.example.debug.tty.Env.vm:()Lcom/sun/jdi/VirtualMachine;
invokeinterface com.sun.jdi.VirtualMachine.topLevelThreadGroups:()Ljava/util/List;
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.sun.jdi.ThreadGroupReference
invokestatic com.sun.tools.example.debug.tty.ThreadInfo.setThreadGroup:(Lcom/sun/jdi/ThreadGroupReference;)V
2: StackMap locals:
StackMap stack:
getstatic com.sun.tools.example.debug.tty.ThreadInfo.group:Lcom/sun/jdi/ThreadGroupReference;
areturn
LocalVariableTable:
Start End Slot Name Signature
static com.sun.tools.example.debug.tty.ThreadInfo getThreadInfo(long);
descriptor: (J)Lcom/sun/tools/example/debug/tty/ThreadInfo;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=6, args_size=1
start local 0 0: aconst_null
astore 2
start local 2 1: getstatic com.sun.tools.example.debug.tty.ThreadInfo.threads:Ljava/util/List;
dup
astore 3
monitorenter
2: invokestatic com.sun.tools.example.debug.tty.ThreadInfo.threads:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 7
StackMap locals: long com.sun.tools.example.debug.tty.ThreadInfo java.util.List top java.util.Iterator
StackMap stack:
3: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.example.debug.tty.ThreadInfo
astore 4
start local 4 4: aload 4
getfield com.sun.tools.example.debug.tty.ThreadInfo.thread:Lcom/sun/jdi/ThreadReference;
invokeinterface com.sun.jdi.ThreadReference.uniqueID:()J
lload 0
lcmp
ifne 7
5: aload 4
astore 2
6: goto 8
end local 4 7: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
8: StackMap locals: long com.sun.tools.example.debug.tty.ThreadInfo java.util.List
StackMap stack:
aload 3
monitorexit
9: goto 12
StackMap locals:
StackMap stack: java.lang.Throwable
10: aload 3
monitorexit
11: athrow
12: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 id J
1 13 2 retInfo Lcom/sun/tools/example/debug/tty/ThreadInfo;
4 7 4 ti Lcom/sun/tools/example/debug/tty/ThreadInfo;
Exception table:
from to target type
2 9 10 any
10 11 10 any
MethodParameters:
Name Flags
id
static com.sun.tools.example.debug.tty.ThreadInfo getThreadInfo(com.sun.jdi.ThreadReference);
descriptor: (Lcom/sun/jdi/ThreadReference;)Lcom/sun/tools/example/debug/tty/ThreadInfo;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokeinterface com.sun.jdi.ThreadReference.uniqueID:()J
invokestatic com.sun.tools.example.debug.tty.ThreadInfo.getThreadInfo:(J)Lcom/sun/tools/example/debug/tty/ThreadInfo;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 tr Lcom/sun/jdi/ThreadReference;
MethodParameters:
Name Flags
tr
static com.sun.tools.example.debug.tty.ThreadInfo getThreadInfo(java.lang.String);
descriptor: (Ljava/lang/String;)Lcom/sun/tools/example/debug/tty/ThreadInfo;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aload 0
ldc "t@"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 3
2: aload 0
iconst_2
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 0
3: StackMap locals: com.sun.tools.example.debug.tty.ThreadInfo
StackMap stack:
aload 0
invokestatic java.lang.Long.decode:(Ljava/lang/String;)Ljava/lang/Long;
invokevirtual java.lang.Long.longValue:()J
lstore 2
start local 2 4: lload 2
invokestatic com.sun.tools.example.debug.tty.ThreadInfo.getThreadInfo:(J)Lcom/sun/tools/example/debug/tty/ThreadInfo;
astore 1
end local 2 5: goto 8
StackMap locals:
StackMap stack: java.lang.NumberFormatException
6: pop
7: aconst_null
astore 1
8: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 idToken Ljava/lang/String;
1 9 1 tinfo Lcom/sun/tools/example/debug/tty/ThreadInfo;
4 5 2 threadId J
Exception table:
from to target type
3 5 6 Class java.lang.NumberFormatException
MethodParameters:
Name Flags
idToken
java.util.List<com.sun.jdi.StackFrame> getStack();
descriptor: ()Ljava/util/List;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.example.debug.tty.ThreadInfo.thread:Lcom/sun/jdi/ThreadReference;
invokeinterface com.sun.jdi.ThreadReference.frames:()Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/example/debug/tty/ThreadInfo;
Exceptions:
throws com.sun.jdi.IncompatibleThreadStateException
Signature: ()Ljava/util/List<Lcom/sun/jdi/StackFrame;>;
com.sun.jdi.StackFrame getCurrentFrame();
descriptor: ()Lcom/sun/jdi/StackFrame;
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.example.debug.tty.ThreadInfo.thread:Lcom/sun/jdi/ThreadReference;
invokeinterface com.sun.jdi.ThreadReference.frameCount:()I
ifne 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.example.debug.tty.ThreadInfo.thread:Lcom/sun/jdi/ThreadReference;
aload 0
getfield com.sun.tools.example.debug.tty.ThreadInfo.currentFrameIndex:I
invokeinterface com.sun.jdi.ThreadReference.frame:(I)Lcom/sun/jdi/StackFrame;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/example/debug/tty/ThreadInfo;
Exceptions:
throws com.sun.jdi.IncompatibleThreadStateException
void invalidate();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
putfield com.sun.tools.example.debug.tty.ThreadInfo.currentFrameIndex:I
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/example/debug/tty/ThreadInfo;
private void assureSuspended();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.example.debug.tty.ThreadInfo.thread:Lcom/sun/jdi/ThreadReference;
invokeinterface com.sun.jdi.ThreadReference.isSuspended:()Z
ifne 2
1: new com.sun.jdi.IncompatibleThreadStateException
dup
invokespecial com.sun.jdi.IncompatibleThreadStateException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/example/debug/tty/ThreadInfo;
Exceptions:
throws com.sun.jdi.IncompatibleThreadStateException
int getCurrentFrameIndex();
descriptor: ()I
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.example.debug.tty.ThreadInfo.currentFrameIndex:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/example/debug/tty/ThreadInfo;
void setCurrentFrameIndex(int);
descriptor: (I)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.sun.tools.example.debug.tty.ThreadInfo.assureSuspended:()V
1: iload 1
iflt 2
iload 1
aload 0
getfield com.sun.tools.example.debug.tty.ThreadInfo.thread:Lcom/sun/jdi/ThreadReference;
invokeinterface com.sun.jdi.ThreadReference.frameCount:()I
if_icmplt 3
2: StackMap locals:
StackMap stack:
new java.lang.ArrayIndexOutOfBoundsException
dup
invokespecial java.lang.ArrayIndexOutOfBoundsException.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
aload 0
iload 1
putfield com.sun.tools.example.debug.tty.ThreadInfo.currentFrameIndex:I
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/tools/example/debug/tty/ThreadInfo;
0 5 1 nFrame I
Exceptions:
throws com.sun.jdi.IncompatibleThreadStateException
MethodParameters:
Name Flags
nFrame
void up(int);
descriptor: (I)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
getfield com.sun.tools.example.debug.tty.ThreadInfo.currentFrameIndex:I
iload 1
iadd
invokevirtual com.sun.tools.example.debug.tty.ThreadInfo.setCurrentFrameIndex:(I)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/example/debug/tty/ThreadInfo;
0 2 1 nFrames I
Exceptions:
throws com.sun.jdi.IncompatibleThreadStateException
MethodParameters:
Name Flags
nFrames
void down(int);
descriptor: (I)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
getfield com.sun.tools.example.debug.tty.ThreadInfo.currentFrameIndex:I
iload 1
isub
invokevirtual com.sun.tools.example.debug.tty.ThreadInfo.setCurrentFrameIndex:(I)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/example/debug/tty/ThreadInfo;
0 2 1 nFrames I
Exceptions:
throws com.sun.jdi.IncompatibleThreadStateException
MethodParameters:
Name Flags
nFrames
}
SourceFile: "ThreadInfo.java"