class org.graalvm.compiler.hotspot.CompilationWatchDog extends java.lang.Thread implements java.lang.AutoCloseable
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.graalvm.compiler.hotspot.CompilationWatchDog
  super_class: java.lang.Thread
{
  private static final int SPIN_TIMEOUT_MS;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1000

  private static final long START_DELAY_MS;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final long STACK_TRACE_INTERVAL_MS;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final boolean ENABLED;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private org.graalvm.compiler.hotspot.CompilationWatchDog$WatchDogState state;
    descriptor: Lorg/graalvm/compiler/hotspot/CompilationWatchDog$WatchDogState;
    flags: (0x0002) ACC_PRIVATE

  private final java.lang.Thread compilerThread;
    descriptor: Ljava/lang/Thread;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private volatile jdk.vm.ci.meta.ResolvedJavaMethod currentMethod;
    descriptor: Ljdk/vm/ci/meta/ResolvedJavaMethod;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private volatile int currentId;
    descriptor: I
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private jdk.vm.ci.meta.ResolvedJavaMethod lastWatched;
    descriptor: Ljdk/vm/ci/meta/ResolvedJavaMethod;
    flags: (0x0002) ACC_PRIVATE

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

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

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

  private java.lang.StackTraceElement[] lastStackTrace;
    descriptor: [Ljava/lang/StackTraceElement;
    flags: (0x0002) ACC_PRIVATE

  private static final boolean DEBUG;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.ThreadLocal<org.graalvm.compiler.hotspot.CompilationWatchDog> WATCH_DOGS;
    descriptor: Ljava/lang/ThreadLocal;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/lang/ThreadLocal<Lorg/graalvm/compiler/hotspot/CompilationWatchDog;>;

  private static volatile int[] $SWITCH_TABLE$org$graalvm$compiler$hotspot$CompilationWatchDog$WatchDogState;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 93
            getstatic org.graalvm.compiler.hotspot.CompilationWatchDog$Options.CompilationWatchDogStartDelay:Lorg/graalvm/compiler/options/OptionValue;
            invokevirtual org.graalvm.compiler.options.OptionValue.getValue:()Ljava/lang/Object;
            checkcast java.lang.Double
            invokevirtual java.lang.Double.doubleValue:()D
            invokestatic org.graalvm.compiler.hotspot.CompilationWatchDog.ms:(D)J
            putstatic org.graalvm.compiler.hotspot.CompilationWatchDog.START_DELAY_MS:J
         1: .line 94
            getstatic org.graalvm.compiler.hotspot.CompilationWatchDog$Options.CompilationWatchDogStackTraceInterval:Lorg/graalvm/compiler/options/OptionValue;
            invokevirtual org.graalvm.compiler.options.OptionValue.getValue:()Ljava/lang/Object;
            checkcast java.lang.Double
            invokevirtual java.lang.Double.doubleValue:()D
            invokestatic org.graalvm.compiler.hotspot.CompilationWatchDog.ms:(D)J
            putstatic org.graalvm.compiler.hotspot.CompilationWatchDog.STACK_TRACE_INTERVAL_MS:J
         2: .line 95
            getstatic org.graalvm.compiler.hotspot.CompilationWatchDog.START_DELAY_MS:J
            l2d
            dconst_0
            dcmpl
            ifle 3
            iconst_1
            goto 4
      StackMap locals:
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: putstatic org.graalvm.compiler.hotspot.CompilationWatchDog.ENABLED:Z
         5: .line 163
            ldc "debug.graal.CompilationWatchDog"
            invokestatic java.lang.Boolean.getBoolean:(Ljava/lang/String;)Z
            putstatic org.graalvm.compiler.hotspot.CompilationWatchDog.DEBUG:Z
         6: .line 267
            getstatic org.graalvm.compiler.hotspot.CompilationWatchDog.ENABLED:Z
            ifeq 7
            new java.lang.ThreadLocal
            dup
            invokespecial java.lang.ThreadLocal.<init>:()V
            goto 8
      StackMap locals:
      StackMap stack:
         7: aconst_null
      StackMap locals:
      StackMap stack: java.lang.ThreadLocal
         8: putstatic org.graalvm.compiler.hotspot.CompilationWatchDog.WATCH_DOGS:Ljava/lang/ThreadLocal;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(java.lang.Thread);
    descriptor: (Ljava/lang/Thread;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.hotspot.CompilationWatchDog this
        start local 1 // java.lang.Thread compilerThread
         0: .line 109
            aload 0 /* this */
            invokespecial java.lang.Thread.<init>:()V
         1: .line 97
            aload 0 /* this */
            getstatic org.graalvm.compiler.hotspot.CompilationWatchDog$WatchDogState.SLEEPING:Lorg/graalvm/compiler/hotspot/CompilationWatchDog$WatchDogState;
            putfield org.graalvm.compiler.hotspot.CompilationWatchDog.state:Lorg/graalvm/compiler/hotspot/CompilationWatchDog$WatchDogState;
         2: .line 110
            aload 0 /* this */
            aload 1 /* compilerThread */
            putfield org.graalvm.compiler.hotspot.CompilationWatchDog.compilerThread:Ljava/lang/Thread;
         3: .line 111
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "WatchDog"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.hotspot.CompilationWatchDog.getId:()J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc "["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* compilerThread */
            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;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.graalvm.compiler.hotspot.CompilationWatchDog.setName:(Ljava/lang/String;)V
         4: .line 112
            aload 0 /* this */
            bipush 10
            invokevirtual org.graalvm.compiler.hotspot.CompilationWatchDog.setPriority:(I)V
         5: .line 113
            aload 0 /* this */
            iconst_1
            invokevirtual org.graalvm.compiler.hotspot.CompilationWatchDog.setDaemon:(Z)V
         6: .line 114
            return
        end local 1 // java.lang.Thread compilerThread
        end local 0 // org.graalvm.compiler.hotspot.CompilationWatchDog this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0            this  Lorg/graalvm/compiler/hotspot/CompilationWatchDog;
            0    7     1  compilerThread  Ljava/lang/Thread;
    MethodParameters:
                Name  Flags
      compilerThread  

  public void startCompilation(jdk.vm.ci.meta.ResolvedJavaMethod, int);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.hotspot.CompilationWatchDog this
        start local 1 // jdk.vm.ci.meta.ResolvedJavaMethod method
        start local 2 // int id
         0: .line 117
            aload 0 /* this */
            ldc "start %s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* method */
            invokestatic org.graalvm.compiler.hotspot.HotSpotGraalCompiler.fmt:(Ljava/lang/Object;)Ljava/util/Formattable;
            aastore
            invokevirtual org.graalvm.compiler.hotspot.CompilationWatchDog.trace:(Ljava/lang/String;[Ljava/lang/Object;)V
         1: .line 118
            aload 0 /* this */
            aload 1 /* method */
            putfield org.graalvm.compiler.hotspot.CompilationWatchDog.currentMethod:Ljdk/vm/ci/meta/ResolvedJavaMethod;
         2: .line 119
            aload 0 /* this */
            iload 2 /* id */
            putfield org.graalvm.compiler.hotspot.CompilationWatchDog.currentId:I
         3: .line 120
            return
        end local 2 // int id
        end local 1 // jdk.vm.ci.meta.ResolvedJavaMethod method
        end local 0 // org.graalvm.compiler.hotspot.CompilationWatchDog this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/graalvm/compiler/hotspot/CompilationWatchDog;
            0    4     1  method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0    4     2      id  I
    MethodParameters:
        Name  Flags
      method  
      id      

  public void stopCompilation();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.CompilationWatchDog this
         0: .line 123
            aload 0 /* this */
            ldc " stop %s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.CompilationWatchDog.currentMethod:Ljdk/vm/ci/meta/ResolvedJavaMethod;
            invokestatic org.graalvm.compiler.hotspot.HotSpotGraalCompiler.fmt:(Ljava/lang/Object;)Ljava/util/Formattable;
            aastore
            invokevirtual org.graalvm.compiler.hotspot.CompilationWatchDog.trace:(Ljava/lang/String;[Ljava/lang/Object;)V
         1: .line 124
            aload 0 /* this */
            aconst_null
            putfield org.graalvm.compiler.hotspot.CompilationWatchDog.currentMethod:Ljdk/vm/ci/meta/ResolvedJavaMethod;
         2: .line 125
            return
        end local 0 // org.graalvm.compiler.hotspot.CompilationWatchDog this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/hotspot/CompilationWatchDog;

  private void reset();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.CompilationWatchDog this
         0: .line 128
            aload 0 /* this */
            lconst_0
            putfield org.graalvm.compiler.hotspot.CompilationWatchDog.elapsed:J
         1: .line 129
            aload 0 /* this */
            iconst_0
            putfield org.graalvm.compiler.hotspot.CompilationWatchDog.traceIntervals:I
         2: .line 130
            aload 0 /* this */
            iconst_0
            putfield org.graalvm.compiler.hotspot.CompilationWatchDog.numberOfIdenticalStackTraces:I
         3: .line 131
            aload 0 /* this */
            aconst_null
            putfield org.graalvm.compiler.hotspot.CompilationWatchDog.lastWatched:Ljdk/vm/ci/meta/ResolvedJavaMethod;
         4: .line 132
            aload 0 /* this */
            aconst_null
            putfield org.graalvm.compiler.hotspot.CompilationWatchDog.lastStackTrace:[Ljava/lang/StackTraceElement;
         5: .line 133
            aload 0 /* this */
            getstatic org.graalvm.compiler.hotspot.CompilationWatchDog$WatchDogState.SLEEPING:Lorg/graalvm/compiler/hotspot/CompilationWatchDog$WatchDogState;
            putfield org.graalvm.compiler.hotspot.CompilationWatchDog.state:Lorg/graalvm/compiler/hotspot/CompilationWatchDog$WatchDogState;
         6: .line 134
            return
        end local 0 // org.graalvm.compiler.hotspot.CompilationWatchDog this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/graalvm/compiler/hotspot/CompilationWatchDog;

  private void tick(org.graalvm.compiler.hotspot.CompilationWatchDog$WatchDogState);
    descriptor: (Lorg/graalvm/compiler/hotspot/CompilationWatchDog$WatchDogState;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.hotspot.CompilationWatchDog this
        start local 1 // org.graalvm.compiler.hotspot.CompilationWatchDog$WatchDogState newState
         0: .line 137
            aload 0 /* this */
            aload 1 /* newState */
            putfield org.graalvm.compiler.hotspot.CompilationWatchDog.state:Lorg/graalvm/compiler/hotspot/CompilationWatchDog$WatchDogState;
         1: .line 138
            return
        end local 1 // org.graalvm.compiler.hotspot.CompilationWatchDog$WatchDogState newState
        end local 0 // org.graalvm.compiler.hotspot.CompilationWatchDog this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/graalvm/compiler/hotspot/CompilationWatchDog;
            0    2     1  newState  Lorg/graalvm/compiler/hotspot/CompilationWatchDog$WatchDogState;
    MethodParameters:
          Name  Flags
      newState  

  private boolean recordStackTrace(java.lang.StackTraceElement[]);
    descriptor: ([Ljava/lang/StackTraceElement;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.hotspot.CompilationWatchDog this
        start local 1 // java.lang.StackTraceElement[] newStackTrace
         0: .line 149
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.CompilationWatchDog.lastStackTrace:[Ljava/lang/StackTraceElement;
            ifnonnull 3
         1: .line 150
            aload 0 /* this */
            aload 1 /* newStackTrace */
            putfield org.graalvm.compiler.hotspot.CompilationWatchDog.lastStackTrace:[Ljava/lang/StackTraceElement;
         2: .line 151
            iconst_1
            ireturn
         3: .line 153
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.CompilationWatchDog.lastStackTrace:[Ljava/lang/StackTraceElement;
            aload 1 /* newStackTrace */
            invokestatic java.util.Arrays.equals:([Ljava/lang/Object;[Ljava/lang/Object;)Z
            ifne 6
         4: .line 154
            aload 0 /* this */
            aload 1 /* newStackTrace */
            putfield org.graalvm.compiler.hotspot.CompilationWatchDog.lastStackTrace:[Ljava/lang/StackTraceElement;
         5: .line 155
            iconst_0
            ireturn
         6: .line 157
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // java.lang.StackTraceElement[] newStackTrace
        end local 0 // org.graalvm.compiler.hotspot.CompilationWatchDog this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Lorg/graalvm/compiler/hotspot/CompilationWatchDog;
            0    7     1  newStackTrace  [Ljava/lang/StackTraceElement;
    MethodParameters:
               Name  Flags
      newStackTrace  

  private void trace(java.lang.String, java.lang.Object[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/Object;)V
    flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.hotspot.CompilationWatchDog this
        start local 1 // java.lang.String format
        start local 2 // java.lang.Object[] args
         0: .line 166
            getstatic org.graalvm.compiler.hotspot.CompilationWatchDog.DEBUG:Z
            ifeq 2
         1: .line 167
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 0 /* this */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* format */
            aload 2 /* args */
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.graalvm.compiler.debug.TTY.println:(Ljava/lang/String;)V
         2: .line 169
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.Object[] args
        end local 1 // java.lang.String format
        end local 0 // org.graalvm.compiler.hotspot.CompilationWatchDog this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/graalvm/compiler/hotspot/CompilationWatchDog;
            0    3     1  format  Ljava/lang/String;
            0    3     2    args  [Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      format  
      args    

  private static long ms(double);
    descriptor: (D)J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // double seconds
         0: .line 172
            dload 0 /* seconds */
            d2l
            ldc 1000
            lmul
            lreturn
        end local 0 // double seconds
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  seconds  D
    MethodParameters:
         Name  Flags
      seconds  

  private static double secs(long);
    descriptor: (J)D
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // long ms
         0: .line 176
            lload 0 /* ms */
            l2d
            ldc 1000.0
            ddiv
            dreturn
        end local 0 // long ms
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    ms  J
    MethodParameters:
      Name  Flags
      ms    

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.CompilationWatchDog this
         0: .line 181
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.hotspot.CompilationWatchDog.getName:()Ljava/lang/String;
            areturn
        end local 0 // org.graalvm.compiler.hotspot.CompilationWatchDog this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/CompilationWatchDog;

  public void run();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=4, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.CompilationWatchDog this
         0: .line 186
            aload 0 /* this */
            ldc "Started%n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            aastore
            invokevirtual org.graalvm.compiler.hotspot.CompilationWatchDog.trace:(Ljava/lang/String;[Ljava/lang/Object;)V
         1: .line 190
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.CompilationWatchDog.currentMethod:Ljdk/vm/ci/meta/ResolvedJavaMethod;
            astore 1 /* currentlyCompiling */
        start local 1 // jdk.vm.ci.meta.ResolvedJavaMethod currentlyCompiling
         2: .line 191
            aload 1 /* currentlyCompiling */
            ifnonnull 5
         3: .line 194
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.hotspot.CompilationWatchDog.reset:()V
         4: .line 195
            goto 56
         5: .line 196
      StackMap locals: jdk.vm.ci.meta.ResolvedJavaMethod
      StackMap stack:
            invokestatic org.graalvm.compiler.hotspot.CompilationWatchDog.$SWITCH_TABLE$org$graalvm$compiler$hotspot$CompilationWatchDog$WatchDogState:()[I
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.CompilationWatchDog.state:Lorg/graalvm/compiler/hotspot/CompilationWatchDog$WatchDogState;
            invokevirtual org.graalvm.compiler.hotspot.CompilationWatchDog$WatchDogState.ordinal:()I
            iaload
            tableswitch { // 1 - 3
                    1: 6
                    2: 10
                    3: 20
              default: 56
          }
         6: .line 198
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* currentlyCompiling */
            putfield org.graalvm.compiler.hotspot.CompilationWatchDog.lastWatched:Ljdk/vm/ci/meta/ResolvedJavaMethod;
         7: .line 199
            aload 0 /* this */
            lconst_0
            putfield org.graalvm.compiler.hotspot.CompilationWatchDog.elapsed:J
         8: .line 200
            aload 0 /* this */
            getstatic org.graalvm.compiler.hotspot.CompilationWatchDog$WatchDogState.WATCHING_WITHOUT_STACK_INSPECTION:Lorg/graalvm/compiler/hotspot/CompilationWatchDog$WatchDogState;
            invokevirtual org.graalvm.compiler.hotspot.CompilationWatchDog.tick:(Lorg/graalvm/compiler/hotspot/CompilationWatchDog$WatchDogState;)V
         9: .line 201
            goto 56
        10: .line 203
      StackMap locals:
      StackMap stack:
            aload 1 /* currentlyCompiling */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.CompilationWatchDog.lastWatched:Ljdk/vm/ci/meta/ResolvedJavaMethod;
            if_acmpne 18
        11: .line 204
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.CompilationWatchDog.elapsed:J
            getstatic org.graalvm.compiler.hotspot.CompilationWatchDog.START_DELAY_MS:J
            lcmp
            iflt 15
        12: .line 207
            aload 0 /* this */
            getstatic org.graalvm.compiler.hotspot.CompilationWatchDog$WatchDogState.WATCHING_WITH_STACK_INSPECTION:Lorg/graalvm/compiler/hotspot/CompilationWatchDog$WatchDogState;
            invokevirtual org.graalvm.compiler.hotspot.CompilationWatchDog.tick:(Lorg/graalvm/compiler/hotspot/CompilationWatchDog$WatchDogState;)V
        13: .line 208
            aload 0 /* this */
            ldc "changes mode to watching with stack traces"
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.hotspot.CompilationWatchDog.trace:(Ljava/lang/String;[Ljava/lang/Object;)V
        14: .line 209
            goto 16
        15: .line 211
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "watching without stack traces [%.2f seconds]"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.CompilationWatchDog.elapsed:J
            invokestatic org.graalvm.compiler.hotspot.CompilationWatchDog.secs:(J)D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            aastore
            invokevirtual org.graalvm.compiler.hotspot.CompilationWatchDog.trace:(Ljava/lang/String;[Ljava/lang/Object;)V
        16: .line 213
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.graalvm.compiler.hotspot.CompilationWatchDog.elapsed:J
            ldc 1000
            ladd
            putfield org.graalvm.compiler.hotspot.CompilationWatchDog.elapsed:J
        17: .line 214
            goto 56
        18: .line 216
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.hotspot.CompilationWatchDog.reset:()V
        19: .line 218
            goto 56
        20: .line 220
      StackMap locals:
      StackMap stack:
            aload 1 /* currentlyCompiling */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.CompilationWatchDog.lastWatched:Ljdk/vm/ci/meta/ResolvedJavaMethod;
            if_acmpne 54
        21: .line 221
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.CompilationWatchDog.elapsed:J
            getstatic org.graalvm.compiler.hotspot.CompilationWatchDog.START_DELAY_MS:J
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.CompilationWatchDog.traceIntervals:I
            i2l
            getstatic org.graalvm.compiler.hotspot.CompilationWatchDog.STACK_TRACE_INTERVAL_MS:J
            lmul
            ladd
            lcmp
            iflt 51
        22: .line 222
            aload 0 /* this */
            ldc "took a stack trace"
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.hotspot.CompilationWatchDog.trace:(Ljava/lang/String;[Ljava/lang/Object;)V
        23: .line 223
            aload 0 /* this */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.CompilationWatchDog.compilerThread:Ljava/lang/Thread;
            invokevirtual java.lang.Thread.getStackTrace:()[Ljava/lang/StackTraceElement;
            invokevirtual org.graalvm.compiler.hotspot.CompilationWatchDog.recordStackTrace:([Ljava/lang/StackTraceElement;)Z
            istore 2 /* newStackTrace */
        start local 2 // boolean newStackTrace
        24: .line 224
            iload 2 /* newStackTrace */
            ifne 27
        25: .line 225
            aload 0 /* this */
            ldc "%d identical stack traces in a row"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.CompilationWatchDog.numberOfIdenticalStackTraces:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual org.graalvm.compiler.hotspot.CompilationWatchDog.trace:(Ljava/lang/String;[Ljava/lang/Object;)V
        26: .line 226
            aload 0 /* this */
            iconst_0
            putfield org.graalvm.compiler.hotspot.CompilationWatchDog.numberOfIdenticalStackTraces:I
        27: .line 228
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.graalvm.compiler.hotspot.CompilationWatchDog.numberOfIdenticalStackTraces:I
            iconst_1
            iadd
            putfield org.graalvm.compiler.hotspot.CompilationWatchDog.numberOfIdenticalStackTraces:I
        28: .line 229
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.CompilationWatchDog.numberOfIdenticalStackTraces:I
            getstatic org.graalvm.compiler.hotspot.CompilationWatchDog$Options.NonFatalIdenticalCompilationSnapshots:Lorg/graalvm/compiler/options/OptionValue;
            invokevirtual org.graalvm.compiler.options.OptionValue.getValue:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            if_icmple 39
        29: .line 230
            ldc Lorg/graalvm/compiler/hotspot/CompilationWatchDog;
            dup
            astore 3
            monitorenter
        30: .line 231
            ldc "======================= WATCH DOG THREAD =======================%n%s took %d identical stack traces, which indicates a stuck compilation (id=%d) of %s%n%sExiting VM%n"
            iconst_5
            anewarray java.lang.Object
            dup
            iconst_0
        31: .line 232
            aload 0 /* this */
            aastore
            dup
            iconst_1
        32: .line 233
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.CompilationWatchDog.numberOfIdenticalStackTraces:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.CompilationWatchDog.currentId:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_3
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.CompilationWatchDog.currentMethod:Ljdk/vm/ci/meta/ResolvedJavaMethod;
            invokestatic org.graalvm.compiler.hotspot.HotSpotGraalCompiler.fmt:(Ljava/lang/Object;)Ljava/util/Formattable;
            aastore
            dup
            iconst_4
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.CompilationWatchDog.lastStackTrace:[Ljava/lang/StackTraceElement;
            invokestatic org.graalvm.compiler.hotspot.HotSpotGraalCompiler.fmt:(Ljava/lang/Object;)Ljava/util/Formattable;
            aastore
        33: .line 231
            invokestatic org.graalvm.compiler.debug.TTY.printf:(Ljava/lang/String;[Ljava/lang/Object;)V
        34: .line 234
            iconst_m1
            invokestatic java.lang.System.exit:(I)V
        35: .line 230
            aload 3
            monitorexit
        36: goto 49
      StackMap locals: org.graalvm.compiler.hotspot.CompilationWatchDog jdk.vm.ci.meta.ResolvedJavaMethod int java.lang.Class
      StackMap stack: java.lang.Throwable
        37: aload 3
            monitorexit
        38: athrow
        39: .line 236
      StackMap locals:
      StackMap stack:
            iload 2 /* newStackTrace */
            ifeq 49
        40: .line 237
            ldc Lorg/graalvm/compiler/hotspot/CompilationWatchDog;
            dup
            astore 3
            monitorenter
        41: .line 238
            ldc "======================= WATCH DOG THREAD =======================%n%s detected long running compilation (id=%d) of %s [%.2f seconds]%n%s"
            iconst_5
            anewarray java.lang.Object
            dup
            iconst_0
        42: .line 239
            aload 0 /* this */
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.CompilationWatchDog.currentId:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.CompilationWatchDog.currentMethod:Ljdk/vm/ci/meta/ResolvedJavaMethod;
            invokestatic org.graalvm.compiler.hotspot.HotSpotGraalCompiler.fmt:(Ljava/lang/Object;)Ljava/util/Formattable;
            aastore
            dup
            iconst_3
        43: .line 240
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.CompilationWatchDog.elapsed:J
            invokestatic org.graalvm.compiler.hotspot.CompilationWatchDog.secs:(J)D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            aastore
            dup
            iconst_4
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.CompilationWatchDog.lastStackTrace:[Ljava/lang/StackTraceElement;
            invokestatic org.graalvm.compiler.hotspot.HotSpotGraalCompiler.fmt:(Ljava/lang/Object;)Ljava/util/Formattable;
            aastore
        44: .line 238
            invokestatic org.graalvm.compiler.debug.TTY.printf:(Ljava/lang/String;[Ljava/lang/Object;)V
        45: .line 237
            aload 3
            monitorexit
        46: goto 49
      StackMap locals: org.graalvm.compiler.hotspot.CompilationWatchDog jdk.vm.ci.meta.ResolvedJavaMethod int java.lang.Class
      StackMap stack: java.lang.Throwable
        47: aload 3
            monitorexit
        48: athrow
        49: .line 243
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.graalvm.compiler.hotspot.CompilationWatchDog.traceIntervals:I
            iconst_1
            iadd
            putfield org.graalvm.compiler.hotspot.CompilationWatchDog.traceIntervals:I
        end local 2 // boolean newStackTrace
        50: .line 244
            goto 52
        51: .line 246
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "watching with stack traces [%.2f seconds]"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.CompilationWatchDog.elapsed:J
            invokestatic org.graalvm.compiler.hotspot.CompilationWatchDog.secs:(J)D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            aastore
            invokevirtual org.graalvm.compiler.hotspot.CompilationWatchDog.trace:(Ljava/lang/String;[Ljava/lang/Object;)V
        52: .line 248
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.graalvm.compiler.hotspot.CompilationWatchDog.elapsed:J
            ldc 1000
            ladd
            putfield org.graalvm.compiler.hotspot.CompilationWatchDog.elapsed:J
        53: .line 249
            goto 56
        54: .line 251
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.hotspot.CompilationWatchDog.reset:()V
        55: .line 253
            goto 56
        56: .line 258
      StackMap locals:
      StackMap stack:
            ldc 1000
            invokestatic java.lang.Thread.sleep:(J)V
        end local 1 // jdk.vm.ci.meta.ResolvedJavaMethod currentlyCompiling
        57: .line 188
            goto 1
        58: .line 260
      StackMap locals: org.graalvm.compiler.hotspot.CompilationWatchDog
      StackMap stack: java.lang.Throwable
            astore 1 /* t */
        start local 1 // java.lang.Throwable t
        59: .line 261
            ldc Lorg/graalvm/compiler/hotspot/CompilationWatchDog;
            dup
            astore 2
            monitorenter
        60: .line 262
            ldc "%s encountered an exception%n%s%n"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            aastore
            dup
            iconst_1
            aload 1 /* t */
            invokestatic org.graalvm.compiler.hotspot.HotSpotGraalCompiler.fmt:(Ljava/lang/Object;)Ljava/util/Formattable;
            aastore
            invokestatic org.graalvm.compiler.debug.TTY.printf:(Ljava/lang/String;[Ljava/lang/Object;)V
        61: .line 261
            aload 2
            monitorexit
        62: goto 65
      StackMap locals: org.graalvm.compiler.hotspot.CompilationWatchDog java.lang.Throwable java.lang.Class
      StackMap stack: java.lang.Throwable
        63: aload 2
            monitorexit
        64: athrow
        end local 1 // java.lang.Throwable t
        65: .line 265
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.graalvm.compiler.hotspot.CompilationWatchDog this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   66     0                this  Lorg/graalvm/compiler/hotspot/CompilationWatchDog;
            2   57     1  currentlyCompiling  Ljdk/vm/ci/meta/ResolvedJavaMethod;
           24   50     2       newStackTrace  Z
           59   65     1                   t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          30    36      37  any
          37    38      37  any
          41    46      47  any
          47    48      47  any
           1    58      58  Class java.lang.Throwable
          60    62      63  any
          63    64      63  any

  static org.graalvm.compiler.hotspot.CompilationWatchDog watch(jdk.vm.ci.meta.ResolvedJavaMethod, int);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;I)Lorg/graalvm/compiler/hotspot/CompilationWatchDog;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // jdk.vm.ci.meta.ResolvedJavaMethod method
        start local 1 // int id
         0: .line 280
            getstatic org.graalvm.compiler.hotspot.CompilationWatchDog.ENABLED:Z
            ifeq 9
         1: .line 282
            getstatic org.graalvm.compiler.hotspot.CompilationWatchDog.WATCH_DOGS:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.hotspot.CompilationWatchDog
            astore 2 /* watchDog */
        start local 2 // org.graalvm.compiler.hotspot.CompilationWatchDog watchDog
         2: .line 283
            aload 2 /* watchDog */
            ifnonnull 7
         3: .line 284
            invokestatic org.graalvm.compiler.hotspot.CompilationWatchDog.currentThread:()Ljava/lang/Thread;
            astore 3 /* currentThread */
        start local 3 // java.lang.Thread currentThread
         4: .line 285
            new org.graalvm.compiler.hotspot.CompilationWatchDog
            dup
            aload 3 /* currentThread */
            invokespecial org.graalvm.compiler.hotspot.CompilationWatchDog.<init>:(Ljava/lang/Thread;)V
            astore 2 /* watchDog */
         5: .line 286
            getstatic org.graalvm.compiler.hotspot.CompilationWatchDog.WATCH_DOGS:Ljava/lang/ThreadLocal;
            aload 2 /* watchDog */
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
         6: .line 287
            aload 2 /* watchDog */
            invokevirtual org.graalvm.compiler.hotspot.CompilationWatchDog.start:()V
        end local 3 // java.lang.Thread currentThread
         7: .line 289
      StackMap locals: org.graalvm.compiler.hotspot.CompilationWatchDog
      StackMap stack:
            aload 2 /* watchDog */
            aload 0 /* method */
            iload 1 /* id */
            invokevirtual org.graalvm.compiler.hotspot.CompilationWatchDog.startCompilation:(Ljdk/vm/ci/meta/ResolvedJavaMethod;I)V
         8: .line 290
            aload 2 /* watchDog */
            areturn
        end local 2 // org.graalvm.compiler.hotspot.CompilationWatchDog watchDog
         9: .line 292
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // int id
        end local 0 // jdk.vm.ci.meta.ResolvedJavaMethod method
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   10     0         method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0   10     1             id  I
            2    9     2       watchDog  Lorg/graalvm/compiler/hotspot/CompilationWatchDog;
            4    7     3  currentThread  Ljava/lang/Thread;
    MethodParameters:
        Name  Flags
      method  
      id      

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.CompilationWatchDog this
         0: .line 297
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.hotspot.CompilationWatchDog.stopCompilation:()V
         1: .line 298
            return
        end local 0 // org.graalvm.compiler.hotspot.CompilationWatchDog this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/hotspot/CompilationWatchDog;

  static int[] $SWITCH_TABLE$org$graalvm$compiler$hotspot$CompilationWatchDog$WatchDogState();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 51
            getstatic org.graalvm.compiler.hotspot.CompilationWatchDog.$SWITCH_TABLE$org$graalvm$compiler$hotspot$CompilationWatchDog$WatchDogState:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic org.graalvm.compiler.hotspot.CompilationWatchDog$WatchDogState.values:()[Lorg/graalvm/compiler/hotspot/CompilationWatchDog$WatchDogState;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic org.graalvm.compiler.hotspot.CompilationWatchDog$WatchDogState.SLEEPING:Lorg/graalvm/compiler/hotspot/CompilationWatchDog$WatchDogState;
            invokevirtual org.graalvm.compiler.hotspot.CompilationWatchDog$WatchDogState.ordinal:()I
            iconst_1
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic org.graalvm.compiler.hotspot.CompilationWatchDog$WatchDogState.WATCHING_WITHOUT_STACK_INSPECTION:Lorg/graalvm/compiler/hotspot/CompilationWatchDog$WatchDogState;
            invokevirtual org.graalvm.compiler.hotspot.CompilationWatchDog$WatchDogState.ordinal:()I
            iconst_2
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic org.graalvm.compiler.hotspot.CompilationWatchDog$WatchDogState.WATCHING_WITH_STACK_INSPECTION:Lorg/graalvm/compiler/hotspot/CompilationWatchDog$WatchDogState;
            invokevirtual org.graalvm.compiler.hotspot.CompilationWatchDog$WatchDogState.ordinal:()I
            iconst_3
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            dup
            putstatic org.graalvm.compiler.hotspot.CompilationWatchDog.$SWITCH_TABLE$org$graalvm$compiler$hotspot$CompilationWatchDog$WatchDogState:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
}
SourceFile: "CompilationWatchDog.java"
NestMembers:
  org.graalvm.compiler.hotspot.CompilationWatchDog$Options  org.graalvm.compiler.hotspot.CompilationWatchDog$WatchDogState
InnerClasses:
  public Options = org.graalvm.compiler.hotspot.CompilationWatchDog$Options of org.graalvm.compiler.hotspot.CompilationWatchDog
  private final WatchDogState = org.graalvm.compiler.hotspot.CompilationWatchDog$WatchDogState of org.graalvm.compiler.hotspot.CompilationWatchDog