public class java.lang.Thread implements java.lang.Runnable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: java.lang.Thread
  super_class: java.lang.Object
{
  private char[] name;
    descriptor: [C
    flags: (0x0002) ACC_PRIVATE

  private int priority;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private java.lang.Thread threadQ;
    descriptor: Ljava/lang/Thread;
    flags: (0x0002) ACC_PRIVATE

  private long eetop;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private boolean single_step;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean daemon;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean stillborn;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private java.lang.Runnable target;
    descriptor: Ljava/lang/Runnable;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.ThreadGroup group;
    descriptor: Ljava/lang/ThreadGroup;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.ClassLoader contextClassLoader;
    descriptor: Ljava/lang/ClassLoader;
    flags: (0x0002) ACC_PRIVATE

  private java.security.AccessControlContext inheritedAccessControlContext;
    descriptor: Ljava/security/AccessControlContext;
    flags: (0x0002) ACC_PRIVATE

  private static int threadInitNumber;
    descriptor: I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  java.lang.ThreadLocal$ThreadLocalMap threadLocals;
    descriptor: Ljava/lang/ThreadLocal$ThreadLocalMap;
    flags: (0x0000) 

  java.lang.ThreadLocal$ThreadLocalMap inheritableThreadLocals;
    descriptor: Ljava/lang/ThreadLocal$ThreadLocalMap;
    flags: (0x0000) 

  private long stackSize;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private long nativeParkEventPointer;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private long tid;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private static long threadSeqNumber;
    descriptor: J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private int threadStatus;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  volatile java.lang.Object parkBlocker;
    descriptor: Ljava/lang/Object;
    flags: (0x0040) ACC_VOLATILE

  private volatile sun.nio.ch.Interruptible blocker;
    descriptor: Lsun/nio/ch/Interruptible;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private java.lang.Object blockerLock;
    descriptor: Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE

  public static final int MIN_PRIORITY;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int NORM_PRIORITY;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  public static final int MAX_PRIORITY;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 10

  private boolean stopBeforeStart;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private java.lang.Throwable throwableFromStop;
    descriptor: Ljava/lang/Throwable;
    flags: (0x0002) ACC_PRIVATE

  private volatile java.lang.Thread me;
    descriptor: Ljava/lang/Thread;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private static final java.lang.StackTraceElement[] EMPTY_STACK_TRACE;
    descriptor: [Ljava/lang/StackTraceElement;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.RuntimePermission SUBCLASS_IMPLEMENTATION_PERMISSION;
    descriptor: Ljava/lang/RuntimePermission;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final sun.misc.SoftCache subclassAudits;
    descriptor: Lsun/misc/SoftCache;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private volatile java.lang.Thread$UncaughtExceptionHandler uncaughtExceptionHandler;
    descriptor: Ljava/lang/Thread$UncaughtExceptionHandler;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private static volatile java.lang.Thread$UncaughtExceptionHandler defaultUncaughtExceptionHandler;
    descriptor: Ljava/lang/Thread$UncaughtExceptionHandler;
    flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 138
            invokestatic java.lang.Thread.registerNatives:()V
         1: .line 1459
            iconst_0
            anewarray java.lang.StackTraceElement
         2: .line 1458
            putstatic java.lang.Thread.EMPTY_STACK_TRACE:[Ljava/lang/StackTraceElement;
         3: .line 1585
            new java.lang.RuntimePermission
            dup
            ldc "enableContextClassLoaderOverride"
            invokespecial java.lang.RuntimePermission.<init>:(Ljava/lang/String;)V
         4: .line 1584
            putstatic java.lang.Thread.SUBCLASS_IMPLEMENTATION_PERMISSION:Ljava/lang/RuntimePermission;
         5: .line 1588
            new sun.misc.SoftCache
            dup
            bipush 10
            invokespecial sun.misc.SoftCache.<init>:(I)V
            putstatic java.lang.Thread.subclassAudits:Lsun/misc/SoftCache;
         6: .line 1816
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static native void registerNatives();
    descriptor: ()V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE

  private static synchronized int nextThreadNum();
    descriptor: ()I
    flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=0, args_size=0
         0: .line 170
            getstatic java.lang.Thread.threadInitNumber:I
            dup
            iconst_1
            iadd
            putstatic java.lang.Thread.threadInitNumber:I
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static synchronized long nextThreadID();
    descriptor: ()J
    flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=0, args_size=0
         0: .line 211
            getstatic java.lang.Thread.threadSeqNumber:J
            lconst_1
            ladd
            dup2
            putstatic java.lang.Thread.threadSeqNumber:J
            lreturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void blockedOn(sun.nio.ch.Interruptible);
    descriptor: (Lsun/nio/ch/Interruptible;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.lang.Thread this
        start local 1 // sun.nio.ch.Interruptible b
         0: .line 232
            aload 0 /* this */
            getfield java.lang.Thread.blockerLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 233
            aload 0 /* this */
            aload 1 /* b */
            putfield java.lang.Thread.blocker:Lsun/nio/ch/Interruptible;
         2: .line 232
            aload 2
            monitorexit
         3: goto 6
      StackMap locals: java.lang.Thread sun.nio.ch.Interruptible java.lang.Object
      StackMap stack: java.lang.Throwable
         4: aload 2
            monitorexit
         5: athrow
         6: .line 235
      StackMap locals:
      StackMap stack:
            return
        end local 1 // sun.nio.ch.Interruptible b
        end local 0 // java.lang.Thread this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljava/lang/Thread;
            0    7     1     b  Lsun/nio/ch/Interruptible;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
    MethodParameters:
      Name  Flags
      b     

  public static native java.lang.Thread currentThread();
    descriptor: ()Ljava/lang/Thread;
    flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE

  public static native void yield();
    descriptor: ()V
    flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE

  public static native void sleep(long);
    descriptor: (J)V
    flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
    Exceptions:
      throws java.lang.InterruptedException
    MethodParameters:
        Name  Flags
      millis  

  public static void sleep(long, int);
    descriptor: (JI)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // long millis
        start local 2 // int nanos
         0: .line 308
            lload 0 /* millis */
            lconst_0
            lcmp
            ifge 2
         1: .line 309
            new java.lang.IllegalArgumentException
            dup
            ldc "timeout value is negative"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 312
      StackMap locals:
      StackMap stack:
            iload 2 /* nanos */
            iflt 3
            iload 2 /* nanos */
            ldc 999999
            if_icmple 6
         3: .line 313
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
         4: .line 314
            ldc "nanosecond timeout value out of range"
         5: .line 313
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 317
      StackMap locals:
      StackMap stack:
            iload 2 /* nanos */
            ldc 500000
            if_icmpge 7
            iload 2 /* nanos */
            ifeq 8
            lload 0 /* millis */
            lconst_0
            lcmp
            ifne 8
         7: .line 318
      StackMap locals:
      StackMap stack:
            lload 0 /* millis */
            lconst_1
            ladd
            lstore 0 /* millis */
         8: .line 321
      StackMap locals:
      StackMap stack:
            lload 0 /* millis */
            invokestatic java.lang.Thread.sleep:(J)V
         9: .line 322
            return
        end local 2 // int nanos
        end local 0 // long millis
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0  millis  J
            0   10     2   nanos  I
    Exceptions:
      throws java.lang.InterruptedException
    MethodParameters:
        Name  Flags
      millis  
      nanos   

  private void init(java.lang.ThreadGroup, java.lang.Runnable, java.lang.String, long);
    descriptor: (Ljava/lang/ThreadGroup;Ljava/lang/Runnable;Ljava/lang/String;J)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=6, args_size=5
        start local 0 // java.lang.Thread this
        start local 1 // java.lang.ThreadGroup g
        start local 2 // java.lang.Runnable target
        start local 3 // java.lang.String name
        start local 4 // long stackSize
         0: .line 330
            aload 0 /* this */
            aload 1 /* g */
            aload 2 /* target */
            aload 3 /* name */
            lload 4 /* stackSize */
            aconst_null
            iconst_1
            invokevirtual java.lang.Thread.init:(Ljava/lang/ThreadGroup;Ljava/lang/Runnable;Ljava/lang/String;JLjava/security/AccessControlContext;Z)V
         1: .line 331
            return
        end local 4 // long stackSize
        end local 3 // java.lang.String name
        end local 2 // java.lang.Runnable target
        end local 1 // java.lang.ThreadGroup g
        end local 0 // java.lang.Thread this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Ljava/lang/Thread;
            0    2     1          g  Ljava/lang/ThreadGroup;
            0    2     2     target  Ljava/lang/Runnable;
            0    2     3       name  Ljava/lang/String;
            0    2     4  stackSize  J
    MethodParameters:
           Name  Flags
      g          
      target     
      name       
      stackSize  

  private void init(java.lang.ThreadGroup, java.lang.Runnable, java.lang.String, long, java.security.AccessControlContext, boolean);
    descriptor: (Ljava/lang/ThreadGroup;Ljava/lang/Runnable;Ljava/lang/String;JLjava/security/AccessControlContext;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=10, args_size=7
        start local 0 // java.lang.Thread this
        start local 1 // java.lang.ThreadGroup g
        start local 2 // java.lang.Runnable target
        start local 3 // java.lang.String name
        start local 4 // long stackSize
        start local 6 // java.security.AccessControlContext acc
        start local 7 // boolean inheritThreadLocals
         0: .line 349
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            astore 8 /* parent */
        start local 8 // java.lang.Thread parent
         1: .line 350
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 9 /* security */
        start local 9 // java.lang.SecurityManager security
         2: .line 351
            aload 1 /* g */
            ifnonnull 7
         3: .line 356
            aload 9 /* security */
            ifnull 5
         4: .line 357
            aload 9 /* security */
            invokevirtual java.lang.SecurityManager.getThreadGroup:()Ljava/lang/ThreadGroup;
            astore 1 /* g */
         5: .line 362
      StackMap locals: java.lang.Thread java.lang.SecurityManager
      StackMap stack:
            aload 1 /* g */
            ifnonnull 7
         6: .line 363
            aload 8 /* parent */
            invokevirtual java.lang.Thread.getThreadGroup:()Ljava/lang/ThreadGroup;
            astore 1 /* g */
         7: .line 369
      StackMap locals:
      StackMap stack:
            aload 1 /* g */
            invokevirtual java.lang.ThreadGroup.checkAccess:()V
         8: .line 374
            aload 9 /* security */
            ifnull 11
         9: .line 375
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokestatic java.lang.Thread.isCCLOverridden:(Ljava/lang/Class;)Z
            ifeq 11
        10: .line 376
            aload 9 /* security */
            getstatic java.lang.Thread.SUBCLASS_IMPLEMENTATION_PERMISSION:Ljava/lang/RuntimePermission;
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
        11: .line 381
      StackMap locals:
      StackMap stack:
            aload 1 /* g */
            invokevirtual java.lang.ThreadGroup.addUnstarted:()V
        12: .line 383
            aload 0 /* this */
            aload 1 /* g */
            putfield java.lang.Thread.group:Ljava/lang/ThreadGroup;
        13: .line 384
            aload 0 /* this */
            aload 8 /* parent */
            invokevirtual java.lang.Thread.isDaemon:()Z
            putfield java.lang.Thread.daemon:Z
        14: .line 385
            aload 0 /* this */
            aload 8 /* parent */
            invokevirtual java.lang.Thread.getPriority:()I
            putfield java.lang.Thread.priority:I
        15: .line 386
            aload 0 /* this */
            aload 3 /* name */
            invokevirtual java.lang.String.toCharArray:()[C
            putfield java.lang.Thread.name:[C
        16: .line 387
            aload 9 /* security */
            ifnull 17
            aload 8 /* parent */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokestatic java.lang.Thread.isCCLOverridden:(Ljava/lang/Class;)Z
            ifeq 18
        17: .line 388
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 8 /* parent */
            invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
            putfield java.lang.Thread.contextClassLoader:Ljava/lang/ClassLoader;
            goto 19
        18: .line 390
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 8 /* parent */
            getfield java.lang.Thread.contextClassLoader:Ljava/lang/ClassLoader;
            putfield java.lang.Thread.contextClassLoader:Ljava/lang/ClassLoader;
        19: .line 391
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        20: .line 392
            aload 6 /* acc */
            ifnull 21
            aload 6 /* acc */
            goto 22
      StackMap locals:
      StackMap stack: java.lang.Thread
        21: invokestatic java.security.AccessController.getContext:()Ljava/security/AccessControlContext;
        22: .line 391
      StackMap locals: java.lang.Thread java.lang.ThreadGroup java.lang.Runnable java.lang.String long java.security.AccessControlContext int java.lang.Thread java.lang.SecurityManager
      StackMap stack: java.lang.Thread java.security.AccessControlContext
            putfield java.lang.Thread.inheritedAccessControlContext:Ljava/security/AccessControlContext;
        23: .line 393
            aload 0 /* this */
            aload 2 /* target */
            putfield java.lang.Thread.target:Ljava/lang/Runnable;
        24: .line 394
            aload 0 /* this */
            aload 0 /* this */
            getfield java.lang.Thread.priority:I
            invokevirtual java.lang.Thread.setPriority:(I)V
        25: .line 395
            iload 7 /* inheritThreadLocals */
            ifeq 29
            aload 8 /* parent */
            getfield java.lang.Thread.inheritableThreadLocals:Ljava/lang/ThreadLocal$ThreadLocalMap;
            ifnull 29
        26: .line 396
            aload 0 /* this */
        27: .line 397
            aload 8 /* parent */
            getfield java.lang.Thread.inheritableThreadLocals:Ljava/lang/ThreadLocal$ThreadLocalMap;
            invokestatic java.lang.ThreadLocal.createInheritedMap:(Ljava/lang/ThreadLocal$ThreadLocalMap;)Ljava/lang/ThreadLocal$ThreadLocalMap;
        28: .line 396
            putfield java.lang.Thread.inheritableThreadLocals:Ljava/lang/ThreadLocal$ThreadLocalMap;
        29: .line 399
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 4 /* stackSize */
            putfield java.lang.Thread.stackSize:J
        30: .line 402
            aload 0 /* this */
            invokestatic java.lang.Thread.nextThreadID:()J
            putfield java.lang.Thread.tid:J
        31: .line 404
            aload 0 /* this */
            aload 0 /* this */
            putfield java.lang.Thread.me:Ljava/lang/Thread;
        32: .line 405
            return
        end local 9 // java.lang.SecurityManager security
        end local 8 // java.lang.Thread parent
        end local 7 // boolean inheritThreadLocals
        end local 6 // java.security.AccessControlContext acc
        end local 4 // long stackSize
        end local 3 // java.lang.String name
        end local 2 // java.lang.Runnable target
        end local 1 // java.lang.ThreadGroup g
        end local 0 // java.lang.Thread this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   33     0                 this  Ljava/lang/Thread;
            0   33     1                    g  Ljava/lang/ThreadGroup;
            0   33     2               target  Ljava/lang/Runnable;
            0   33     3                 name  Ljava/lang/String;
            0   33     4            stackSize  J
            0   33     6                  acc  Ljava/security/AccessControlContext;
            0   33     7  inheritThreadLocals  Z
            1   33     8               parent  Ljava/lang/Thread;
            2   33     9             security  Ljava/lang/SecurityManager;
    MethodParameters:
                     Name  Flags
      g                    
      target               
      name                 
      stackSize            
      acc                  
      inheritThreadLocals  

  protected java.lang.Object clone();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // java.lang.Thread this
         0: .line 419
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         1: .line 420
            aload 0 /* this */
            invokespecial java.lang.Object.clone:()Ljava/lang/Object;
            checkcast java.lang.Thread
            astore 1 /* t */
        start local 1 // java.lang.Thread t
         2: .line 422
            aload 1 /* t */
            invokestatic java.lang.Thread.nextThreadID:()J
            putfield java.lang.Thread.tid:J
         3: .line 423
            aload 1 /* t */
            aconst_null
            putfield java.lang.Thread.parkBlocker:Ljava/lang/Object;
         4: .line 424
            aload 1 /* t */
            aconst_null
            putfield java.lang.Thread.blocker:Lsun/nio/ch/Interruptible;
         5: .line 425
            aload 1 /* t */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield java.lang.Thread.blockerLock:Ljava/lang/Object;
         6: .line 426
            aload 1 /* t */
            aconst_null
            putfield java.lang.Thread.threadLocals:Ljava/lang/ThreadLocal$ThreadLocalMap;
         7: .line 428
            aload 0 /* this */
            getfield java.lang.Thread.group:Ljava/lang/ThreadGroup;
            invokevirtual java.lang.ThreadGroup.checkAccess:()V
         8: .line 429
            aload 0 /* this */
            getfield java.lang.Thread.threadStatus:I
            ifne 10
         9: .line 430
            aload 0 /* this */
            getfield java.lang.Thread.group:Ljava/lang/ThreadGroup;
            invokevirtual java.lang.ThreadGroup.addUnstarted:()V
        10: .line 432
      StackMap locals: java.lang.Thread java.lang.Thread
      StackMap stack:
            aload 1 /* t */
            aload 0 /* this */
            getfield java.lang.Thread.priority:I
            invokevirtual java.lang.Thread.setPriority:(I)V
        11: .line 434
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            astore 3 /* current */
        start local 3 // java.lang.Thread current
        12: .line 435
            aload 3 /* current */
            getfield java.lang.Thread.inheritableThreadLocals:Ljava/lang/ThreadLocal$ThreadLocalMap;
            ifnull 16
        13: .line 436
            aload 1 /* t */
        14: .line 437
            aload 3 /* current */
            getfield java.lang.Thread.inheritableThreadLocals:Ljava/lang/ThreadLocal$ThreadLocalMap;
            invokestatic java.lang.ThreadLocal.createInheritedMap:(Ljava/lang/ThreadLocal$ThreadLocalMap;)Ljava/lang/ThreadLocal$ThreadLocalMap;
        15: .line 436
            putfield java.lang.Thread.inheritableThreadLocals:Ljava/lang/ThreadLocal$ThreadLocalMap;
        end local 3 // java.lang.Thread current
        16: .line 419
      StackMap locals:
      StackMap stack:
            aload 2
            monitorexit
        17: goto 20
        end local 1 // java.lang.Thread t
      StackMap locals: java.lang.Thread top java.lang.Thread
      StackMap stack: java.lang.Throwable
        18: aload 2
            monitorexit
        19: athrow
        start local 1 // java.lang.Thread t
        20: .line 440
      StackMap locals: java.lang.Thread java.lang.Thread
      StackMap stack:
            aload 1 /* t */
            aload 1 /* t */
            putfield java.lang.Thread.me:Ljava/lang/Thread;
        21: .line 441
            aload 1 /* t */
            areturn
        end local 1 // java.lang.Thread t
        end local 0 // java.lang.Thread this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   22     0     this  Ljava/lang/Thread;
            2   18     1        t  Ljava/lang/Thread;
           20   22     1        t  Ljava/lang/Thread;
           12   16     3  current  Ljava/lang/Thread;
      Exception table:
        from    to  target  type
           1    17      18  any
          18    19      18  any
    Exceptions:
      throws java.lang.CloneNotSupportedException

  void <init>(java.lang.Runnable, java.security.AccessControlContext);
    descriptor: (Ljava/lang/Runnable;Ljava/security/AccessControlContext;)V
    flags: (0x0000) 
    Code:
      stack=8, locals=3, args_size=3
        start local 0 // java.lang.Thread this
        start local 1 // java.lang.Runnable target
        start local 2 // java.security.AccessControlContext acc
         0: .line 448
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 150
            aload 0 /* this */
            iconst_0
            putfield java.lang.Thread.daemon:Z
         2: .line 153
            aload 0 /* this */
            iconst_0
            putfield java.lang.Thread.stillborn:Z
         3: .line 175
            aload 0 /* this */
            aconst_null
            putfield java.lang.Thread.threadLocals:Ljava/lang/ThreadLocal$ThreadLocalMap;
         4: .line 181
            aload 0 /* this */
            aconst_null
            putfield java.lang.Thread.inheritableThreadLocals:Ljava/lang/ThreadLocal$ThreadLocalMap;
         5: .line 207
            aload 0 /* this */
            iconst_0
            putfield java.lang.Thread.threadStatus:I
         6: .line 227
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield java.lang.Thread.blockerLock:Ljava/lang/Object;
         7: .line 449
            aload 0 /* this */
            aconst_null
            aload 1 /* target */
            new java.lang.StringBuilder
            dup
            ldc "Thread-"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            invokestatic java.lang.Thread.nextThreadNum:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            lconst_0
            aload 2 /* acc */
            iconst_0
            invokevirtual java.lang.Thread.init:(Ljava/lang/ThreadGroup;Ljava/lang/Runnable;Ljava/lang/String;JLjava/security/AccessControlContext;Z)V
         8: .line 450
            return
        end local 2 // java.security.AccessControlContext acc
        end local 1 // java.lang.Runnable target
        end local 0 // java.lang.Thread this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Ljava/lang/Thread;
            0    9     1  target  Ljava/lang/Runnable;
            0    9     2     acc  Ljava/security/AccessControlContext;
    MethodParameters:
        Name  Flags
      target  
      acc     

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // java.lang.Thread this
         0: .line 461
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 150
            aload 0 /* this */
            iconst_0
            putfield java.lang.Thread.daemon:Z
         2: .line 153
            aload 0 /* this */
            iconst_0
            putfield java.lang.Thread.stillborn:Z
         3: .line 175
            aload 0 /* this */
            aconst_null
            putfield java.lang.Thread.threadLocals:Ljava/lang/ThreadLocal$ThreadLocalMap;
         4: .line 181
            aload 0 /* this */
            aconst_null
            putfield java.lang.Thread.inheritableThreadLocals:Ljava/lang/ThreadLocal$ThreadLocalMap;
         5: .line 207
            aload 0 /* this */
            iconst_0
            putfield java.lang.Thread.threadStatus:I
         6: .line 227
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield java.lang.Thread.blockerLock:Ljava/lang/Object;
         7: .line 462
            aload 0 /* this */
            aconst_null
            aconst_null
            new java.lang.StringBuilder
            dup
            ldc "Thread-"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            invokestatic java.lang.Thread.nextThreadNum:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            lconst_0
            invokevirtual java.lang.Thread.init:(Ljava/lang/ThreadGroup;Ljava/lang/Runnable;Ljava/lang/String;J)V
         8: .line 463
            return
        end local 0 // java.lang.Thread this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Ljava/lang/Thread;

  public void <init>(java.lang.Runnable);
    descriptor: (Ljava/lang/Runnable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // java.lang.Thread this
        start local 1 // java.lang.Runnable target
         0: .line 475
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 150
            aload 0 /* this */
            iconst_0
            putfield java.lang.Thread.daemon:Z
         2: .line 153
            aload 0 /* this */
            iconst_0
            putfield java.lang.Thread.stillborn:Z
         3: .line 175
            aload 0 /* this */
            aconst_null
            putfield java.lang.Thread.threadLocals:Ljava/lang/ThreadLocal$ThreadLocalMap;
         4: .line 181
            aload 0 /* this */
            aconst_null
            putfield java.lang.Thread.inheritableThreadLocals:Ljava/lang/ThreadLocal$ThreadLocalMap;
         5: .line 207
            aload 0 /* this */
            iconst_0
            putfield java.lang.Thread.threadStatus:I
         6: .line 227
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield java.lang.Thread.blockerLock:Ljava/lang/Object;
         7: .line 476
            aload 0 /* this */
            aconst_null
            aload 1 /* target */
            new java.lang.StringBuilder
            dup
            ldc "Thread-"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            invokestatic java.lang.Thread.nextThreadNum:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            lconst_0
            invokevirtual java.lang.Thread.init:(Ljava/lang/ThreadGroup;Ljava/lang/Runnable;Ljava/lang/String;J)V
         8: .line 477
            return
        end local 1 // java.lang.Runnable target
        end local 0 // java.lang.Thread this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Ljava/lang/Thread;
            0    9     1  target  Ljava/lang/Runnable;
    MethodParameters:
        Name  Flags
      target  

  public void <init>(java.lang.ThreadGroup, java.lang.Runnable);
    descriptor: (Ljava/lang/ThreadGroup;Ljava/lang/Runnable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // java.lang.Thread this
        start local 1 // java.lang.ThreadGroup group
        start local 2 // java.lang.Runnable target
         0: .line 492
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 150
            aload 0 /* this */
            iconst_0
            putfield java.lang.Thread.daemon:Z
         2: .line 153
            aload 0 /* this */
            iconst_0
            putfield java.lang.Thread.stillborn:Z
         3: .line 175
            aload 0 /* this */
            aconst_null
            putfield java.lang.Thread.threadLocals:Ljava/lang/ThreadLocal$ThreadLocalMap;
         4: .line 181
            aload 0 /* this */
            aconst_null
            putfield java.lang.Thread.inheritableThreadLocals:Ljava/lang/ThreadLocal$ThreadLocalMap;
         5: .line 207
            aload 0 /* this */
            iconst_0
            putfield java.lang.Thread.threadStatus:I
         6: .line 227
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield java.lang.Thread.blockerLock:Ljava/lang/Object;
         7: .line 493
            aload 0 /* this */
            aload 1 /* group */
            aload 2 /* target */
            new java.lang.StringBuilder
            dup
            ldc "Thread-"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            invokestatic java.lang.Thread.nextThreadNum:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            lconst_0
            invokevirtual java.lang.Thread.init:(Ljava/lang/ThreadGroup;Ljava/lang/Runnable;Ljava/lang/String;J)V
         8: .line 494
            return
        end local 2 // java.lang.Runnable target
        end local 1 // java.lang.ThreadGroup group
        end local 0 // java.lang.Thread this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Ljava/lang/Thread;
            0    9     1   group  Ljava/lang/ThreadGroup;
            0    9     2  target  Ljava/lang/Runnable;
    MethodParameters:
        Name  Flags
      group   
      target  

  public void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // java.lang.Thread this
        start local 1 // java.lang.String name
         0: .line 503
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 150
            aload 0 /* this */
            iconst_0
            putfield java.lang.Thread.daemon:Z
         2: .line 153
            aload 0 /* this */
            iconst_0
            putfield java.lang.Thread.stillborn:Z
         3: .line 175
            aload 0 /* this */
            aconst_null
            putfield java.lang.Thread.threadLocals:Ljava/lang/ThreadLocal$ThreadLocalMap;
         4: .line 181
            aload 0 /* this */
            aconst_null
            putfield java.lang.Thread.inheritableThreadLocals:Ljava/lang/ThreadLocal$ThreadLocalMap;
         5: .line 207
            aload 0 /* this */
            iconst_0
            putfield java.lang.Thread.threadStatus:I
         6: .line 227
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield java.lang.Thread.blockerLock:Ljava/lang/Object;
         7: .line 504
            aload 0 /* this */
            aconst_null
            aconst_null
            aload 1 /* name */
            lconst_0
            invokevirtual java.lang.Thread.init:(Ljava/lang/ThreadGroup;Ljava/lang/Runnable;Ljava/lang/String;J)V
         8: .line 505
            return
        end local 1 // java.lang.String name
        end local 0 // java.lang.Thread this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Ljava/lang/Thread;
            0    9     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public void <init>(java.lang.ThreadGroup, java.lang.String);
    descriptor: (Ljava/lang/ThreadGroup;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // java.lang.Thread this
        start local 1 // java.lang.ThreadGroup group
        start local 2 // java.lang.String name
         0: .line 517
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 150
            aload 0 /* this */
            iconst_0
            putfield java.lang.Thread.daemon:Z
         2: .line 153
            aload 0 /* this */
            iconst_0
            putfield java.lang.Thread.stillborn:Z
         3: .line 175
            aload 0 /* this */
            aconst_null
            putfield java.lang.Thread.threadLocals:Ljava/lang/ThreadLocal$ThreadLocalMap;
         4: .line 181
            aload 0 /* this */
            aconst_null
            putfield java.lang.Thread.inheritableThreadLocals:Ljava/lang/ThreadLocal$ThreadLocalMap;
         5: .line 207
            aload 0 /* this */
            iconst_0
            putfield java.lang.Thread.threadStatus:I
         6: .line 227
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield java.lang.Thread.blockerLock:Ljava/lang/Object;
         7: .line 518
            aload 0 /* this */
            aload 1 /* group */
            aconst_null
            aload 2 /* name */
            lconst_0
            invokevirtual java.lang.Thread.init:(Ljava/lang/ThreadGroup;Ljava/lang/Runnable;Ljava/lang/String;J)V
         8: .line 519
            return
        end local 2 // java.lang.String name
        end local 1 // java.lang.ThreadGroup group
        end local 0 // java.lang.Thread this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Ljava/lang/Thread;
            0    9     1  group  Ljava/lang/ThreadGroup;
            0    9     2   name  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      group  
      name   

  public void <init>(java.lang.Runnable, java.lang.String);
    descriptor: (Ljava/lang/Runnable;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // java.lang.Thread this
        start local 1 // java.lang.Runnable target
        start local 2 // java.lang.String name
         0: .line 529
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 150
            aload 0 /* this */
            iconst_0
            putfield java.lang.Thread.daemon:Z
         2: .line 153
            aload 0 /* this */
            iconst_0
            putfield java.lang.Thread.stillborn:Z
         3: .line 175
            aload 0 /* this */
            aconst_null
            putfield java.lang.Thread.threadLocals:Ljava/lang/ThreadLocal$ThreadLocalMap;
         4: .line 181
            aload 0 /* this */
            aconst_null
            putfield java.lang.Thread.inheritableThreadLocals:Ljava/lang/ThreadLocal$ThreadLocalMap;
         5: .line 207
            aload 0 /* this */
            iconst_0
            putfield java.lang.Thread.threadStatus:I
         6: .line 227
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield java.lang.Thread.blockerLock:Ljava/lang/Object;
         7: .line 530
            aload 0 /* this */
            aconst_null
            aload 1 /* target */
            aload 2 /* name */
            lconst_0
            invokevirtual java.lang.Thread.init:(Ljava/lang/ThreadGroup;Ljava/lang/Runnable;Ljava/lang/String;J)V
         8: .line 531
            return
        end local 2 // java.lang.String name
        end local 1 // java.lang.Runnable target
        end local 0 // java.lang.Thread this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Ljava/lang/Thread;
            0    9     1  target  Ljava/lang/Runnable;
            0    9     2    name  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      target  
      name    

  public void <init>(java.lang.ThreadGroup, java.lang.Runnable, java.lang.String);
    descriptor: (Ljava/lang/ThreadGroup;Ljava/lang/Runnable;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // java.lang.Thread this
        start local 1 // java.lang.ThreadGroup group
        start local 2 // java.lang.Runnable target
        start local 3 // java.lang.String name
         0: .line 587
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 150
            aload 0 /* this */
            iconst_0
            putfield java.lang.Thread.daemon:Z
         2: .line 153
            aload 0 /* this */
            iconst_0
            putfield java.lang.Thread.stillborn:Z
         3: .line 175
            aload 0 /* this */
            aconst_null
            putfield java.lang.Thread.threadLocals:Ljava/lang/ThreadLocal$ThreadLocalMap;
         4: .line 181
            aload 0 /* this */
            aconst_null
            putfield java.lang.Thread.inheritableThreadLocals:Ljava/lang/ThreadLocal$ThreadLocalMap;
         5: .line 207
            aload 0 /* this */
            iconst_0
            putfield java.lang.Thread.threadStatus:I
         6: .line 227
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield java.lang.Thread.blockerLock:Ljava/lang/Object;
         7: .line 588
            aload 0 /* this */
            aload 1 /* group */
            aload 2 /* target */
            aload 3 /* name */
            lconst_0
            invokevirtual java.lang.Thread.init:(Ljava/lang/ThreadGroup;Ljava/lang/Runnable;Ljava/lang/String;J)V
         8: .line 589
            return
        end local 3 // java.lang.String name
        end local 2 // java.lang.Runnable target
        end local 1 // java.lang.ThreadGroup group
        end local 0 // java.lang.Thread this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Ljava/lang/Thread;
            0    9     1   group  Ljava/lang/ThreadGroup;
            0    9     2  target  Ljava/lang/Runnable;
            0    9     3    name  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      group   
      target  
      name    

  public void <init>(java.lang.ThreadGroup, java.lang.Runnable, java.lang.String, long);
    descriptor: (Ljava/lang/ThreadGroup;Ljava/lang/Runnable;Ljava/lang/String;J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=5
        start local 0 // java.lang.Thread this
        start local 1 // java.lang.ThreadGroup group
        start local 2 // java.lang.Runnable target
        start local 3 // java.lang.String name
        start local 4 // long stackSize
         0: .line 648
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 150
            aload 0 /* this */
            iconst_0
            putfield java.lang.Thread.daemon:Z
         2: .line 153
            aload 0 /* this */
            iconst_0
            putfield java.lang.Thread.stillborn:Z
         3: .line 175
            aload 0 /* this */
            aconst_null
            putfield java.lang.Thread.threadLocals:Ljava/lang/ThreadLocal$ThreadLocalMap;
         4: .line 181
            aload 0 /* this */
            aconst_null
            putfield java.lang.Thread.inheritableThreadLocals:Ljava/lang/ThreadLocal$ThreadLocalMap;
         5: .line 207
            aload 0 /* this */
            iconst_0
            putfield java.lang.Thread.threadStatus:I
         6: .line 227
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield java.lang.Thread.blockerLock:Ljava/lang/Object;
         7: .line 650
            aload 0 /* this */
            aload 1 /* group */
            aload 2 /* target */
            aload 3 /* name */
            lload 4 /* stackSize */
            invokevirtual java.lang.Thread.init:(Ljava/lang/ThreadGroup;Ljava/lang/Runnable;Ljava/lang/String;J)V
         8: .line 651
            return
        end local 4 // long stackSize
        end local 3 // java.lang.String name
        end local 2 // java.lang.Runnable target
        end local 1 // java.lang.ThreadGroup group
        end local 0 // java.lang.Thread this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Ljava/lang/Thread;
            0    9     1      group  Ljava/lang/ThreadGroup;
            0    9     2     target  Ljava/lang/Runnable;
            0    9     3       name  Ljava/lang/String;
            0    9     4  stackSize  J
    MethodParameters:
           Name  Flags
      group      
      target     
      name       
      stackSize  

  public synchronized void start();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Thread this
         0: .line 679
            aload 0 /* this */
            getfield java.lang.Thread.threadStatus:I
            ifne 1
            aload 0 /* this */
            aload 0 /* this */
            getfield java.lang.Thread.me:Ljava/lang/Thread;
            if_acmpeq 2
         1: .line 680
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalThreadStateException
            dup
            invokespecial java.lang.IllegalThreadStateException.<init>:()V
            athrow
         2: .line 681
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.Thread.group:Ljava/lang/ThreadGroup;
            aload 0 /* this */
            invokevirtual java.lang.ThreadGroup.add:(Ljava/lang/Thread;)V
         3: .line 682
            aload 0 /* this */
            invokevirtual java.lang.Thread.start0:()V
         4: .line 683
            aload 0 /* this */
            getfield java.lang.Thread.stopBeforeStart:Z
            ifeq 6
         5: .line 684
            aload 0 /* this */
            aload 0 /* this */
            getfield java.lang.Thread.throwableFromStop:Ljava/lang/Throwable;
            invokevirtual java.lang.Thread.stop0:(Ljava/lang/Object;)V
         6: .line 686
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.lang.Thread this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljava/lang/Thread;

  private native void start0();
    descriptor: ()V
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE

  public void run();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Thread this
         0: .line 703
            aload 0 /* this */
            getfield java.lang.Thread.target:Ljava/lang/Runnable;
            ifnull 2
         1: .line 704
            aload 0 /* this */
            getfield java.lang.Thread.target:Ljava/lang/Runnable;
            invokeinterface java.lang.Runnable.run:()V
         2: .line 706
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.lang.Thread this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/lang/Thread;

  private void exit();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Thread this
         0: .line 713
            aload 0 /* this */
            getfield java.lang.Thread.group:Ljava/lang/ThreadGroup;
            ifnull 3
         1: .line 714
            aload 0 /* this */
            getfield java.lang.Thread.group:Ljava/lang/ThreadGroup;
            aload 0 /* this */
            invokevirtual java.lang.ThreadGroup.remove:(Ljava/lang/Thread;)V
         2: .line 715
            aload 0 /* this */
            aconst_null
            putfield java.lang.Thread.group:Ljava/lang/ThreadGroup;
         3: .line 718
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield java.lang.Thread.target:Ljava/lang/Runnable;
         4: .line 720
            aload 0 /* this */
            aconst_null
            putfield java.lang.Thread.threadLocals:Ljava/lang/ThreadLocal$ThreadLocalMap;
         5: .line 721
            aload 0 /* this */
            aconst_null
            putfield java.lang.Thread.inheritableThreadLocals:Ljava/lang/ThreadLocal$ThreadLocalMap;
         6: .line 722
            aload 0 /* this */
            aconst_null
            putfield java.lang.Thread.inheritedAccessControlContext:Ljava/security/AccessControlContext;
         7: .line 723
            aload 0 /* this */
            aconst_null
            putfield java.lang.Thread.blocker:Lsun/nio/ch/Interruptible;
         8: .line 724
            aload 0 /* this */
            aconst_null
            putfield java.lang.Thread.uncaughtExceptionHandler:Ljava/lang/Thread$UncaughtExceptionHandler;
         9: .line 725
            return
        end local 0 // java.lang.Thread this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Ljava/lang/Thread;

  public final void stop();
    descriptor: ()V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.Thread this
         0: .line 797
            aload 0 /* this */
            getfield java.lang.Thread.threadStatus:I
            ifeq 2
            aload 0 /* this */
            invokevirtual java.lang.Thread.isAlive:()Z
            ifne 2
         1: .line 798
            return
         2: .line 800
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.lang.ThreadDeath
            dup
            invokespecial java.lang.ThreadDeath.<init>:()V
            invokevirtual java.lang.Thread.stop1:(Ljava/lang/Throwable;)V
         3: .line 801
            return
        end local 0 // java.lang.Thread this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/lang/Thread;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public final synchronized void stop(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Thread this
        start local 1 // java.lang.Throwable obj
         0: .line 854
            aload 0 /* this */
            aload 1 /* obj */
            invokevirtual java.lang.Thread.stop1:(Ljava/lang/Throwable;)V
         1: .line 855
            return
        end local 1 // java.lang.Throwable obj
        end local 0 // java.lang.Thread this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/lang/Thread;
            0    2     1   obj  Ljava/lang/Throwable;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      obj   

  private final synchronized void stop1(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x0032) ACC_PRIVATE, ACC_FINAL, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.lang.Thread this
        start local 1 // java.lang.Throwable th
         0: .line 861
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 2 /* security */
        start local 2 // java.lang.SecurityManager security
         1: .line 862
            aload 2 /* security */
            ifnull 6
         2: .line 863
            aload 0 /* this */
            invokevirtual java.lang.Thread.checkAccess:()V
         3: .line 864
            aload 0 /* this */
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            if_acmpne 5
         4: .line 865
            aload 1 /* th */
            instanceof java.lang.ThreadDeath
            ifne 6
         5: .line 866
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aload 2 /* security */
            getstatic sun.security.util.SecurityConstants.STOP_THREAD_PERMISSION:Ljava/lang/RuntimePermission;
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
         6: .line 870
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.Thread.threadStatus:I
            ifeq 10
         7: .line 871
            aload 0 /* this */
            invokevirtual java.lang.Thread.resume:()V
         8: .line 872
            aload 0 /* this */
            aload 1 /* th */
            invokevirtual java.lang.Thread.stop0:(Ljava/lang/Object;)V
         9: .line 873
            goto 14
        10: .line 876
      StackMap locals:
      StackMap stack:
            aload 1 /* th */
            ifnonnull 12
        11: .line 877
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
        12: .line 881
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield java.lang.Thread.stopBeforeStart:Z
        13: .line 882
            aload 0 /* this */
            aload 1 /* th */
            putfield java.lang.Thread.throwableFromStop:Ljava/lang/Throwable;
        14: .line 884
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.SecurityManager security
        end local 1 // java.lang.Throwable th
        end local 0 // java.lang.Thread this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   15     0      this  Ljava/lang/Thread;
            0   15     1        th  Ljava/lang/Throwable;
            1   15     2  security  Ljava/lang/SecurityManager;
    MethodParameters:
      Name  Flags
      th    

  public void interrupt();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // java.lang.Thread this
         0: .line 926
            aload 0 /* this */
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            if_acmpeq 2
         1: .line 927
            aload 0 /* this */
            invokevirtual java.lang.Thread.checkAccess:()V
         2: .line 929
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.Thread.blockerLock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         3: .line 930
            aload 0 /* this */
            getfield java.lang.Thread.blocker:Lsun/nio/ch/Interruptible;
            astore 2 /* b */
        start local 2 // sun.nio.ch.Interruptible b
         4: .line 931
            aload 2 /* b */
            ifnull 9
         5: .line 932
            aload 0 /* this */
            invokevirtual java.lang.Thread.interrupt0:()V
         6: .line 933
            aload 2 /* b */
            invokeinterface sun.nio.ch.Interruptible.interrupt:()V
         7: .line 934
            aload 1
            monitorexit
         8: return
        end local 2 // sun.nio.ch.Interruptible b
         9: .line 929
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 1
            monitorexit
        10: goto 13
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: aload 1
            monitorexit
        12: athrow
        13: .line 937
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.Thread.interrupt0:()V
        14: .line 938
            return
        end local 0 // java.lang.Thread this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0  this  Ljava/lang/Thread;
            4    9     2     b  Lsun/nio/ch/Interruptible;
      Exception table:
        from    to  target  type
           3     8      11  any
           9    10      11  any
          11    12      11  any

  public static boolean interrupted();
    descriptor: ()Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 958
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            iconst_1
            invokevirtual java.lang.Thread.isInterrupted:(Z)Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public boolean isInterrupted();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Thread this
         0: .line 975
            aload 0 /* this */
            iconst_0
            invokevirtual java.lang.Thread.isInterrupted:(Z)Z
            ireturn
        end local 0 // java.lang.Thread this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/Thread;

  private native boolean isInterrupted(boolean);
    descriptor: (Z)Z
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    MethodParameters:
                  Name  Flags
      ClearInterrupted  

  public void destroy();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Thread this
         0: .line 1004
            new java.lang.NoSuchMethodError
            dup
            invokespecial java.lang.NoSuchMethodError.<init>:()V
            athrow
        end local 0 // java.lang.Thread this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/Thread;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public final native boolean isAlive();
    descriptor: ()Z
    flags: (0x0111) ACC_PUBLIC, ACC_FINAL, ACC_NATIVE

  public final void suspend();
    descriptor: ()V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Thread this
         0: .line 1042
            aload 0 /* this */
            invokevirtual java.lang.Thread.checkAccess:()V
         1: .line 1043
            aload 0 /* this */
            invokevirtual java.lang.Thread.suspend0:()V
         2: .line 1044
            return
        end local 0 // java.lang.Thread this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/lang/Thread;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public final void resume();
    descriptor: ()V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Thread this
         0: .line 1068
            aload 0 /* this */
            invokevirtual java.lang.Thread.checkAccess:()V
         1: .line 1069
            aload 0 /* this */
            invokevirtual java.lang.Thread.resume0:()V
         2: .line 1070
            return
        end local 0 // java.lang.Thread this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/lang/Thread;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public final void setPriority(int);
    descriptor: (I)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.lang.Thread this
        start local 1 // int newPriority
         0: .line 1098
            aload 0 /* this */
            invokevirtual java.lang.Thread.checkAccess:()V
         1: .line 1099
            iload 1 /* newPriority */
            bipush 10
            if_icmpgt 2
            iload 1 /* newPriority */
            iconst_1
            if_icmpge 3
         2: .line 1100
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
         3: .line 1102
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.Thread.getThreadGroup:()Ljava/lang/ThreadGroup;
            dup
            astore 2 /* g */
        start local 2 // java.lang.ThreadGroup g
         4: ifnull 8
         5: .line 1103
            iload 1 /* newPriority */
            aload 2 /* g */
            invokevirtual java.lang.ThreadGroup.getMaxPriority:()I
            if_icmple 7
         6: .line 1104
            aload 2 /* g */
            invokevirtual java.lang.ThreadGroup.getMaxPriority:()I
            istore 1 /* newPriority */
         7: .line 1106
      StackMap locals: java.lang.ThreadGroup
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* newPriority */
            dup_x1
            putfield java.lang.Thread.priority:I
            invokevirtual java.lang.Thread.setPriority0:(I)V
         8: .line 1108
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.ThreadGroup g
        end local 1 // int newPriority
        end local 0 // java.lang.Thread this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0         this  Ljava/lang/Thread;
            0    9     1  newPriority  I
            4    9     2            g  Ljava/lang/ThreadGroup;
    MethodParameters:
             Name  Flags
      newPriority  

  public final int getPriority();
    descriptor: ()I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Thread this
         0: .line 1117
            aload 0 /* this */
            getfield java.lang.Thread.priority:I
            ireturn
        end local 0 // java.lang.Thread this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/Thread;

  public final void setName(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Thread this
        start local 1 // java.lang.String name
         0: .line 1135
            aload 0 /* this */
            invokevirtual java.lang.Thread.checkAccess:()V
         1: .line 1136
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual java.lang.String.toCharArray:()[C
            putfield java.lang.Thread.name:[C
         2: .line 1137
            return
        end local 1 // java.lang.String name
        end local 0 // java.lang.Thread this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/lang/Thread;
            0    3     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public final java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Thread this
         0: .line 1146
            aload 0 /* this */
            getfield java.lang.Thread.name:[C
            invokestatic java.lang.String.valueOf:([C)Ljava/lang/String;
            areturn
        end local 0 // java.lang.Thread this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/Thread;

  public final java.lang.ThreadGroup getThreadGroup();
    descriptor: ()Ljava/lang/ThreadGroup;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Thread this
         0: .line 1157
            aload 0 /* this */
            getfield java.lang.Thread.group:Ljava/lang/ThreadGroup;
            areturn
        end local 0 // java.lang.Thread this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/Thread;

  public static int activeCount();
    descriptor: ()I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 1168
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.getThreadGroup:()Ljava/lang/ThreadGroup;
            invokevirtual java.lang.ThreadGroup.activeCount:()I
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static int enumerate(java.lang.Thread[]);
    descriptor: ([Ljava/lang/Thread;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Thread[] tarray
         0: .line 1191
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.getThreadGroup:()Ljava/lang/ThreadGroup;
            aload 0 /* tarray */
            invokevirtual java.lang.ThreadGroup.enumerate:([Ljava/lang/Thread;)I
            ireturn
        end local 0 // java.lang.Thread[] tarray
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  tarray  [Ljava/lang/Thread;
    MethodParameters:
        Name  Flags
      tarray  

  public native int countStackFrames();
    descriptor: ()I
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    RuntimeVisibleTypeAnnotations: 
      METHOD_RETURN
        java.lang.Deprecated()

  public final synchronized void join(long);
    descriptor: (J)V
    flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=9, args_size=2
        start local 0 // java.lang.Thread this
        start local 1 // long millis
         0: .line 1219
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 3 /* base */
        start local 3 // long base
         1: .line 1220
            lconst_0
            lstore 5 /* now */
        start local 5 // long now
         2: .line 1222
            lload 1 /* millis */
            lconst_0
            lcmp
            ifge 4
         3: .line 1223
            new java.lang.IllegalArgumentException
            dup
            ldc "timeout value is negative"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 1226
      StackMap locals: long long
      StackMap stack:
            lload 1 /* millis */
            lconst_0
            lcmp
            ifne 14
         5: .line 1227
            goto 7
         6: .line 1228
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lconst_0
            invokevirtual java.lang.Object.wait:(J)V
         7: .line 1227
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.Thread.isAlive:()Z
            ifne 6
         8: .line 1230
            goto 15
         9: .line 1232
      StackMap locals:
      StackMap stack:
            lload 1 /* millis */
            lload 5 /* now */
            lsub
            lstore 7 /* delay */
        start local 7 // long delay
        10: .line 1233
            lload 7 /* delay */
            lconst_0
            lcmp
            ifgt 12
        11: .line 1234
            goto 15
        12: .line 1236
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            lload 7 /* delay */
            invokevirtual java.lang.Object.wait:(J)V
        13: .line 1237
            invokestatic java.lang.System.currentTimeMillis:()J
            lload 3 /* base */
            lsub
            lstore 5 /* now */
        end local 7 // long delay
        14: .line 1231
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.Thread.isAlive:()Z
            ifne 9
        15: .line 1240
      StackMap locals:
      StackMap stack:
            return
        end local 5 // long now
        end local 3 // long base
        end local 1 // long millis
        end local 0 // java.lang.Thread this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   16     0    this  Ljava/lang/Thread;
            0   16     1  millis  J
            1   16     3    base  J
            2   16     5     now  J
           10   14     7   delay  J
    Exceptions:
      throws java.lang.InterruptedException
    MethodParameters:
        Name  Flags
      millis  

  public final synchronized void join(long, int);
    descriptor: (JI)V
    flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // java.lang.Thread this
        start local 1 // long millis
        start local 3 // int nanos
         0: .line 1257
            lload 1 /* millis */
            lconst_0
            lcmp
            ifge 2
         1: .line 1258
            new java.lang.IllegalArgumentException
            dup
            ldc "timeout value is negative"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1261
      StackMap locals:
      StackMap stack:
            iload 3 /* nanos */
            iflt 3
            iload 3 /* nanos */
            ldc 999999
            if_icmple 6
         3: .line 1262
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
         4: .line 1263
            ldc "nanosecond timeout value out of range"
         5: .line 1262
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 1266
      StackMap locals:
      StackMap stack:
            iload 3 /* nanos */
            ldc 500000
            if_icmpge 7
            iload 3 /* nanos */
            ifeq 8
            lload 1 /* millis */
            lconst_0
            lcmp
            ifne 8
         7: .line 1267
      StackMap locals:
      StackMap stack:
            lload 1 /* millis */
            lconst_1
            ladd
            lstore 1 /* millis */
         8: .line 1270
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 1 /* millis */
            invokevirtual java.lang.Thread.join:(J)V
         9: .line 1271
            return
        end local 3 // int nanos
        end local 1 // long millis
        end local 0 // java.lang.Thread this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Ljava/lang/Thread;
            0   10     1  millis  J
            0   10     3   nanos  I
    Exceptions:
      throws java.lang.InterruptedException
    MethodParameters:
        Name  Flags
      millis  
      nanos   

  public final void join();
    descriptor: ()V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.Thread this
         0: .line 1281
            aload 0 /* this */
            lconst_0
            invokevirtual java.lang.Thread.join:(J)V
         1: .line 1282
            return
        end local 0 // java.lang.Thread this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/lang/Thread;
    Exceptions:
      throws java.lang.InterruptedException

  public static void dumpStack();
    descriptor: ()V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 1291
            new java.lang.Exception
            dup
            ldc "Stack trace"
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            invokevirtual java.lang.Exception.printStackTrace:()V
         1: .line 1292
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public final void setDaemon(boolean);
    descriptor: (Z)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Thread this
        start local 1 // boolean on
         0: .line 1315
            aload 0 /* this */
            invokevirtual java.lang.Thread.checkAccess:()V
         1: .line 1316
            aload 0 /* this */
            invokevirtual java.lang.Thread.isAlive:()Z
            ifeq 3
         2: .line 1317
            new java.lang.IllegalThreadStateException
            dup
            invokespecial java.lang.IllegalThreadStateException.<init>:()V
            athrow
         3: .line 1319
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* on */
            putfield java.lang.Thread.daemon:Z
         4: .line 1320
            return
        end local 1 // boolean on
        end local 0 // java.lang.Thread this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljava/lang/Thread;
            0    5     1    on  Z
    MethodParameters:
      Name  Flags
      on    

  public final boolean isDaemon();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Thread this
         0: .line 1330
            aload 0 /* this */
            getfield java.lang.Thread.daemon:Z
            ireturn
        end local 0 // java.lang.Thread this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/Thread;

  public final void checkAccess();
    descriptor: ()V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.Thread this
         0: .line 1346
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 1 /* security */
        start local 1 // java.lang.SecurityManager security
         1: .line 1347
            aload 1 /* security */
            ifnull 3
         2: .line 1348
            aload 1 /* security */
            aload 0 /* this */
            invokevirtual java.lang.SecurityManager.checkAccess:(Ljava/lang/Thread;)V
         3: .line 1350
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            return
        end local 1 // java.lang.SecurityManager security
        end local 0 // java.lang.Thread this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Ljava/lang/Thread;
            1    4     1  security  Ljava/lang/SecurityManager;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.Thread this
         0: .line 1359
            aload 0 /* this */
            invokevirtual java.lang.Thread.getThreadGroup:()Ljava/lang/ThreadGroup;
            astore 1 /* group */
        start local 1 // java.lang.ThreadGroup group
         1: .line 1360
            aload 1 /* group */
            ifnull 5
         2: .line 1361
            new java.lang.StringBuilder
            dup
            ldc "Thread["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual java.lang.Thread.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;
            aload 0 /* this */
            invokevirtual java.lang.Thread.getPriority:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ","
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 1362
            aload 1 /* group */
            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;
         4: .line 1361
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         5: .line 1364
      StackMap locals: java.lang.ThreadGroup
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "Thread["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual java.lang.Thread.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;
            aload 0 /* this */
            invokevirtual java.lang.Thread.getPriority:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ","
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 1365
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 1364
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.ThreadGroup group
        end local 0 // java.lang.Thread this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Ljava/lang/Thread;
            1    8     1  group  Ljava/lang/ThreadGroup;

  public java.lang.ClassLoader getContextClassLoader();
    descriptor: ()Ljava/lang/ClassLoader;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.Thread this
         0: .line 1400
            aload 0 /* this */
            getfield java.lang.Thread.contextClassLoader:Ljava/lang/ClassLoader;
            ifnonnull 2
         1: .line 1401
            aconst_null
            areturn
         2: .line 1403
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 1 /* sm */
        start local 1 // java.lang.SecurityManager sm
         3: .line 1404
            aload 1 /* sm */
            ifnull 7
         4: .line 1405
            aload 0 /* this */
            getfield java.lang.Thread.contextClassLoader:Ljava/lang/ClassLoader;
         5: .line 1406
            invokestatic sun.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
         6: .line 1405
            invokestatic java.lang.ClassLoader.checkClassLoaderPermission:(Ljava/lang/ClassLoader;Ljava/lang/Class;)V
         7: .line 1408
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.Thread.contextClassLoader:Ljava/lang/ClassLoader;
            areturn
        end local 1 // java.lang.SecurityManager sm
        end local 0 // java.lang.Thread this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljava/lang/Thread;
            3    8     1    sm  Ljava/lang/SecurityManager;
    RuntimeVisibleAnnotations: 
      sun.reflect.CallerSensitive()

  public void setContextClassLoader(java.lang.ClassLoader);
    descriptor: (Ljava/lang/ClassLoader;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.lang.Thread this
        start local 1 // java.lang.ClassLoader cl
         0: .line 1433
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 2 /* sm */
        start local 2 // java.lang.SecurityManager sm
         1: .line 1434
            aload 2 /* sm */
            ifnull 3
         2: .line 1435
            aload 2 /* sm */
            new java.lang.RuntimePermission
            dup
            ldc "setContextClassLoader"
            invokespecial java.lang.RuntimePermission.<init>:(Ljava/lang/String;)V
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
         3: .line 1437
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aload 0 /* this */
            aload 1 /* cl */
            putfield java.lang.Thread.contextClassLoader:Ljava/lang/ClassLoader;
         4: .line 1438
            return
        end local 2 // java.lang.SecurityManager sm
        end local 1 // java.lang.ClassLoader cl
        end local 0 // java.lang.Thread this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljava/lang/Thread;
            0    5     1    cl  Ljava/lang/ClassLoader;
            1    5     2    sm  Ljava/lang/SecurityManager;
    MethodParameters:
      Name  Flags
      cl    

  public static native boolean holdsLock(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
    MethodParameters:
      Name  Flags
      obj   

  public java.lang.StackTraceElement[] getStackTrace();
    descriptor: ()[Ljava/lang/StackTraceElement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // java.lang.Thread this
         0: .line 1497
            aload 0 /* this */
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            if_acmpeq 13
         1: .line 1499
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 1 /* security */
        start local 1 // java.lang.SecurityManager security
         2: .line 1500
            aload 1 /* security */
            ifnull 6
         3: .line 1501
            aload 1 /* security */
         4: .line 1502
            getstatic sun.security.util.SecurityConstants.GET_STACK_TRACE_PERMISSION:Ljava/lang/RuntimePermission;
         5: .line 1501
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
         6: .line 1506
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.Thread.isAlive:()Z
            ifne 8
         7: .line 1507
            getstatic java.lang.Thread.EMPTY_STACK_TRACE:[Ljava/lang/StackTraceElement;
            areturn
         8: .line 1509
      StackMap locals:
      StackMap stack:
            iconst_1
            anewarray java.lang.Thread
            dup
            iconst_0
            aload 0 /* this */
            aastore
            invokestatic java.lang.Thread.dumpThreads:([Ljava/lang/Thread;)[[Ljava/lang/StackTraceElement;
            astore 2 /* stackTraceArray */
        start local 2 // java.lang.StackTraceElement[][] stackTraceArray
         9: .line 1510
            aload 2 /* stackTraceArray */
            iconst_0
            aaload
            astore 3 /* stackTrace */
        start local 3 // java.lang.StackTraceElement[] stackTrace
        10: .line 1513
            aload 3 /* stackTrace */
            ifnonnull 12
        11: .line 1514
            getstatic java.lang.Thread.EMPTY_STACK_TRACE:[Ljava/lang/StackTraceElement;
            astore 3 /* stackTrace */
        12: .line 1516
      StackMap locals: java.lang.StackTraceElement[][] java.lang.StackTraceElement[]
      StackMap stack:
            aload 3 /* stackTrace */
            areturn
        end local 3 // java.lang.StackTraceElement[] stackTrace
        end local 2 // java.lang.StackTraceElement[][] stackTraceArray
        end local 1 // java.lang.SecurityManager security
        13: .line 1519
      StackMap locals:
      StackMap stack:
            new java.lang.Exception
            dup
            invokespecial java.lang.Exception.<init>:()V
            invokevirtual java.lang.Exception.getStackTrace:()[Ljava/lang/StackTraceElement;
            areturn
        end local 0 // java.lang.Thread this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   14     0             this  Ljava/lang/Thread;
            2   13     1         security  Ljava/lang/SecurityManager;
            9   13     2  stackTraceArray  [[Ljava/lang/StackTraceElement;
           10   13     3       stackTrace  [Ljava/lang/StackTraceElement;

  public static java.util.Map<java.lang.Thread, java.lang.StackTraceElement[]> getAllStackTraces();
    descriptor: ()Ljava/util/Map;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=0
         0: .line 1560
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 0 /* security */
        start local 0 // java.lang.SecurityManager security
         1: .line 1561
            aload 0 /* security */
            ifnull 8
         2: .line 1562
            aload 0 /* security */
         3: .line 1563
            getstatic sun.security.util.SecurityConstants.GET_STACK_TRACE_PERMISSION:Ljava/lang/RuntimePermission;
         4: .line 1562
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
         5: .line 1564
            aload 0 /* security */
         6: .line 1565
            getstatic sun.security.util.SecurityConstants.MODIFY_THREADGROUP_PERMISSION:Ljava/lang/RuntimePermission;
         7: .line 1564
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
         8: .line 1569
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            invokestatic java.lang.Thread.getThreads:()[Ljava/lang/Thread;
            astore 1 /* threads */
        start local 1 // java.lang.Thread[] threads
         9: .line 1570
            aload 1 /* threads */
            invokestatic java.lang.Thread.dumpThreads:([Ljava/lang/Thread;)[[Ljava/lang/StackTraceElement;
            astore 2 /* traces */
        start local 2 // java.lang.StackTraceElement[][] traces
        10: .line 1572
            new java.util.HashMap
            dup
            aload 1 /* threads */
            arraylength
            invokespecial java.util.HashMap.<init>:(I)V
        11: .line 1571
            astore 3 /* m */
        start local 3 // java.util.Map m
        12: .line 1573
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        13: goto 18
        14: .line 1574
      StackMap locals: java.lang.SecurityManager java.lang.Thread[] java.lang.StackTraceElement[][] java.util.Map int
      StackMap stack:
            aload 2 /* traces */
            iload 4 /* i */
            aaload
            astore 5 /* stackTrace */
        start local 5 // java.lang.StackTraceElement[] stackTrace
        15: .line 1575
            aload 5 /* stackTrace */
            ifnull 17
        16: .line 1576
            aload 3 /* m */
            aload 1 /* threads */
            iload 4 /* i */
            aaload
            aload 5 /* stackTrace */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 5 // java.lang.StackTraceElement[] stackTrace
        17: .line 1573
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 4 /* i */
            aload 1 /* threads */
            arraylength
            if_icmplt 14
        end local 4 // int i
        19: .line 1580
            aload 3 /* m */
            areturn
        end local 3 // java.util.Map m
        end local 2 // java.lang.StackTraceElement[][] traces
        end local 1 // java.lang.Thread[] threads
        end local 0 // java.lang.SecurityManager security
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            1   20     0    security  Ljava/lang/SecurityManager;
            9   20     1     threads  [Ljava/lang/Thread;
           10   20     2      traces  [[Ljava/lang/StackTraceElement;
           12   20     3           m  Ljava/util/Map<Ljava/lang/Thread;[Ljava/lang/StackTraceElement;>;
           13   19     4           i  I
           15   17     5  stackTrace  [Ljava/lang/StackTraceElement;
    Signature: ()Ljava/util/Map<Ljava/lang/Thread;[Ljava/lang/StackTraceElement;>;

  private static boolean isCCLOverridden(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // java.lang.Class cl
         0: .line 1598
            aload 0 /* cl */
            ldc Ljava/lang/Thread;
            if_acmpne 2
         1: .line 1599
            iconst_0
            ireturn
         2: .line 1600
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 1 /* result */
        start local 1 // java.lang.Boolean result
         3: .line 1601
            getstatic java.lang.Thread.subclassAudits:Lsun/misc/SoftCache;
            dup
            astore 2
            monitorenter
         4: .line 1602
            getstatic java.lang.Thread.subclassAudits:Lsun/misc/SoftCache;
            aload 0 /* cl */
            invokevirtual sun.misc.SoftCache.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            astore 1 /* result */
         5: .line 1603
            aload 1 /* result */
            ifnonnull 8
         6: .line 1609
            new java.lang.Boolean
            dup
            aload 0 /* cl */
            invokestatic java.lang.Thread.auditSubclass:(Ljava/lang/Class;)Z
            invokespecial java.lang.Boolean.<init>:(Z)V
            astore 1 /* result */
         7: .line 1610
            getstatic java.lang.Thread.subclassAudits:Lsun/misc/SoftCache;
            aload 0 /* cl */
            aload 1 /* result */
            invokevirtual sun.misc.SoftCache.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 1601
      StackMap locals: java.lang.Boolean sun.misc.SoftCache
      StackMap stack:
            aload 2
            monitorexit
         9: goto 12
      StackMap locals:
      StackMap stack: java.lang.Throwable
        10: aload 2
            monitorexit
        11: athrow
        12: .line 1613
      StackMap locals:
      StackMap stack:
            aload 1 /* result */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ireturn
        end local 1 // java.lang.Boolean result
        end local 0 // java.lang.Class cl
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   13     0      cl  Ljava/lang/Class;
            3   13     1  result  Ljava/lang/Boolean;
      Exception table:
        from    to  target  type
           4     9      10  any
          10    11      10  any
    MethodParameters:
      Name  Flags
      cl    

  private static boolean auditSubclass(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.Class subcl
         0: .line 1623
            new java.lang.Thread$1
            dup
            aload 0 /* subcl */
            invokespecial java.lang.Thread$1.<init>:(Ljava/lang/Class;)V
         1: .line 1622
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            astore 1 /* result */
        start local 1 // java.lang.Boolean result
         2: .line 1645
            aload 1 /* result */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ireturn
        end local 1 // java.lang.Boolean result
        end local 0 // java.lang.Class subcl
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0   subcl  Ljava/lang/Class;
            2    3     1  result  Ljava/lang/Boolean;
    MethodParameters:
       Name  Flags
      subcl  final

  private static native java.lang.StackTraceElement[][] dumpThreads(java.lang.Thread[]);
    descriptor: ([Ljava/lang/Thread;)[[Ljava/lang/StackTraceElement;
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
         Name  Flags
      threads  

  private static native java.lang.Thread[] getThreads();
    descriptor: ()[Ljava/lang/Thread;
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE

  public long getId();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Thread this
         0: .line 1661
            aload 0 /* this */
            getfield java.lang.Thread.tid:J
            lreturn
        end local 0 // java.lang.Thread this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/Thread;

  public java.lang.Thread$State getState();
    descriptor: ()Ljava/lang/Thread$State;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Thread this
         0: .line 1773
            aload 0 /* this */
            getfield java.lang.Thread.threadStatus:I
            invokestatic sun.misc.VM.toThreadState:(I)Ljava/lang/Thread$State;
            areturn
        end local 0 // java.lang.Thread this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/Thread;

  public static void setDefaultUncaughtExceptionHandler(java.lang.Thread$UncaughtExceptionHandler);
    descriptor: (Ljava/lang/Thread$UncaughtExceptionHandler;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // java.lang.Thread$UncaughtExceptionHandler eh
         0: .line 1853
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 1 /* sm */
        start local 1 // java.lang.SecurityManager sm
         1: .line 1854
            aload 1 /* sm */
            ifnull 5
         2: .line 1855
            aload 1 /* sm */
         3: .line 1856
            new java.lang.RuntimePermission
            dup
            ldc "setDefaultUncaughtExceptionHandler"
            invokespecial java.lang.RuntimePermission.<init>:(Ljava/lang/String;)V
         4: .line 1855
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
         5: .line 1860
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aload 0 /* eh */
            putstatic java.lang.Thread.defaultUncaughtExceptionHandler:Ljava/lang/Thread$UncaughtExceptionHandler;
         6: .line 1861
            return
        end local 1 // java.lang.SecurityManager sm
        end local 0 // java.lang.Thread$UncaughtExceptionHandler eh
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0    eh  Ljava/lang/Thread$UncaughtExceptionHandler;
            1    7     1    sm  Ljava/lang/SecurityManager;
    MethodParameters:
      Name  Flags
      eh    

  public static java.lang.Thread$UncaughtExceptionHandler getDefaultUncaughtExceptionHandler();
    descriptor: ()Ljava/lang/Thread$UncaughtExceptionHandler;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 1871
            getstatic java.lang.Thread.defaultUncaughtExceptionHandler:Ljava/lang/Thread$UncaughtExceptionHandler;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.lang.Thread$UncaughtExceptionHandler getUncaughtExceptionHandler();
    descriptor: ()Ljava/lang/Thread$UncaughtExceptionHandler;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Thread this
         0: .line 1883
            aload 0 /* this */
            getfield java.lang.Thread.uncaughtExceptionHandler:Ljava/lang/Thread$UncaughtExceptionHandler;
            ifnull 2
         1: .line 1884
            aload 0 /* this */
            getfield java.lang.Thread.uncaughtExceptionHandler:Ljava/lang/Thread$UncaughtExceptionHandler;
            goto 3
      StackMap locals:
      StackMap stack:
         2: aload 0 /* this */
            getfield java.lang.Thread.group:Ljava/lang/ThreadGroup;
         3: .line 1883
      StackMap locals:
      StackMap stack: java.lang.Thread$UncaughtExceptionHandler
            areturn
        end local 0 // java.lang.Thread this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/lang/Thread;

  public void setUncaughtExceptionHandler(java.lang.Thread$UncaughtExceptionHandler);
    descriptor: (Ljava/lang/Thread$UncaughtExceptionHandler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Thread this
        start local 1 // java.lang.Thread$UncaughtExceptionHandler eh
         0: .line 1903
            aload 0 /* this */
            invokevirtual java.lang.Thread.checkAccess:()V
         1: .line 1904
            aload 0 /* this */
            aload 1 /* eh */
            putfield java.lang.Thread.uncaughtExceptionHandler:Ljava/lang/Thread$UncaughtExceptionHandler;
         2: .line 1905
            return
        end local 1 // java.lang.Thread$UncaughtExceptionHandler eh
        end local 0 // java.lang.Thread this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/lang/Thread;
            0    3     1    eh  Ljava/lang/Thread$UncaughtExceptionHandler;
    MethodParameters:
      Name  Flags
      eh    

  private void dispatchUncaughtException(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.Thread this
        start local 1 // java.lang.Throwable e
         0: .line 1912
            aload 0 /* this */
            invokevirtual java.lang.Thread.getUncaughtExceptionHandler:()Ljava/lang/Thread$UncaughtExceptionHandler;
            aload 0 /* this */
            aload 1 /* e */
            invokeinterface java.lang.Thread$UncaughtExceptionHandler.uncaughtException:(Ljava/lang/Thread;Ljava/lang/Throwable;)V
         1: .line 1913
            return
        end local 1 // java.lang.Throwable e
        end local 0 // java.lang.Thread this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/lang/Thread;
            0    2     1     e  Ljava/lang/Throwable;
    MethodParameters:
      Name  Flags
      e     

  private native void setPriority0(int);
    descriptor: (I)V
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    MethodParameters:
             Name  Flags
      newPriority  

  private native void stop0(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    MethodParameters:
      Name  Flags
      o     

  private native void suspend0();
    descriptor: ()V
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE

  private native void resume0();
    descriptor: ()V
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE

  private native void interrupt0();
    descriptor: ()V
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
}
SourceFile: "Thread.java"
NestMembers:
  java.lang.Thread$1  java.lang.Thread$State  java.lang.Thread$UncaughtExceptionHandler
InnerClasses:
  java.lang.Thread$1
  public final State = java.lang.Thread$State of java.lang.Thread
  public abstract UncaughtExceptionHandler = java.lang.Thread$UncaughtExceptionHandler of java.lang.Thread
  ThreadLocalMap = java.lang.ThreadLocal$ThreadLocalMap of java.lang.ThreadLocal