public class org.jruby.ir.interpreter.Profiler
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jruby.ir.interpreter.Profiler
  super_class: java.lang.Object
{
  private static org.jruby.ir.interpreter.Profiler$IRCallSite callerSite;
    descriptor: Lorg/jruby/ir/interpreter/Profiler$IRCallSite;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

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

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

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

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

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

  private static java.util.HashMap<org.jruby.ir.IRScope, java.lang.Integer> scopeVersionMap;
    descriptor: Ljava/util/HashMap;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Signature: Ljava/util/HashMap<Lorg/jruby/ir/IRScope;Ljava/lang/Integer;>;

  private static java.util.HashMap<org.jruby.ir.IRScope, org.jruby.ir.Counter> scopeThreadPollCounts;
    descriptor: Ljava/util/HashMap;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Signature: Ljava/util/HashMap<Lorg/jruby/ir/IRScope;Lorg/jruby/ir/Counter;>;

  private static java.util.HashMap<java.lang.Long, org.jruby.ir.interpreter.Profiler$CallSiteProfile> callProfile;
    descriptor: Ljava/util/HashMap;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Signature: Ljava/util/HashMap<Ljava/lang/Long;Lorg/jruby/ir/interpreter/Profiler$CallSiteProfile;>;

  private static java.util.HashMap<org.jruby.ir.Operation, org.jruby.ir.Counter> opStats;
    descriptor: Ljava/util/HashMap;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Signature: Ljava/util/HashMap<Lorg/jruby/ir/Operation;Lorg/jruby/ir/Counter;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 48
            new org.jruby.ir.interpreter.Profiler$IRCallSite
            dup
            invokespecial org.jruby.ir.interpreter.Profiler$IRCallSite.<init>:()V
            putstatic org.jruby.ir.interpreter.Profiler.callerSite:Lorg/jruby/ir/interpreter/Profiler$IRCallSite;
         1: .line 50
            iconst_0
            putstatic org.jruby.ir.interpreter.Profiler.inlineCount:I
         2: .line 51
            iconst_0
            putstatic org.jruby.ir.interpreter.Profiler.globalThreadPollCount:I
         3: .line 52
            iconst_0
            putstatic org.jruby.ir.interpreter.Profiler.codeModificationsCount:I
         4: .line 53
            iconst_0
            putstatic org.jruby.ir.interpreter.Profiler.numCyclesWithNoModifications:I
         5: .line 54
            iconst_1
            putstatic org.jruby.ir.interpreter.Profiler.versionCount:I
         6: .line 56
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putstatic org.jruby.ir.interpreter.Profiler.scopeVersionMap:Ljava/util/HashMap;
         7: .line 57
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putstatic org.jruby.ir.interpreter.Profiler.scopeThreadPollCounts:Ljava/util/HashMap;
         8: .line 58
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putstatic org.jruby.ir.interpreter.Profiler.callProfile:Ljava/util/HashMap;
         9: .line 59
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putstatic org.jruby.ir.interpreter.Profiler.opStats:Ljava/util/HashMap;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.ir.interpreter.Profiler this
         0: .line 16
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.jruby.ir.interpreter.Profiler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ir/interpreter/Profiler;

  private static void analyzeProfile();
    descriptor: ()V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=20, args_size=0
         0: .line 62
            getstatic org.jruby.ir.interpreter.Profiler.versionCount:I
            iconst_1
            iadd
            putstatic org.jruby.ir.interpreter.Profiler.versionCount:I
         1: .line 66
            getstatic org.jruby.ir.interpreter.Profiler.codeModificationsCount:I
            ifne 2
            getstatic org.jruby.ir.interpreter.Profiler.numCyclesWithNoModifications:I
            iconst_1
            iadd
            putstatic org.jruby.ir.interpreter.Profiler.numCyclesWithNoModifications:I
            goto 3
         2: .line 67
      StackMap locals:
      StackMap stack:
            iconst_0
            putstatic org.jruby.ir.interpreter.Profiler.numCyclesWithNoModifications:I
         3: .line 69
      StackMap locals:
      StackMap stack:
            iconst_0
            putstatic org.jruby.ir.interpreter.Profiler.codeModificationsCount:I
         4: .line 71
            getstatic org.jruby.ir.interpreter.Profiler.numCyclesWithNoModifications:I
            iconst_3
            if_icmpge 5
            return
         5: .line 77
      StackMap locals:
      StackMap stack:
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 0 /* scopeCounts */
        start local 0 // java.util.HashMap scopeCounts
         6: .line 78
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* callSites */
        start local 1 // java.util.ArrayList callSites
         7: .line 81
            lconst_0
            lstore 2 /* total */
        start local 2 // long total
         8: .line 82
            getstatic org.jruby.ir.interpreter.Profiler.callProfile:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 38
      StackMap locals: java.util.HashMap java.util.ArrayList long top java.util.Iterator
      StackMap stack:
         9: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Long
            astore 4 /* id */
        start local 4 // java.lang.Long id
        10: .line 85
            getstatic org.jruby.ir.interpreter.Profiler.callProfile:Ljava/util/HashMap;
            aload 4 /* id */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.jruby.ir.interpreter.Profiler$CallSiteProfile
            astore 7 /* csp */
        start local 7 // org.jruby.ir.interpreter.Profiler$CallSiteProfile csp
        11: .line 86
            aload 7 /* csp */
            getfield org.jruby.ir.interpreter.Profiler$CallSiteProfile.cs:Lorg/jruby/ir/interpreter/Profiler$IRCallSite;
            astore 8 /* cs */
        start local 8 // org.jruby.ir.interpreter.Profiler$IRCallSite cs
        12: .line 88
            aload 8 /* cs */
            getfield org.jruby.ir.interpreter.Profiler$IRCallSite.v:I
            getstatic org.jruby.ir.interpreter.Profiler.scopeVersionMap:Ljava/util/HashMap;
            aload 8 /* cs */
            getfield org.jruby.ir.interpreter.Profiler$IRCallSite.s:Lorg/jruby/ir/IRScope;
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            if_icmpeq 15
        13: .line 89
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Skipping callsite: <"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 8 /* cs */
            getfield org.jruby.ir.interpreter.Profiler$IRCallSite.s:Lorg/jruby/ir/IRScope;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ","
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 8 /* cs */
            getfield org.jruby.ir.interpreter.Profiler$IRCallSite.v:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "> with compiled version: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            getstatic org.jruby.ir.interpreter.Profiler.scopeVersionMap:Ljava/util/HashMap;
            aload 8 /* cs */
            getfield org.jruby.ir.interpreter.Profiler$IRCallSite.s:Lorg/jruby/ir/IRScope;
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        14: .line 90
            goto 38
        15: .line 93
      StackMap locals: java.util.HashMap java.util.ArrayList long java.lang.Long java.util.Iterator top org.jruby.ir.interpreter.Profiler$CallSiteProfile org.jruby.ir.interpreter.Profiler$IRCallSite
      StackMap stack:
            aload 7 /* csp */
            getfield org.jruby.ir.interpreter.Profiler$CallSiteProfile.counters:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
            astore 9 /* calledScopes */
        start local 9 // java.util.Set calledScopes
        16: .line 94
            aload 8 /* cs */
            lconst_0
            putfield org.jruby.ir.interpreter.Profiler$IRCallSite.count:J
        17: .line 95
            aload 9 /* calledScopes */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 11
            goto 26
      StackMap locals: java.util.HashMap java.util.ArrayList long java.lang.Long java.util.Iterator top org.jruby.ir.interpreter.Profiler$CallSiteProfile org.jruby.ir.interpreter.Profiler$IRCallSite java.util.Set top java.util.Iterator
      StackMap stack:
        18: aload 11
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.jruby.ir.IRScope
            astore 10 /* s */
        start local 10 // org.jruby.ir.IRScope s
        19: .line 96
            aload 0 /* scopeCounts */
            aload 10 /* s */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Long
            astore 6 /* c */
        start local 6 // java.lang.Long c
        20: .line 97
            aload 6 /* c */
            ifnonnull 23
        21: .line 98
            lconst_0
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            astore 6 /* c */
        22: .line 99
            aload 0 /* scopeCounts */
            aload 10 /* s */
            aload 6 /* c */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        23: .line 102
      StackMap locals: java.util.HashMap java.util.ArrayList long java.lang.Long java.util.Iterator java.lang.Long org.jruby.ir.interpreter.Profiler$CallSiteProfile org.jruby.ir.interpreter.Profiler$IRCallSite java.util.Set org.jruby.ir.IRScope java.util.Iterator
      StackMap stack:
            aload 7 /* csp */
            getfield org.jruby.ir.interpreter.Profiler$CallSiteProfile.counters:Ljava/util/HashMap;
            aload 10 /* s */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.jruby.ir.Counter
            getfield org.jruby.ir.Counter.count:J
            lstore 12 /* x */
        start local 12 // long x
        24: .line 103
            aload 6 /* c */
            invokevirtual java.lang.Long.longValue:()J
            lload 12 /* x */
            ladd
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            astore 6 /* c */
        25: .line 104
            aload 8 /* cs */
            dup
            getfield org.jruby.ir.interpreter.Profiler$IRCallSite.count:J
            lload 12 /* x */
            ladd
            putfield org.jruby.ir.interpreter.Profiler$IRCallSite.count:J
        end local 12 // long x
        end local 10 // org.jruby.ir.IRScope s
        end local 6 // java.lang.Long c
        26: .line 95
      StackMap locals: java.util.HashMap java.util.ArrayList long java.lang.Long java.util.Iterator top org.jruby.ir.interpreter.Profiler$CallSiteProfile org.jruby.ir.interpreter.Profiler$IRCallSite java.util.Set top java.util.Iterator
      StackMap stack:
            aload 11
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 18
        27: .line 107
            aload 8 /* cs */
            getfield org.jruby.ir.interpreter.Profiler$IRCallSite.call:Lorg/jruby/ir/instructions/CallBase;
            astore 10 /* call */
        start local 10 // org.jruby.ir.instructions.CallBase call
        28: .line 108
            aload 9 /* calledScopes */
            invokeinterface java.util.Set.size:()I
            iconst_1
            if_icmpne 37
            aload 10 /* call */
            invokevirtual org.jruby.ir.instructions.CallBase.inliningBlocked:()Z
            ifne 37
        29: .line 109
            aload 10 /* call */
            invokevirtual org.jruby.ir.instructions.CallBase.getCallSite:()Lorg/jruby/runtime/CallSite;
            astore 11 /* runtimeCS */
        start local 11 // org.jruby.runtime.CallSite runtimeCS
        30: .line 110
            aload 11 /* runtimeCS */
            ifnull 37
            aload 11 /* runtimeCS */
            instanceof org.jruby.runtime.callsite.CachingCallSite
            ifeq 37
        31: .line 111
            aload 11 /* runtimeCS */
            checkcast org.jruby.runtime.callsite.CachingCallSite
            astore 12 /* ccs */
        start local 12 // org.jruby.runtime.callsite.CachingCallSite ccs
        32: .line 112
            aload 12 /* ccs */
            invokevirtual org.jruby.runtime.callsite.CachingCallSite.getCache:()Lorg/jruby/runtime/callsite/CacheEntry;
            astore 13 /* ce */
        start local 13 // org.jruby.runtime.callsite.CacheEntry ce
        33: .line 114
            aload 13 /* ce */
            getfield org.jruby.runtime.callsite.CacheEntry.method:Lorg/jruby/internal/runtime/methods/DynamicMethod;
            instanceof org.jruby.internal.runtime.methods.MixedModeIRMethod
            ifne 35
        34: .line 116
            goto 38
        35: .line 118
      StackMap locals: java.util.HashMap java.util.ArrayList long java.lang.Long java.util.Iterator top org.jruby.ir.interpreter.Profiler$CallSiteProfile org.jruby.ir.interpreter.Profiler$IRCallSite java.util.Set org.jruby.ir.instructions.CallBase org.jruby.runtime.CallSite org.jruby.runtime.callsite.CachingCallSite org.jruby.runtime.callsite.CacheEntry
      StackMap stack:
            aload 1 /* callSites */
            aload 8 /* cs */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        36: .line 119
            aload 8 /* cs */
            aload 13 /* ce */
            getfield org.jruby.runtime.callsite.CacheEntry.method:Lorg/jruby/internal/runtime/methods/DynamicMethod;
            checkcast org.jruby.internal.runtime.methods.MixedModeIRMethod
            putfield org.jruby.ir.interpreter.Profiler$IRCallSite.tgtM:Lorg/jruby/internal/runtime/methods/MixedModeIRMethod;
        end local 13 // org.jruby.runtime.callsite.CacheEntry ce
        end local 12 // org.jruby.runtime.callsite.CachingCallSite ccs
        end local 11 // org.jruby.runtime.CallSite runtimeCS
        37: .line 124
      StackMap locals:
      StackMap stack:
            lload 2 /* total */
            aload 8 /* cs */
            getfield org.jruby.ir.interpreter.Profiler$IRCallSite.count:J
            ladd
            lstore 2 /* total */
        end local 10 // org.jruby.ir.instructions.CallBase call
        end local 9 // java.util.Set calledScopes
        end local 8 // org.jruby.ir.interpreter.Profiler$IRCallSite cs
        end local 7 // org.jruby.ir.interpreter.Profiler$CallSiteProfile csp
        end local 4 // java.lang.Long id
        38: .line 82
      StackMap locals: java.util.HashMap java.util.ArrayList long top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        39: .line 127
            aload 1 /* callSites */
            new org.jruby.ir.interpreter.Profiler$1
            dup
            invokespecial org.jruby.ir.interpreter.Profiler$1.<init>:()V
            invokestatic java.util.Collections.sort:(Ljava/util/List;Ljava/util/Comparator;)V
        40: .line 136
            dconst_0
            dstore 4 /* freq */
        start local 4 // double freq
        41: .line 137
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        42: .line 139
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 7 /* inlinedScopes */
        start local 7 // java.util.Set inlinedScopes
        43: .line 140
            aload 1 /* callSites */
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 9
            goto 76
      StackMap locals: java.util.HashMap java.util.ArrayList long double int java.util.Set top java.util.Iterator
      StackMap stack:
        44: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.jruby.ir.interpreter.Profiler$IRCallSite
            astore 8 /* ircs */
        start local 8 // org.jruby.ir.interpreter.Profiler$IRCallSite ircs
        45: .line 141
            aload 8 /* ircs */
            getfield org.jruby.ir.interpreter.Profiler$IRCallSite.count:J
            l2d
            ldc 100.0
            dmul
            lload 2 /* total */
            l2d
            ddiv
            dstore 10 /* contrib */
        start local 10 // double contrib
        46: .line 144
            dload 10 /* contrib */
            dconst_1
            dcmpg
            ifge 47
            goto 77
        47: .line 146
      StackMap locals: java.util.HashMap java.util.ArrayList long double int java.util.Set org.jruby.ir.interpreter.Profiler$IRCallSite java.util.Iterator double
      StackMap stack:
            iinc 6 /* i */ 1
        48: .line 147
            dload 4 /* freq */
            dload 10 /* contrib */
            dadd
            dstore 4 /* freq */
        49: .line 150
            iload 6 /* i */
            bipush 100
            if_icmpeq 77
            dload 4 /* freq */
            ldc 99.0
            dcmpl
            ifle 50
            goto 77
        50: .line 152
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Considering: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 8 /* ircs */
            getfield org.jruby.ir.interpreter.Profiler$IRCallSite.call:Lorg/jruby/ir/instructions/CallBase;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " with id: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 8 /* ircs */
            getfield org.jruby.ir.interpreter.Profiler$IRCallSite.call:Lorg/jruby/ir/instructions/CallBase;
            getfield org.jruby.ir.instructions.CallBase.callSiteId:J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
        51: .line 153
            ldc " in scope "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 8 /* ircs */
            getfield org.jruby.ir.interpreter.Profiler$IRCallSite.s:Lorg/jruby/ir/IRScope;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " with count "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 8 /* ircs */
            getfield org.jruby.ir.interpreter.Profiler$IRCallSite.count:J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc "; contrib "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            dload 10 /* contrib */
            invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
            ldc "; freq: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            dload 4 /* freq */
            invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        52: .line 152
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        53: .line 156
            aload 8 /* ircs */
            getfield org.jruby.ir.interpreter.Profiler$IRCallSite.call:Lorg/jruby/ir/instructions/CallBase;
            astore 12 /* call */
        start local 12 // org.jruby.ir.instructions.CallBase call
        54: .line 158
            aload 8 /* ircs */
            getfield org.jruby.ir.interpreter.Profiler$IRCallSite.s:Lorg/jruby/ir/IRScope;
            astore 13 /* hs */
        start local 13 // org.jruby.ir.IRScope hs
        55: .line 159
            aload 13 /* hs */
            instanceof org.jruby.ir.IRClosure
            istore 14 /* isHotClosure */
        start local 14 // boolean isHotClosure
        56: .line 160
            iload 14 /* isHotClosure */
            ifeq 57
            aload 13 /* hs */
            goto 58
      StackMap locals: org.jruby.ir.instructions.CallBase org.jruby.ir.IRScope int
      StackMap stack:
        57: aconst_null
      StackMap locals:
      StackMap stack: org.jruby.ir.IRScope
        58: astore 15 /* hc */
        start local 15 // org.jruby.ir.IRScope hc
        59: .line 161
            iload 14 /* isHotClosure */
            ifeq 60
            aload 13 /* hs */
            invokevirtual org.jruby.ir.IRScope.getLexicalParent:()Lorg/jruby/ir/IRScope;
            goto 61
      StackMap locals: org.jruby.ir.IRScope
      StackMap stack:
        60: aload 13 /* hs */
      StackMap locals:
      StackMap stack: org.jruby.ir.IRScope
        61: astore 13 /* hs */
        62: .line 163
            aload 8 /* ircs */
            getfield org.jruby.ir.interpreter.Profiler$IRCallSite.tgtM:Lorg/jruby/internal/runtime/methods/MixedModeIRMethod;
            invokevirtual org.jruby.internal.runtime.methods.MixedModeIRMethod.getIRScope:()Lorg/jruby/ir/IRScope;
            astore 16 /* tgtMethod */
        start local 16 // org.jruby.ir.IRScope tgtMethod
        63: .line 165
            aload 16 /* tgtMethod */
            invokevirtual org.jruby.ir.IRScope.getInterpreterContext:()Lorg/jruby/ir/interpreter/InterpreterContext;
            invokevirtual org.jruby.ir.interpreter.InterpreterContext.getInstructions:()[Lorg/jruby/ir/instructions/Instr;
            astore 17 /* instrs */
        start local 17 // org.jruby.ir.instructions.Instr[] instrs
        64: .line 168
            aload 17 /* instrs */
            ifnull 65
            aload 17 /* instrs */
            arraylength
            sipush 500
            if_icmple 68
        65: .line 169
      StackMap locals: org.jruby.ir.IRScope org.jruby.ir.instructions.Instr[]
      StackMap stack:
            aload 17 /* instrs */
            ifnonnull 66
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "no instrs!"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
            goto 76
        66: .line 170
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "large method with "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 17 /* instrs */
            arraylength
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " instrs. skipping!"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        67: .line 171
            goto 76
        68: .line 174
      StackMap locals:
      StackMap stack:
            aload 8 /* ircs */
            getfield org.jruby.ir.interpreter.Profiler$IRCallSite.tgtM:Lorg/jruby/internal/runtime/methods/MixedModeIRMethod;
            invokevirtual org.jruby.internal.runtime.methods.MixedModeIRMethod.getImplementationClass:()Lorg/jruby/RubyModule;
            astore 18 /* implClass */
        start local 18 // org.jruby.RubyModule implClass
        69: .line 175
            aload 18 /* implClass */
            invokevirtual org.jruby.RubyModule.getGeneration:()I
            pop
        70: .line 176
            aload 16 /* tgtMethod */
            invokevirtual org.jruby.ir.IRScope.getId:()Ljava/lang/String;
            pop
        71: .line 178
            iload 14 /* isHotClosure */
            ifeq 76
        72: .line 179
            aload 12 /* call */
            aconst_null
            invokevirtual org.jruby.ir.instructions.CallBase.getClosureArg:(Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/operands/Operand;
            astore 19 /* clArg */
        start local 19 // org.jruby.ir.operands.Operand clArg
        73: .line 180
            aload 19 /* clArg */
            instanceof org.jruby.ir.operands.WrappedIRClosure
            ifeq 74
            aload 19 /* clArg */
            checkcast org.jruby.ir.operands.WrappedIRClosure
            invokevirtual org.jruby.ir.operands.WrappedIRClosure.getClosure:()Lorg/jruby/ir/IRClosure;
            aload 15 /* hc */
            if_acmpne 74
            iconst_1
            goto 75
      StackMap locals: org.jruby.RubyModule org.jruby.ir.operands.Operand
      StackMap stack:
        74: iconst_0
      StackMap locals:
      StackMap stack: int
        75: pop
        end local 19 // org.jruby.ir.operands.Operand clArg
        end local 18 // org.jruby.RubyModule implClass
        end local 17 // org.jruby.ir.instructions.Instr[] instrs
        end local 16 // org.jruby.ir.IRScope tgtMethod
        end local 15 // org.jruby.ir.IRScope hc
        end local 14 // boolean isHotClosure
        end local 13 // org.jruby.ir.IRScope hs
        end local 12 // org.jruby.ir.instructions.CallBase call
        end local 10 // double contrib
        end local 8 // org.jruby.ir.interpreter.Profiler$IRCallSite ircs
        76: .line 140
      StackMap locals: java.util.HashMap java.util.ArrayList long double int java.util.Set top java.util.Iterator
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 44
        77: .line 200
      StackMap locals: java.util.HashMap java.util.ArrayList long double int java.util.Set
      StackMap stack:
            aload 7 /* inlinedScopes */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 9
            goto 80
      StackMap locals: java.util.HashMap java.util.ArrayList long double int java.util.Set top java.util.Iterator
      StackMap stack:
        78: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.jruby.ir.IRScope
            astore 8 /* x */
        start local 8 // org.jruby.ir.IRScope x
        79: .line 202
            getstatic org.jruby.ir.interpreter.Profiler.scopeVersionMap:Ljava/util/HashMap;
            aload 8 /* x */
            getstatic org.jruby.ir.interpreter.Profiler.versionCount:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 8 // org.jruby.ir.IRScope x
        80: .line 200
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 78
        81: .line 211
            iconst_0
            putstatic org.jruby.ir.interpreter.Profiler.codeModificationsCount:I
        82: .line 212
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putstatic org.jruby.ir.interpreter.Profiler.callProfile:Ljava/util/HashMap;
        83: .line 215
            getstatic org.jruby.ir.interpreter.Profiler.globalThreadPollCount:I
            ldc 1000000
            irem
            ifne 85
        84: .line 216
            iconst_0
            putstatic org.jruby.ir.interpreter.Profiler.globalThreadPollCount:I
        85: .line 218
      StackMap locals: java.util.HashMap java.util.ArrayList long double int java.util.Set
      StackMap stack:
            return
        end local 7 // java.util.Set inlinedScopes
        end local 6 // int i
        end local 4 // double freq
        end local 2 // long total
        end local 1 // java.util.ArrayList callSites
        end local 0 // java.util.HashMap scopeCounts
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            6   86     0    scopeCounts  Ljava/util/HashMap<Lorg/jruby/ir/IRScope;Ljava/lang/Long;>;
            7   86     1      callSites  Ljava/util/ArrayList<Lorg/jruby/ir/interpreter/Profiler$IRCallSite;>;
            8   86     2          total  J
           10   38     4             id  Ljava/lang/Long;
           20   26     6              c  Ljava/lang/Long;
           11   38     7            csp  Lorg/jruby/ir/interpreter/Profiler$CallSiteProfile;
           12   38     8             cs  Lorg/jruby/ir/interpreter/Profiler$IRCallSite;
           16   38     9   calledScopes  Ljava/util/Set<Lorg/jruby/ir/IRScope;>;
           19   26    10              s  Lorg/jruby/ir/IRScope;
           24   26    12              x  J
           28   38    10           call  Lorg/jruby/ir/instructions/CallBase;
           30   37    11      runtimeCS  Lorg/jruby/runtime/CallSite;
           32   37    12            ccs  Lorg/jruby/runtime/callsite/CachingCallSite;
           33   37    13             ce  Lorg/jruby/runtime/callsite/CacheEntry;
           41   86     4           freq  D
           42   86     6              i  I
           43   86     7  inlinedScopes  Ljava/util/Set<Lorg/jruby/ir/IRScope;>;
           45   76     8           ircs  Lorg/jruby/ir/interpreter/Profiler$IRCallSite;
           46   76    10        contrib  D
           54   76    12           call  Lorg/jruby/ir/instructions/CallBase;
           55   76    13             hs  Lorg/jruby/ir/IRScope;
           56   76    14   isHotClosure  Z
           59   76    15             hc  Lorg/jruby/ir/IRScope;
           63   76    16      tgtMethod  Lorg/jruby/ir/IRScope;
           64   76    17         instrs  [Lorg/jruby/ir/instructions/Instr;
           69   76    18      implClass  Lorg/jruby/RubyModule;
           73   76    19          clArg  Lorg/jruby/ir/operands/Operand;
           79   80     8              x  Lorg/jruby/ir/IRScope;

  private static void outputProfileStats();
    descriptor: ()V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=0
         0: .line 221
            new java.util.ArrayList
            dup
            getstatic org.jruby.ir.interpreter.Profiler.scopeThreadPollCounts:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 0 /* scopes */
        start local 0 // java.util.ArrayList scopes
         1: .line 252
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         2: .line 253
            fconst_0
            fstore 2 /* f1 */
        start local 2 // float f1
         3: .line 254
            aload 0 /* scopes */
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 4
            goto 13
      StackMap locals: java.util.ArrayList int float top java.util.Iterator
      StackMap stack:
         4: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.jruby.ir.IRScope
            astore 3 /* s */
        start local 3 // org.jruby.ir.IRScope s
         5: .line 255
            getstatic org.jruby.ir.interpreter.Profiler.scopeThreadPollCounts:Ljava/util/HashMap;
            aload 3 /* s */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.jruby.ir.Counter
            getfield org.jruby.ir.Counter.count:J
            lstore 5 /* n */
        start local 5 // long n
         6: .line 256
            lload 5 /* n */
            ldc 1000
            lmul
            getstatic org.jruby.ir.interpreter.Profiler.globalThreadPollCount:I
            i2l
            ldiv
            l2f
            ldc 10.0
            fdiv
            fstore 7 /* p1 */
        start local 7 // float p1
         7: .line 257
            new java.lang.StringBuilder
            dup
            iload 1 /* i */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ". "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* s */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " [file:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* s */
            invokevirtual org.jruby.ir.IRScope.getFile:()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 3 /* s */
            invokevirtual org.jruby.ir.IRScope.getLine:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "] = "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            lload 5 /* n */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc "; ("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            fload 7 /* p1 */
            invokevirtual java.lang.StringBuilder.append:(F)Ljava/lang/StringBuilder;
            ldc "%)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            pop
         8: .line 258
            aload 3 /* s */
            instanceof org.jruby.ir.IRClosure
            ifeq 10
         9: .line 259
            aload 3 /* s */
            invokevirtual org.jruby.ir.IRScope.getNearestMethod:()Lorg/jruby/ir/IRMethod;
            pop
        10: .line 266
      StackMap locals: java.util.ArrayList int float org.jruby.ir.IRScope java.util.Iterator long float
      StackMap stack:
            iinc 1 /* i */ 1
        11: .line 267
            fload 2 /* f1 */
            fload 7 /* p1 */
            fadd
            fstore 2 /* f1 */
        12: .line 270
            iload 1 /* i */
            bipush 20
            if_icmpeq 14
            fload 2 /* f1 */
            f2d
            ldc 95.0
            dcmpl
            iflt 13
            goto 14
        end local 7 // float p1
        end local 5 // long n
        end local 3 // org.jruby.ir.IRScope s
        13: .line 254
      StackMap locals: java.util.ArrayList int float top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        14: .line 274
      StackMap locals: java.util.ArrayList int float
      StackMap stack:
            iconst_0
            putstatic org.jruby.ir.interpreter.Profiler.codeModificationsCount:I
        15: .line 277
            getstatic org.jruby.ir.interpreter.Profiler.globalThreadPollCount:I
            ldc 1000000
            irem
            ifne 18
        16: .line 279
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putstatic org.jruby.ir.interpreter.Profiler.scopeThreadPollCounts:Ljava/util/HashMap;
        17: .line 280
            iconst_0
            putstatic org.jruby.ir.interpreter.Profiler.globalThreadPollCount:I
        18: .line 282
      StackMap locals:
      StackMap stack:
            return
        end local 2 // float f1
        end local 1 // int i
        end local 0 // java.util.ArrayList scopes
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            1   19     0  scopes  Ljava/util/ArrayList<Lorg/jruby/ir/IRScope;>;
            2   19     1       i  I
            3   19     2      f1  F
            5   13     3       s  Lorg/jruby/ir/IRScope;
            6   13     5       n  J
            7   13     7      p1  F

  public static java.lang.Integer initProfiling(org.jruby.ir.IRScope);
    descriptor: (Lorg/jruby/ir/IRScope;)Ljava/lang/Integer;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // org.jruby.ir.IRScope scope
         0: .line 285
            aload 0 /* scope */
            ifnonnull 1
            aconst_null
            areturn
         1: .line 295
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.ir.interpreter.Profiler.scopeVersionMap:Ljava/util/HashMap;
            aload 0 /* scope */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 1 /* scopeVersion */
        start local 1 // java.lang.Integer scopeVersion
         2: .line 296
            aload 1 /* scopeVersion */
            ifnonnull 5
         3: .line 297
            getstatic org.jruby.ir.interpreter.Profiler.scopeVersionMap:Ljava/util/HashMap;
            aload 0 /* scope */
            getstatic org.jruby.ir.interpreter.Profiler.versionCount:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 298
            new java.lang.Integer
            dup
            getstatic org.jruby.ir.interpreter.Profiler.versionCount:I
            invokespecial java.lang.Integer.<init>:(I)V
            astore 1 /* scopeVersion */
         5: .line 301
      StackMap locals: java.lang.Integer
      StackMap stack:
            getstatic org.jruby.ir.interpreter.Profiler.callerSite:Lorg/jruby/ir/interpreter/Profiler$IRCallSite;
            getfield org.jruby.ir.interpreter.Profiler$IRCallSite.call:Lorg/jruby/ir/instructions/CallBase;
            ifnull 16
         6: .line 302
            getstatic org.jruby.ir.interpreter.Profiler.callerSite:Lorg/jruby/ir/interpreter/Profiler$IRCallSite;
            getfield org.jruby.ir.interpreter.Profiler$IRCallSite.call:Lorg/jruby/ir/instructions/CallBase;
            getfield org.jruby.ir.instructions.CallBase.callSiteId:J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            astore 2 /* id */
        start local 2 // java.lang.Long id
         7: .line 303
            getstatic org.jruby.ir.interpreter.Profiler.callProfile:Ljava/util/HashMap;
            aload 2 /* id */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.jruby.ir.interpreter.Profiler$CallSiteProfile
            astore 3 /* csp */
        start local 3 // org.jruby.ir.interpreter.Profiler$CallSiteProfile csp
         8: .line 304
            aload 3 /* csp */
            ifnonnull 11
         9: .line 305
            new org.jruby.ir.interpreter.Profiler$CallSiteProfile
            dup
            getstatic org.jruby.ir.interpreter.Profiler.callerSite:Lorg/jruby/ir/interpreter/Profiler$IRCallSite;
            invokespecial org.jruby.ir.interpreter.Profiler$CallSiteProfile.<init>:(Lorg/jruby/ir/interpreter/Profiler$IRCallSite;)V
            astore 3 /* csp */
        10: .line 306
            getstatic org.jruby.ir.interpreter.Profiler.callProfile:Ljava/util/HashMap;
            aload 2 /* id */
            aload 3 /* csp */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        11: .line 309
      StackMap locals: java.lang.Long org.jruby.ir.interpreter.Profiler$CallSiteProfile
      StackMap stack:
            aload 3 /* csp */
            getfield org.jruby.ir.interpreter.Profiler$CallSiteProfile.counters:Ljava/util/HashMap;
            aload 0 /* scope */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.jruby.ir.Counter
            astore 4 /* csCount */
        start local 4 // org.jruby.ir.Counter csCount
        12: .line 310
            aload 4 /* csCount */
            ifnonnull 15
        13: .line 311
            new org.jruby.ir.Counter
            dup
            invokespecial org.jruby.ir.Counter.<init>:()V
            astore 4 /* csCount */
        14: .line 312
            aload 3 /* csp */
            getfield org.jruby.ir.interpreter.Profiler$CallSiteProfile.counters:Ljava/util/HashMap;
            aload 0 /* scope */
            aload 4 /* csCount */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        15: .line 314
      StackMap locals: org.jruby.ir.Counter
      StackMap stack:
            aload 4 /* csCount */
            dup
            getfield org.jruby.ir.Counter.count:J
            lconst_1
            ladd
            putfield org.jruby.ir.Counter.count:J
        end local 4 // org.jruby.ir.Counter csCount
        end local 3 // org.jruby.ir.interpreter.Profiler$CallSiteProfile csp
        end local 2 // java.lang.Long id
        16: .line 317
      StackMap locals:
      StackMap stack:
            aload 1 /* scopeVersion */
            areturn
        end local 1 // java.lang.Integer scopeVersion
        end local 0 // org.jruby.ir.IRScope scope
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   17     0         scope  Lorg/jruby/ir/IRScope;
            2   17     1  scopeVersion  Ljava/lang/Integer;
            7   16     2            id  Ljava/lang/Long;
            8   16     3           csp  Lorg/jruby/ir/interpreter/Profiler$CallSiteProfile;
           12   16     4       csCount  Lorg/jruby/ir/Counter;
    MethodParameters:
       Name  Flags
      scope  

  public static void updateCallSite(org.jruby.ir.instructions.Instr, org.jruby.ir.IRScope, java.lang.Integer);
    descriptor: (Lorg/jruby/ir/instructions/Instr;Lorg/jruby/ir/IRScope;Ljava/lang/Integer;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.jruby.ir.instructions.Instr instr
        start local 1 // org.jruby.ir.IRScope scope
        start local 2 // java.lang.Integer scopeVersion
         0: .line 321
            aload 1 /* scope */
            ifnonnull 1
            return
         1: .line 323
      StackMap locals:
      StackMap stack:
            aload 0 /* instr */
            instanceof org.jruby.ir.instructions.CallBase
            ifeq 5
         2: .line 324
            getstatic org.jruby.ir.interpreter.Profiler.callerSite:Lorg/jruby/ir/interpreter/Profiler$IRCallSite;
            aload 1 /* scope */
            putfield org.jruby.ir.interpreter.Profiler$IRCallSite.s:Lorg/jruby/ir/IRScope;
         3: .line 325
            getstatic org.jruby.ir.interpreter.Profiler.callerSite:Lorg/jruby/ir/interpreter/Profiler$IRCallSite;
            aload 2 /* scopeVersion */
            invokevirtual java.lang.Integer.intValue:()I
            putfield org.jruby.ir.interpreter.Profiler$IRCallSite.v:I
         4: .line 326
            getstatic org.jruby.ir.interpreter.Profiler.callerSite:Lorg/jruby/ir/interpreter/Profiler$IRCallSite;
            aload 0 /* instr */
            checkcast org.jruby.ir.instructions.CallBase
            putfield org.jruby.ir.interpreter.Profiler$IRCallSite.call:Lorg/jruby/ir/instructions/CallBase;
         5: .line 328
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.Integer scopeVersion
        end local 1 // org.jruby.ir.IRScope scope
        end local 0 // org.jruby.ir.instructions.Instr instr
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0         instr  Lorg/jruby/ir/instructions/Instr;
            0    6     1         scope  Lorg/jruby/ir/IRScope;
            0    6     2  scopeVersion  Ljava/lang/Integer;
    MethodParameters:
              Name  Flags
      instr         
      scope         
      scopeVersion  

  public static void clockTick();
    descriptor: ()V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 332
            getstatic org.jruby.ir.interpreter.Profiler.globalThreadPollCount:I
            iconst_1
            iadd
            putstatic org.jruby.ir.interpreter.Profiler.globalThreadPollCount:I
         1: .line 336
            getstatic org.jruby.ir.interpreter.Profiler.globalThreadPollCount:I
            sipush 20000
            irem
            ifne 3
         2: .line 337
            invokestatic org.jruby.ir.interpreter.Profiler.analyzeProfile:()V
         3: .line 340
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static void instrTick(org.jruby.ir.Operation);
    descriptor: (Lorg/jruby/ir/Operation;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.ir.Operation operation
         0: .line 343
            aload 0 /* operation */
            invokevirtual org.jruby.ir.Operation.modifiesCode:()Z
            ifeq 1
            getstatic org.jruby.ir.interpreter.Profiler.codeModificationsCount:I
            iconst_1
            iadd
            putstatic org.jruby.ir.interpreter.Profiler.codeModificationsCount:I
         1: .line 352
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.jruby.ir.Operation operation
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0  operation  Lorg/jruby/ir/Operation;
    MethodParameters:
           Name  Flags
      operation  
}
SourceFile: "Profiler.java"
NestMembers:
  org.jruby.ir.interpreter.Profiler$1  org.jruby.ir.interpreter.Profiler$CallSiteProfile  org.jruby.ir.interpreter.Profiler$IRCallSite
InnerClasses:
  org.jruby.ir.interpreter.Profiler$1
  private CallSiteProfile = org.jruby.ir.interpreter.Profiler$CallSiteProfile of org.jruby.ir.interpreter.Profiler
  private IRCallSite = org.jruby.ir.interpreter.Profiler$IRCallSite of org.jruby.ir.interpreter.Profiler