public class org.jruby.runtime.profile.builtin.HtmlProfilePrinter extends org.jruby.runtime.profile.builtin.ProfilePrinter
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.jruby.runtime.profile.builtin.HtmlProfilePrinter
super_class: org.jruby.runtime.profile.builtin.ProfilePrinter
{
private static final long LIMIT;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 100000000
java.lang.String head;
descriptor: Ljava/lang/String;
flags: (0x0000)
public void <init>(org.jruby.runtime.profile.builtin.ProfileData);
descriptor: (Lorg/jruby/runtime/profile/builtin/ProfileData;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial org.jruby.runtime.profile.builtin.ProfilePrinter.<init>:(Lorg/jruby/runtime/profile/builtin/ProfileData;)V
1: aload 0
ldc "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\">\n<html>\n<head>\n <style media=\"all\" type=\"text/css\">\n table {\n border-collapse: collapse;\n border: 1px solid #CCC;\n font-family: Verdana, Arial, Helvetica, sans-serif;\n font-size: 9pt;\n line-height: normal;\n width: 100%;\n }\n\n th {\n text-align: center;\n border-top: 1px solid #FB7A31;\n border-bottom: 1px solid #FB7A31;\n background: #FFC;\n padding: 0.3em;\n border-left: 1px solid silver;\n }\n\n tr.break td {\n border: 0;\n border-top: 1px solid #FB7A31;\n padding: 0;\n margin: 0;\n }\n\n tr.method td {\n font-weight: bold;\n }\n\n td {\n padding: 0.3em;\n }\n\n td:first-child {\n width: 190px;\n }\n\n td {\n border-left: 1px solid #CCC;\n text-align: center;\n }\n\n .method_name {\n text-align: left;\n }\n </style>\n </head>\n"
putfield org.jruby.runtime.profile.builtin.HtmlProfilePrinter.head:Ljava/lang/String;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/runtime/profile/builtin/HtmlProfilePrinter;
0 3 1 profileData Lorg/jruby/runtime/profile/builtin/ProfileData;
MethodParameters:
Name Flags
profileData
void <init>(org.jruby.runtime.profile.builtin.ProfileData, org.jruby.runtime.profile.builtin.Invocation);
descriptor: (Lorg/jruby/runtime/profile/builtin/ProfileData;Lorg/jruby/runtime/profile/builtin/Invocation;)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokespecial org.jruby.runtime.profile.builtin.ProfilePrinter.<init>:(Lorg/jruby/runtime/profile/builtin/ProfileData;Lorg/jruby/runtime/profile/builtin/Invocation;)V
1: aload 0
ldc "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\">\n<html>\n<head>\n <style media=\"all\" type=\"text/css\">\n table {\n border-collapse: collapse;\n border: 1px solid #CCC;\n font-family: Verdana, Arial, Helvetica, sans-serif;\n font-size: 9pt;\n line-height: normal;\n width: 100%;\n }\n\n th {\n text-align: center;\n border-top: 1px solid #FB7A31;\n border-bottom: 1px solid #FB7A31;\n background: #FFC;\n padding: 0.3em;\n border-left: 1px solid silver;\n }\n\n tr.break td {\n border: 0;\n border-top: 1px solid #FB7A31;\n padding: 0;\n margin: 0;\n }\n\n tr.method td {\n font-weight: bold;\n }\n\n td {\n padding: 0.3em;\n }\n\n td:first-child {\n width: 190px;\n }\n\n td {\n border-left: 1px solid #CCC;\n text-align: center;\n }\n\n .method_name {\n text-align: left;\n }\n </style>\n </head>\n"
putfield org.jruby.runtime.profile.builtin.HtmlProfilePrinter.head:Ljava/lang/String;
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/runtime/profile/builtin/HtmlProfilePrinter;
0 3 1 profileData Lorg/jruby/runtime/profile/builtin/ProfileData;
0 3 2 topInvocation Lorg/jruby/runtime/profile/builtin/Invocation;
MethodParameters:
Name Flags
profileData
topInvocation
public void (java.io.PrintStream);
descriptor: (Ljava/io/PrintStream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield org.jruby.runtime.profile.builtin.HtmlProfilePrinter.head:Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
1: aload 1
ldc "<body>"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/runtime/profile/builtin/HtmlProfilePrinter;
0 3 1 out Ljava/io/PrintStream;
MethodParameters:
Name Flags
out
public void (java.io.PrintStream);
descriptor: (Ljava/io/PrintStream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ldc "</body>"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
1: aload 1
ldc "</html>"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/runtime/profile/builtin/HtmlProfilePrinter;
0 3 1 out Ljava/io/PrintStream;
MethodParameters:
Name Flags
out
public void printProfile(java.io.PrintStream, boolean);
descriptor: (Ljava/io/PrintStream;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=20, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.jruby.runtime.profile.builtin.HtmlProfilePrinter.getTopInvocation:()Lorg/jruby/runtime/profile/builtin/Invocation;
astore 3
start local 3 1: aload 1
ldc "<h1>Profile Report: %s</h1>\n"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
invokevirtual org.jruby.runtime.profile.builtin.HtmlProfilePrinter.getThreadName:()Ljava/lang/String;
aastore
invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
pop
2: aload 1
new java.lang.StringBuilder
dup
ldc "<h3>Total time: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual org.jruby.runtime.profile.builtin.Invocation.getDuration:()J
invokestatic org.jruby.runtime.profile.builtin.HtmlProfilePrinter.nanoString:(J)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "</h3>"
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
3: aload 1
ldc "<table>\n <tr>\n <th> %Total</th>\n <th> %Self</th>\n <th> Total</th>\n <th> Self</th>\n <th> Children</th>\n <th> Calls</th>\n <th>Name</th>\n </tr>"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
4: aload 3
invokestatic org.jruby.runtime.profile.builtin.HtmlProfilePrinter.methodData:(Lorg/jruby/runtime/profile/builtin/Invocation;)Lorg/jruby/util/collections/IntHashMap;
astore 4
start local 4 5: aload 4
invokevirtual org.jruby.util.collections.IntHashMap.values:()Ljava/util/Collection;
aload 4
invokevirtual org.jruby.util.collections.IntHashMap.size:()I
anewarray org.jruby.runtime.profile.builtin.MethodData
invokeinterface java.util.Collection.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast org.jruby.runtime.profile.builtin.MethodData[]
astore 5
start local 5 6: aload 5
new org.jruby.runtime.profile.builtin.HtmlProfilePrinter$1
dup
aload 0
invokespecial org.jruby.runtime.profile.builtin.HtmlProfilePrinter$1.<init>:(Lorg/jruby/runtime/profile/builtin/HtmlProfilePrinter;)V
invokestatic java.util.Arrays.sort:([Ljava/lang/Object;Ljava/util/Comparator;)V
7: aload 5
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 51
StackMap locals: org.jruby.runtime.profile.builtin.HtmlProfilePrinter java.io.PrintStream int org.jruby.runtime.profile.builtin.Invocation org.jruby.util.collections.IntHashMap org.jruby.runtime.profile.builtin.MethodData[] top int int org.jruby.runtime.profile.builtin.MethodData[]
StackMap stack:
8: aload 9
iload 7
aaload
astore 6
start local 6 9: aload 0
aload 6
getfield org.jruby.runtime.profile.builtin.MethodData.invocations:Ljava/util/List;
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.jruby.runtime.profile.builtin.Invocation
invokevirtual org.jruby.runtime.profile.builtin.HtmlProfilePrinter.isProfilerInvocation:(Lorg/jruby/runtime/profile/builtin/Invocation;)Z
ifne 50
10: aload 1
ldc "<tr class='break'><td colspan='7'></td></tr>"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
11: aload 6
getfield org.jruby.runtime.profile.builtin.MethodData.serialNumber:I
istore 10
start local 10 12: iload 10
ifeq 20
13: aload 0
aload 6
invokevirtual org.jruby.runtime.profile.builtin.HtmlProfilePrinter.parentSerials:(Lorg/jruby/runtime/profile/builtin/MethodData;)[Ljava/lang/Integer;
astore 11
start local 11 14: aload 11
arraylength
ifle 20
15: aload 11
dup
astore 15
arraylength
istore 14
iconst_0
istore 13
goto 19
StackMap locals: org.jruby.runtime.profile.builtin.HtmlProfilePrinter java.io.PrintStream int org.jruby.runtime.profile.builtin.Invocation org.jruby.util.collections.IntHashMap org.jruby.runtime.profile.builtin.MethodData[] org.jruby.runtime.profile.builtin.MethodData int int org.jruby.runtime.profile.builtin.MethodData[] int java.lang.Integer[] top int int java.lang.Integer[]
StackMap stack:
16: aload 15
iload 13
aaload
invokevirtual java.lang.Integer.intValue:()I
istore 12
start local 12 17: aload 0
aload 1
aload 6
iload 12
aload 0
iload 12
invokevirtual org.jruby.runtime.profile.builtin.HtmlProfilePrinter.methodName:(I)Ljava/lang/String;
aload 6
iload 12
invokevirtual org.jruby.runtime.profile.builtin.MethodData.rootInvocationsFromParent:(I)Lorg/jruby/runtime/profile/builtin/InvocationSet;
invokevirtual org.jruby.runtime.profile.builtin.HtmlProfilePrinter.printInvocationFromParent:(Ljava/io/PrintStream;Lorg/jruby/runtime/profile/builtin/MethodData;ILjava/lang/String;Lorg/jruby/runtime/profile/builtin/InvocationSet;)V
end local 12 18: iinc 13 1
StackMap locals:
StackMap stack:
19: iload 13
iload 14
if_icmplt 16
end local 11 20: StackMap locals: org.jruby.runtime.profile.builtin.HtmlProfilePrinter java.io.PrintStream int org.jruby.runtime.profile.builtin.Invocation org.jruby.util.collections.IntHashMap org.jruby.runtime.profile.builtin.MethodData[] org.jruby.runtime.profile.builtin.MethodData int int org.jruby.runtime.profile.builtin.MethodData[] int
StackMap stack:
aload 0
iload 10
invokevirtual org.jruby.runtime.profile.builtin.HtmlProfilePrinter.methodName:(I)Ljava/lang/String;
astore 11
start local 11 21: aload 6
invokevirtual org.jruby.runtime.profile.builtin.MethodData.totalTime:()J
ldc 100000000
lcmp
iflt 33
22: aload 1
ldc "<tr class='method'>"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
23: aload 3
invokevirtual org.jruby.runtime.profile.builtin.Invocation.getDuration:()J
lconst_0
lcmp
ifne 27
24: aload 1
ldc " <td>100%</td>"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
25: aload 1
ldc " <td>100%</td>"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
26: goto 29
27: StackMap locals: java.lang.String
StackMap stack:
aload 1
new java.lang.StringBuilder
dup
ldc " <td>"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual org.jruby.runtime.profile.builtin.MethodData.totalTime:()J
ldc 100
lmul
aload 3
invokevirtual org.jruby.runtime.profile.builtin.Invocation.getDuration:()J
ldiv
invokestatic java.lang.Long.toString:(J)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "%</td>"
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
28: aload 1
new java.lang.StringBuilder
dup
ldc " <td>"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual org.jruby.runtime.profile.builtin.MethodData.selfTime:()J
ldc 100
lmul
aload 3
invokevirtual org.jruby.runtime.profile.builtin.Invocation.getDuration:()J
ldiv
invokestatic java.lang.Long.toString:(J)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "%</td>"
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
29: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 6
invokevirtual org.jruby.runtime.profile.builtin.HtmlProfilePrinter.printTimingCells:(Ljava/io/PrintStream;Lorg/jruby/runtime/profile/builtin/InvocationSet;)V
30: aload 1
new java.lang.StringBuilder
dup
ldc " <td>"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual org.jruby.runtime.profile.builtin.MethodData.totalCalls:()I
invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "</td>"
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
31: aload 1
new java.lang.StringBuilder
dup
ldc " <td>"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
aload 11
invokevirtual org.jruby.runtime.profile.builtin.HtmlProfilePrinter.methodAnchor:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "</td>"
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
32: aload 1
ldc "</tr>"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
33: StackMap locals:
StackMap stack:
aload 6
invokevirtual org.jruby.runtime.profile.builtin.MethodData.children:()[I
astore 12
start local 12 34: aload 12
arraylength
anewarray java.lang.Integer
astore 13
start local 13 35: iconst_0
istore 14
start local 14 36: goto 39
37: StackMap locals: int[] java.lang.Integer[] int
StackMap stack:
aload 13
iload 14
aload 12
iload 14
iaload
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
38: iinc 14 1
StackMap locals:
StackMap stack:
39: iload 14
aload 12
arraylength
if_icmplt 37
end local 14 40: aload 13
new org.jruby.runtime.profile.builtin.HtmlProfilePrinter$2
dup
aload 0
aload 6
invokespecial org.jruby.runtime.profile.builtin.HtmlProfilePrinter$2.<init>:(Lorg/jruby/runtime/profile/builtin/HtmlProfilePrinter;Lorg/jruby/runtime/profile/builtin/MethodData;)V
invokestatic java.util.Arrays.sort:([Ljava/lang/Object;Ljava/util/Comparator;)V
41: aload 13
arraylength
ifle 50
42: aload 13
dup
astore 17
arraylength
istore 16
iconst_0
istore 15
goto 49
StackMap locals: org.jruby.runtime.profile.builtin.HtmlProfilePrinter java.io.PrintStream int org.jruby.runtime.profile.builtin.Invocation org.jruby.util.collections.IntHashMap org.jruby.runtime.profile.builtin.MethodData[] org.jruby.runtime.profile.builtin.MethodData int int org.jruby.runtime.profile.builtin.MethodData[] int java.lang.String int[] java.lang.Integer[] top int int java.lang.Integer[]
StackMap stack:
43: aload 17
iload 15
aaload
invokevirtual java.lang.Integer.intValue:()I
istore 14
start local 14 44: aload 0
iload 14
invokevirtual org.jruby.runtime.profile.builtin.HtmlProfilePrinter.isThisProfilerInvocation:(I)Z
ifne 48
45: aload 0
iload 14
invokevirtual org.jruby.runtime.profile.builtin.HtmlProfilePrinter.methodName:(I)Ljava/lang/String;
astore 18
start local 18 46: aload 6
iload 14
invokevirtual org.jruby.runtime.profile.builtin.MethodData.rootInvocationsOfChild:(I)Lorg/jruby/runtime/profile/builtin/InvocationSet;
astore 19
start local 19 47: aload 0
aload 1
aload 4
aload 6
iload 14
aload 18
aload 19
invokevirtual org.jruby.runtime.profile.builtin.HtmlProfilePrinter.printInvocationOfChild:(Ljava/io/PrintStream;Lorg/jruby/util/collections/IntHashMap;Lorg/jruby/runtime/profile/builtin/MethodData;ILjava/lang/String;Lorg/jruby/runtime/profile/builtin/InvocationSet;)V
end local 19 end local 18 end local 14 48: StackMap locals:
StackMap stack:
iinc 15 1
StackMap locals:
StackMap stack:
49: iload 15
iload 16
if_icmplt 43
end local 13 end local 12 end local 11 end local 10 end local 6 50: StackMap locals: org.jruby.runtime.profile.builtin.HtmlProfilePrinter java.io.PrintStream int org.jruby.runtime.profile.builtin.Invocation org.jruby.util.collections.IntHashMap org.jruby.runtime.profile.builtin.MethodData[] top int int org.jruby.runtime.profile.builtin.MethodData[]
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
51: iload 7
iload 8
if_icmplt 8
52: aload 1
ldc "</table>"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
53: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 54 0 this Lorg/jruby/runtime/profile/builtin/HtmlProfilePrinter;
0 54 1 out Ljava/io/PrintStream;
0 54 2 first Z
1 54 3 topInvocation Lorg/jruby/runtime/profile/builtin/Invocation;
5 54 4 methods Lorg/jruby/util/collections/IntHashMap<Lorg/jruby/runtime/profile/builtin/MethodData;>;
6 54 5 sortedMethods [Lorg/jruby/runtime/profile/builtin/MethodData;
9 50 6 data Lorg/jruby/runtime/profile/builtin/MethodData;
12 50 10 serial I
14 20 11 parentSerials [Ljava/lang/Integer;
17 18 12 parentSerial I
21 50 11 displayName Ljava/lang/String;
34 50 12 childSerialsInts [I
35 50 13 childSerials [Ljava/lang/Integer;
36 40 14 i I
44 48 14 childSerial I
46 48 18 callerName Ljava/lang/String;
47 48 19 invs Lorg/jruby/runtime/profile/builtin/InvocationSet;
MethodParameters:
Name Flags
out
first
private void printInvocationOfChild(java.io.PrintStream, org.jruby.util.collections.IntHashMap<org.jruby.runtime.profile.builtin.MethodData>, org.jruby.runtime.profile.builtin.MethodData, int, java.lang.String, org.jruby.runtime.profile.builtin.InvocationSet);
descriptor: (Ljava/io/PrintStream;Lorg/jruby/util/collections/IntHashMap;Lorg/jruby/runtime/profile/builtin/MethodData;ILjava/lang/String;Lorg/jruby/runtime/profile/builtin/InvocationSet;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 1
new java.lang.StringBuilder
dup
ldc "<!-- "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual org.jruby.runtime.profile.builtin.InvocationSet.totalTime:()J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc " -->"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
1: aload 6
invokevirtual org.jruby.runtime.profile.builtin.InvocationSet.totalTime:()J
ldc 100000000
lcmp
ifge 3
2: return
3: StackMap locals:
StackMap stack:
aload 1
ldc "<tr>"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
4: aload 1
ldc " <td></td>"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
5: aload 1
ldc " <td></td>"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
6: aload 0
aload 1
aload 6
invokevirtual org.jruby.runtime.profile.builtin.HtmlProfilePrinter.printTimingCells:(Ljava/io/PrintStream;Lorg/jruby/runtime/profile/builtin/InvocationSet;)V
7: aload 1
new java.lang.StringBuilder
dup
ldc " <td>"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
iload 4
invokevirtual org.jruby.runtime.profile.builtin.MethodData.invocationsOfChild:(I)Lorg/jruby/runtime/profile/builtin/InvocationSet;
invokevirtual org.jruby.runtime.profile.builtin.InvocationSet.totalCalls:()I
invokestatic java.lang.Integer.toString:(I)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 2
iload 4
invokevirtual org.jruby.util.collections.IntHashMap.get:(I)Ljava/lang/Object;
checkcast org.jruby.runtime.profile.builtin.MethodData
invokevirtual org.jruby.runtime.profile.builtin.MethodData.totalCalls:()I
invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "</td>"
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
8: aload 1
new java.lang.StringBuilder
dup
ldc " <td>"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
aload 5
invokevirtual org.jruby.runtime.profile.builtin.HtmlProfilePrinter.linkToMethod:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "</td>"
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
9: aload 1
ldc "</tr>"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
10: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/jruby/runtime/profile/builtin/HtmlProfilePrinter;
0 11 1 out Ljava/io/PrintStream;
0 11 2 methods Lorg/jruby/util/collections/IntHashMap<Lorg/jruby/runtime/profile/builtin/MethodData;>;
0 11 3 data Lorg/jruby/runtime/profile/builtin/MethodData;
0 11 4 childSerial I
0 11 5 callerName Ljava/lang/String;
0 11 6 invs Lorg/jruby/runtime/profile/builtin/InvocationSet;
Signature: (Ljava/io/PrintStream;Lorg/jruby/util/collections/IntHashMap<Lorg/jruby/runtime/profile/builtin/MethodData;>;Lorg/jruby/runtime/profile/builtin/MethodData;ILjava/lang/String;Lorg/jruby/runtime/profile/builtin/InvocationSet;)V
MethodParameters:
Name Flags
out
methods
data
childSerial
callerName
invs
private void printInvocationFromParent(java.io.PrintStream, org.jruby.runtime.profile.builtin.MethodData, int, java.lang.String, org.jruby.runtime.profile.builtin.InvocationSet);
descriptor: (Ljava/io/PrintStream;Lorg/jruby/runtime/profile/builtin/MethodData;ILjava/lang/String;Lorg/jruby/runtime/profile/builtin/InvocationSet;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 5
invokevirtual org.jruby.runtime.profile.builtin.InvocationSet.totalTime:()J
ldc 100000000
lcmp
ifge 2
1: return
2: StackMap locals:
StackMap stack:
aload 1
ldc "<tr>"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
3: aload 1
ldc " <td></td>"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
4: aload 1
ldc " <td></td>"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
5: aload 0
aload 1
aload 5
invokevirtual org.jruby.runtime.profile.builtin.HtmlProfilePrinter.printTimingCells:(Ljava/io/PrintStream;Lorg/jruby/runtime/profile/builtin/InvocationSet;)V
6: aload 1
new java.lang.StringBuilder
dup
ldc " <td>"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
iload 3
invokevirtual org.jruby.runtime.profile.builtin.MethodData.invocationsFromParent:(I)Lorg/jruby/runtime/profile/builtin/InvocationSet;
invokevirtual org.jruby.runtime.profile.builtin.InvocationSet.totalCalls:()I
invokestatic java.lang.Integer.toString:(I)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 2
invokevirtual org.jruby.runtime.profile.builtin.MethodData.totalCalls:()I
invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "</td>"
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
7: aload 1
new java.lang.StringBuilder
dup
ldc " <td>"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
aload 4
invokevirtual org.jruby.runtime.profile.builtin.HtmlProfilePrinter.linkToMethod:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "</td>"
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
8: aload 1
ldc "</tr>"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
9: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/jruby/runtime/profile/builtin/HtmlProfilePrinter;
0 10 1 out Ljava/io/PrintStream;
0 10 2 data Lorg/jruby/runtime/profile/builtin/MethodData;
0 10 3 parentSerial I
0 10 4 callerName Ljava/lang/String;
0 10 5 invs Lorg/jruby/runtime/profile/builtin/InvocationSet;
MethodParameters:
Name Flags
out
data
parentSerial
callerName
invs
private java.lang.String linkToMethod(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
ldc "<a href='#"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
ldc "[><#\\.\\?=:]"
ldc "_"
invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)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 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "</a>"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/runtime/profile/builtin/HtmlProfilePrinter;
0 1 1 callerName Ljava/lang/String;
MethodParameters:
Name Flags
callerName
private java.lang.String methodAnchor(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
ldc "<a name='"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
ldc "[><#\\.\\?=:]"
ldc "_"
invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)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 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "</a>"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/runtime/profile/builtin/HtmlProfilePrinter;
0 1 1 callerName Ljava/lang/String;
MethodParameters:
Name Flags
callerName
private void printTimingCells(java.io.PrintStream, org.jruby.runtime.profile.builtin.InvocationSet);
descriptor: (Ljava/io/PrintStream;Lorg/jruby/runtime/profile/builtin/InvocationSet;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
new java.lang.StringBuilder
dup
ldc " <td>"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual org.jruby.runtime.profile.builtin.InvocationSet.totalTime:()J
invokestatic org.jruby.runtime.profile.builtin.HtmlProfilePrinter.nanoString:(J)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "</td>"
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
1: aload 1
new java.lang.StringBuilder
dup
ldc " <td>"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual org.jruby.runtime.profile.builtin.InvocationSet.selfTime:()J
invokestatic org.jruby.runtime.profile.builtin.HtmlProfilePrinter.nanoString:(J)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "</td>"
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
2: aload 1
new java.lang.StringBuilder
dup
ldc " <td>"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual org.jruby.runtime.profile.builtin.InvocationSet.childTime:()J
invokestatic org.jruby.runtime.profile.builtin.HtmlProfilePrinter.nanoString:(J)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "</td>"
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
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jruby/runtime/profile/builtin/HtmlProfilePrinter;
0 4 1 out Ljava/io/PrintStream;
0 4 2 invs Lorg/jruby/runtime/profile/builtin/InvocationSet;
MethodParameters:
Name Flags
out
invs
private java.lang.Integer[] parentSerials(org.jruby.runtime.profile.builtin.MethodData);
descriptor: (Lorg/jruby/runtime/profile/builtin/MethodData;)[Ljava/lang/Integer;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.jruby.runtime.profile.builtin.MethodData.parents:()[I
astore 2
start local 2 1: aload 2
arraylength
anewarray java.lang.Integer
astore 3
start local 3 2: iconst_0
istore 4
start local 4 3: goto 6
4: StackMap locals: int[] java.lang.Integer[] int
StackMap stack:
aload 3
iload 4
aload 2
iload 4
iaload
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
5: iinc 4 1
StackMap locals:
StackMap stack:
6: iload 4
aload 2
arraylength
if_icmplt 4
end local 4 7: aload 3
new org.jruby.runtime.profile.builtin.HtmlProfilePrinter$3
dup
aload 0
aload 1
invokespecial org.jruby.runtime.profile.builtin.HtmlProfilePrinter$3.<init>:(Lorg/jruby/runtime/profile/builtin/HtmlProfilePrinter;Lorg/jruby/runtime/profile/builtin/MethodData;)V
invokestatic java.util.Arrays.sort:([Ljava/lang/Object;Ljava/util/Comparator;)V
8: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/jruby/runtime/profile/builtin/HtmlProfilePrinter;
0 9 1 data Lorg/jruby/runtime/profile/builtin/MethodData;
1 9 2 parentSerialsInts [I
2 9 3 parentSerials [Ljava/lang/Integer;
3 7 4 i I
MethodParameters:
Name Flags
data final
}
SourceFile: "HtmlProfilePrinter.java"
NestMembers:
org.jruby.runtime.profile.builtin.HtmlProfilePrinter$1 org.jruby.runtime.profile.builtin.HtmlProfilePrinter$2 org.jruby.runtime.profile.builtin.HtmlProfilePrinter$3
InnerClasses:
org.jruby.runtime.profile.builtin.HtmlProfilePrinter$1
org.jruby.runtime.profile.builtin.HtmlProfilePrinter$2
org.jruby.runtime.profile.builtin.HtmlProfilePrinter$3