public abstract class org.jruby.runtime.profile.builtin.ProfilePrinter
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.jruby.runtime.profile.builtin.ProfilePrinter
super_class: java.lang.Object
{
private final org.jruby.runtime.profile.builtin.ProfileData profileData;
descriptor: Lorg/jruby/runtime/profile/builtin/ProfileData;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.jruby.runtime.profile.builtin.Invocation topInvocation;
descriptor: Lorg/jruby/runtime/profile/builtin/Invocation;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static final java.lang.String PROFILER_START_METHOD;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "JRuby::Profiler.start"
private static final java.lang.String PROFILER_STOP_METHOD;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "JRuby::Profiler.stop"
static final java.lang.String PROFILER_PROFILE_METHOD;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "JRuby::Profiler.profile"
static final java.lang.String PROFILER_PROFILED_CODE_METHOD;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "JRuby::Profiler.profiled_code"
public static org.jruby.runtime.profile.builtin.ProfilePrinter newPrinter(org.jruby.RubyInstanceConfig$ProfilingMode, org.jruby.runtime.profile.builtin.ProfileData);
descriptor: (Lorg/jruby/RubyInstanceConfig$ProfilingMode;Lorg/jruby/runtime/profile/builtin/ProfileData;)Lorg/jruby/runtime/profile/builtin/ProfilePrinter;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aconst_null
invokestatic org.jruby.runtime.profile.builtin.ProfilePrinter.newPrinter:(Lorg/jruby/RubyInstanceConfig$ProfilingMode;Lorg/jruby/runtime/profile/builtin/ProfileData;Lorg/jruby/runtime/profile/builtin/Invocation;)Lorg/jruby/runtime/profile/builtin/ProfilePrinter;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 mode Lorg/jruby/RubyInstanceConfig$ProfilingMode;
0 1 1 profileData Lorg/jruby/runtime/profile/builtin/ProfileData;
MethodParameters:
Name Flags
mode
profileData
static org.jruby.runtime.profile.builtin.ProfilePrinter newPrinter(org.jruby.RubyInstanceConfig$ProfilingMode, org.jruby.runtime.profile.builtin.ProfileData, org.jruby.runtime.profile.builtin.Invocation);
descriptor: (Lorg/jruby/RubyInstanceConfig$ProfilingMode;Lorg/jruby/runtime/profile/builtin/ProfileData;Lorg/jruby/runtime/profile/builtin/Invocation;)Lorg/jruby/runtime/profile/builtin/ProfilePrinter;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnonnull 1
aload 1
invokevirtual org.jruby.runtime.profile.builtin.ProfileData.computeResults:()Lorg/jruby/runtime/profile/builtin/Invocation;
astore 2
1: StackMap locals:
StackMap stack:
aload 0
getstatic org.jruby.RubyInstanceConfig$ProfilingMode.FLAT:Lorg/jruby/RubyInstanceConfig$ProfilingMode;
if_acmpne 4
2: new org.jruby.runtime.profile.builtin.FlatProfilePrinter
dup
aload 1
aload 2
invokespecial org.jruby.runtime.profile.builtin.FlatProfilePrinter.<init>:(Lorg/jruby/runtime/profile/builtin/ProfileData;Lorg/jruby/runtime/profile/builtin/Invocation;)V
astore 3
start local 3 3: goto 14
end local 3 StackMap locals:
StackMap stack:
4: aload 0
getstatic org.jruby.RubyInstanceConfig$ProfilingMode.GRAPH:Lorg/jruby/RubyInstanceConfig$ProfilingMode;
if_acmpne 7
5: new org.jruby.runtime.profile.builtin.GraphProfilePrinter
dup
aload 1
aload 2
invokespecial org.jruby.runtime.profile.builtin.GraphProfilePrinter.<init>:(Lorg/jruby/runtime/profile/builtin/ProfileData;Lorg/jruby/runtime/profile/builtin/Invocation;)V
astore 3
start local 3 6: goto 14
end local 3 StackMap locals:
StackMap stack:
7: aload 0
getstatic org.jruby.RubyInstanceConfig$ProfilingMode.HTML:Lorg/jruby/RubyInstanceConfig$ProfilingMode;
if_acmpne 10
8: new org.jruby.runtime.profile.builtin.HtmlProfilePrinter
dup
aload 1
aload 2
invokespecial org.jruby.runtime.profile.builtin.HtmlProfilePrinter.<init>:(Lorg/jruby/runtime/profile/builtin/ProfileData;Lorg/jruby/runtime/profile/builtin/Invocation;)V
astore 3
start local 3 9: goto 14
end local 3 StackMap locals:
StackMap stack:
10: aload 0
getstatic org.jruby.RubyInstanceConfig$ProfilingMode.JSON:Lorg/jruby/RubyInstanceConfig$ProfilingMode;
if_acmpne 13
11: new org.jruby.runtime.profile.builtin.JsonProfilePrinter
dup
aload 1
aload 2
invokespecial org.jruby.runtime.profile.builtin.JsonProfilePrinter.<init>:(Lorg/jruby/runtime/profile/builtin/ProfileData;Lorg/jruby/runtime/profile/builtin/Invocation;)V
astore 3
start local 3 12: goto 14
end local 3 13: StackMap locals:
StackMap stack:
aconst_null
astore 3
start local 3 14: StackMap locals: org.jruby.runtime.profile.builtin.ProfilePrinter
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 mode Lorg/jruby/RubyInstanceConfig$ProfilingMode;
0 15 1 profileData Lorg/jruby/runtime/profile/builtin/ProfileData;
0 15 2 topInvocation Lorg/jruby/runtime/profile/builtin/Invocation;
3 4 3 printer Lorg/jruby/runtime/profile/builtin/ProfilePrinter;
6 7 3 printer Lorg/jruby/runtime/profile/builtin/ProfilePrinter;
9 10 3 printer Lorg/jruby/runtime/profile/builtin/ProfilePrinter;
12 13 3 printer Lorg/jruby/runtime/profile/builtin/ProfilePrinter;
14 15 3 printer Lorg/jruby/runtime/profile/builtin/ProfilePrinter;
MethodParameters:
Name Flags
mode
profileData
topInvocation
protected void <init>(org.jruby.runtime.profile.builtin.ProfileData);
descriptor: (Lorg/jruby/runtime/profile/builtin/ProfileData;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aload 1
invokevirtual org.jruby.runtime.profile.builtin.ProfileData.computeResults:()Lorg/jruby/runtime/profile/builtin/Invocation;
invokespecial org.jruby.runtime.profile.builtin.ProfilePrinter.<init>:(Lorg/jruby/runtime/profile/builtin/ProfileData;Lorg/jruby/runtime/profile/builtin/Invocation;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/runtime/profile/builtin/ProfilePrinter;
0 2 1 profileData Lorg/jruby/runtime/profile/builtin/ProfileData;
MethodParameters:
Name Flags
profileData
protected 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: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield org.jruby.runtime.profile.builtin.ProfilePrinter.profileData:Lorg/jruby/runtime/profile/builtin/ProfileData;
2: aload 0
aload 2
putfield org.jruby.runtime.profile.builtin.ProfilePrinter.topInvocation:Lorg/jruby/runtime/profile/builtin/Invocation;
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/ProfilePrinter;
0 4 1 profileData Lorg/jruby/runtime/profile/builtin/ProfileData;
0 4 2 topInvocation Lorg/jruby/runtime/profile/builtin/Invocation;
MethodParameters:
Name Flags
profileData
topInvocation
public org.jruby.runtime.profile.builtin.ProfileData getProfileData();
descriptor: ()Lorg/jruby/runtime/profile/builtin/ProfileData;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.runtime.profile.builtin.ProfilePrinter.profileData:Lorg/jruby/runtime/profile/builtin/ProfileData;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/runtime/profile/builtin/ProfilePrinter;
protected org.jruby.runtime.profile.builtin.Invocation getTopInvocation();
descriptor: ()Lorg/jruby/runtime/profile/builtin/Invocation;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.runtime.profile.builtin.ProfilePrinter.topInvocation:Lorg/jruby/runtime/profile/builtin/Invocation;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/runtime/profile/builtin/ProfilePrinter;
public void (java.io.PrintStream);
descriptor: (Ljava/io/PrintStream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/runtime/profile/builtin/ProfilePrinter;
0 1 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=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/runtime/profile/builtin/ProfilePrinter;
0 1 1 out Ljava/io/PrintStream;
MethodParameters:
Name Flags
out
public void printProfile(java.io.PrintStream);
descriptor: (Ljava/io/PrintStream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_1
invokevirtual org.jruby.runtime.profile.builtin.ProfilePrinter.printProfile:(Ljava/io/PrintStream;Z)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/runtime/profile/builtin/ProfilePrinter;
0 2 1 out Ljava/io/PrintStream;
MethodParameters:
Name Flags
out
public abstract void printProfile(java.io.PrintStream, boolean);
descriptor: (Ljava/io/PrintStream;Z)V
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
out
first
public void printProfile(org.jruby.RubyIO);
descriptor: (Lorg/jruby/RubyIO;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new java.io.PrintStream
dup
aload 1
invokevirtual org.jruby.RubyIO.getOutStream:()Ljava/io/OutputStream;
invokespecial java.io.PrintStream.<init>:(Ljava/io/OutputStream;)V
invokevirtual org.jruby.runtime.profile.builtin.ProfilePrinter.printProfile:(Ljava/io/PrintStream;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/runtime/profile/builtin/ProfilePrinter;
0 2 1 out Lorg/jruby/RubyIO;
MethodParameters:
Name Flags
out
boolean isProfilerInvocation(org.jruby.runtime.profile.builtin.Invocation);
descriptor: (Lorg/jruby/runtime/profile/builtin/Invocation;)Z
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.jruby.runtime.profile.builtin.Invocation.getMethodSerialNumber:()I
invokevirtual org.jruby.runtime.profile.builtin.ProfilePrinter.isThisProfilerInvocation:(I)Z
ifne 3
1: aload 1
invokevirtual org.jruby.runtime.profile.builtin.Invocation.getParent:()Lorg/jruby/runtime/profile/builtin/Invocation;
ifnull 2
aload 0
aload 1
invokevirtual org.jruby.runtime.profile.builtin.Invocation.getParent:()Lorg/jruby/runtime/profile/builtin/Invocation;
invokevirtual org.jruby.runtime.profile.builtin.ProfilePrinter.isProfilerInvocation:(Lorg/jruby/runtime/profile/builtin/Invocation;)Z
ifne 3
2: StackMap locals:
StackMap stack:
iconst_0
ireturn
StackMap locals:
StackMap stack:
3: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jruby/runtime/profile/builtin/ProfilePrinter;
0 4 1 inv Lorg/jruby/runtime/profile/builtin/Invocation;
MethodParameters:
Name Flags
inv
boolean isThisProfilerInvocation(int);
descriptor: (I)Z
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual org.jruby.runtime.profile.builtin.ProfilePrinter.methodName:(I)Ljava/lang/String;
astore 2
start local 2 1: aload 2
invokevirtual java.lang.String.hashCode:()I
ldc "JRuby::Profiler.start"
invokevirtual java.lang.String.hashCode:()I
if_icmpne 2
aload 2
ldc "JRuby::Profiler.start"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 4
2: StackMap locals: java.lang.String
StackMap stack:
aload 2
invokevirtual java.lang.String.hashCode:()I
ldc "JRuby::Profiler.stop"
invokevirtual java.lang.String.hashCode:()I
if_icmpne 3
aload 2
ldc "JRuby::Profiler.stop"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 4
3: StackMap locals:
StackMap stack:
iconst_0
ireturn
StackMap locals:
StackMap stack:
4: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/jruby/runtime/profile/builtin/ProfilePrinter;
0 5 1 serial I
1 5 2 name Ljava/lang/String;
MethodParameters:
Name Flags
serial
public java.lang.String getThreadName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.runtime.profile.builtin.ProfilePrinter.getProfileData:()Lorg/jruby/runtime/profile/builtin/ProfileData;
invokevirtual org.jruby.runtime.profile.builtin.ProfileData.getThreadContext:()Lorg/jruby/runtime/ThreadContext;
invokevirtual org.jruby.runtime.ThreadContext.getThread:()Lorg/jruby/RubyThread;
ifnonnull 2
1: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getName:()Ljava/lang/String;
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.runtime.profile.builtin.ProfilePrinter.getProfileData:()Lorg/jruby/runtime/profile/builtin/ProfileData;
invokevirtual org.jruby.runtime.profile.builtin.ProfileData.getThreadContext:()Lorg/jruby/runtime/ThreadContext;
invokevirtual org.jruby.runtime.ThreadContext.getThread:()Lorg/jruby/RubyThread;
invokevirtual org.jruby.RubyThread.getNativeThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getName:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/runtime/profile/builtin/ProfilePrinter;
public java.lang.String methodName(int);
descriptor: (I)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.runtime.profile.builtin.ProfilePrinter.profileData:Lorg/jruby/runtime/profile/builtin/ProfileData;
iload 1
invokevirtual org.jruby.runtime.profile.builtin.ProfileData.methodName:(I)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/ProfilePrinter;
0 1 1 serial I
MethodParameters:
Name Flags
serial
static java.lang.String methodName(org.jruby.runtime.profile.builtin.ProfiledMethod);
descriptor: (Lorg/jruby/runtime/profile/builtin/ProfiledMethod;)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: aload 0
ifnull 6
1: aload 0
invokevirtual org.jruby.runtime.profile.builtin.ProfiledMethod.getMethod:()Lorg/jruby/internal/runtime/methods/DynamicMethod;
astore 2
start local 2 2: aload 0
invokevirtual org.jruby.runtime.profile.builtin.ProfiledMethod.getName:()Ljava/lang/String;
astore 3
start local 3 3: aload 3
ifnonnull 4
aload 2
invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.getName:()Ljava/lang/String;
astore 3
4: StackMap locals: org.jruby.runtime.profile.builtin.ProfiledMethod top org.jruby.internal.runtime.methods.DynamicMethod java.lang.String
StackMap stack:
aload 2
invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.getImplementationClass:()Lorg/jruby/RubyModule;
aload 3
invokevirtual java.lang.String.toString:()Ljava/lang/String;
invokestatic org.jruby.runtime.profile.builtin.ProfilePrinter.moduleHashMethod:(Lorg/jruby/RubyModule;Ljava/lang/String;)Ljava/lang/String;
astore 1
end local 3 end local 2 start local 1 5: goto 7
end local 1 6: StackMap locals: org.jruby.runtime.profile.builtin.ProfiledMethod
StackMap stack:
ldc "<unknown>"
astore 1
start local 1 7: StackMap locals: java.lang.String
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 profileMethod Lorg/jruby/runtime/profile/builtin/ProfiledMethod;
5 6 1 displayName Ljava/lang/String;
7 8 1 displayName Ljava/lang/String;
2 5 2 method Lorg/jruby/internal/runtime/methods/DynamicMethod;
3 5 3 id Ljava/lang/String;
MethodParameters:
Name Flags
profileMethod
protected static org.jruby.util.collections.IntHashMap<org.jruby.runtime.profile.builtin.MethodData> methodData(org.jruby.runtime.profile.builtin.Invocation);
descriptor: (Lorg/jruby/runtime/profile/builtin/Invocation;)Lorg/jruby/util/collections/IntHashMap;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: new org.jruby.util.collections.IntHashMap
dup
invokespecial org.jruby.util.collections.IntHashMap.<init>:()V
astore 1
start local 1 1: new org.jruby.runtime.profile.builtin.MethodData
dup
iconst_0
invokespecial org.jruby.runtime.profile.builtin.MethodData.<init>:(I)V
astore 2
start local 2 2: aload 1
iconst_0
aload 2
invokevirtual org.jruby.util.collections.IntHashMap.put:(ILjava/lang/Object;)Ljava/lang/Object;
pop
3: aload 2
getfield org.jruby.runtime.profile.builtin.MethodData.invocations:Ljava/util/List;
aload 0
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
4: aload 1
aload 0
invokestatic org.jruby.runtime.profile.builtin.ProfilePrinter.methodData1:(Lorg/jruby/util/collections/IntHashMap;Lorg/jruby/runtime/profile/builtin/Invocation;)V
5: aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 top Lorg/jruby/runtime/profile/builtin/Invocation;
1 6 1 methods Lorg/jruby/util/collections/IntHashMap<Lorg/jruby/runtime/profile/builtin/MethodData;>;
2 6 2 data Lorg/jruby/runtime/profile/builtin/MethodData;
Signature: (Lorg/jruby/runtime/profile/builtin/Invocation;)Lorg/jruby/util/collections/IntHashMap<Lorg/jruby/runtime/profile/builtin/MethodData;>;
MethodParameters:
Name Flags
top
private static void methodData1(org.jruby.util.collections.IntHashMap<org.jruby.runtime.profile.builtin.MethodData>, org.jruby.runtime.profile.builtin.Invocation);
descriptor: (Lorg/jruby/util/collections/IntHashMap;Lorg/jruby/runtime/profile/builtin/Invocation;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.jruby.runtime.profile.builtin.Invocation.getChildren:()Lorg/jruby/util/collections/IntHashMap;
invokevirtual org.jruby.util.collections.IntHashMap.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 3
goto 10
StackMap locals: org.jruby.util.collections.IntHashMap org.jruby.runtime.profile.builtin.Invocation top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.jruby.util.collections.IntHashMap$Entry
astore 2
start local 2 2: aload 2
invokevirtual org.jruby.util.collections.IntHashMap$Entry.getValue:()Ljava/lang/Object;
checkcast org.jruby.runtime.profile.builtin.Invocation
astore 4
start local 4 3: aload 4
invokevirtual org.jruby.runtime.profile.builtin.Invocation.getMethodSerialNumber:()I
istore 5
start local 5 4: aload 0
iload 5
invokevirtual org.jruby.util.collections.IntHashMap.get:(I)Ljava/lang/Object;
checkcast org.jruby.runtime.profile.builtin.MethodData
astore 6
start local 6 5: aload 6
ifnonnull 8
6: new org.jruby.runtime.profile.builtin.MethodData
dup
iload 5
invokespecial org.jruby.runtime.profile.builtin.MethodData.<init>:(I)V
astore 6
7: aload 0
iload 5
aload 6
invokevirtual org.jruby.util.collections.IntHashMap.put:(ILjava/lang/Object;)Ljava/lang/Object;
pop
8: StackMap locals: org.jruby.util.collections.IntHashMap org.jruby.runtime.profile.builtin.Invocation org.jruby.util.collections.IntHashMap$Entry java.util.Iterator org.jruby.runtime.profile.builtin.Invocation int org.jruby.runtime.profile.builtin.MethodData
StackMap stack:
aload 6
getfield org.jruby.runtime.profile.builtin.MethodData.invocations:Ljava/util/List;
aload 4
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
9: aload 0
aload 4
invokestatic org.jruby.runtime.profile.builtin.ProfilePrinter.methodData1:(Lorg/jruby/util/collections/IntHashMap;Lorg/jruby/runtime/profile/builtin/Invocation;)V
end local 6 end local 5 end local 4 end local 2 10: StackMap locals: org.jruby.util.collections.IntHashMap org.jruby.runtime.profile.builtin.Invocation top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
11: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 methods Lorg/jruby/util/collections/IntHashMap<Lorg/jruby/runtime/profile/builtin/MethodData;>;
0 12 1 inv Lorg/jruby/runtime/profile/builtin/Invocation;
2 10 2 entry Lorg/jruby/util/collections/IntHashMap$Entry<Lorg/jruby/runtime/profile/builtin/Invocation;>;
3 10 4 child Lorg/jruby/runtime/profile/builtin/Invocation;
4 10 5 serial I
5 10 6 data Lorg/jruby/runtime/profile/builtin/MethodData;
Signature: (Lorg/jruby/util/collections/IntHashMap<Lorg/jruby/runtime/profile/builtin/MethodData;>;Lorg/jruby/runtime/profile/builtin/Invocation;)V
MethodParameters:
Name Flags
methods final
inv
private static java.lang.String moduleHashMethod(org.jruby.RubyModule, java.lang.String);
descriptor: (Lorg/jruby/RubyModule;Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
astore 2
start local 2 1: aload 0
instanceof org.jruby.MetaClass
ifeq 8
2: aload 0
checkcast org.jruby.MetaClass
invokevirtual org.jruby.MetaClass.getAttached:()Lorg/jruby/RubyBasicObject;
astore 3
start local 3 3: aload 3
instanceof org.jruby.RubyModule
ifeq 5
4: aload 2
aload 2
aload 3
checkcast org.jruby.RubyModule
invokestatic org.jruby.util.RubyStringBuilder.types:(Lorg/jruby/Ruby;Lorg/jruby/RubyModule;)Lorg/jruby/RubyString;
ldc "."
aload 2
aload 1
invokestatic org.jruby.util.RubyStringBuilder.ids:(Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/RubyString;
invokestatic org.jruby.util.RubyStringBuilder.str:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/String;
areturn
5: StackMap locals: org.jruby.Ruby org.jruby.RubyBasicObject
StackMap stack:
aload 3
instanceof org.jruby.RubyObject
ifeq 7
6: aload 2
aload 2
aload 3
invokevirtual org.jruby.RubyBasicObject.getType:()Lorg/jruby/RubyClass;
invokestatic org.jruby.util.RubyStringBuilder.types:(Lorg/jruby/Ruby;Lorg/jruby/RubyModule;)Lorg/jruby/RubyString;
ldc "(singleton)#"
aload 2
aload 1
invokestatic org.jruby.util.RubyStringBuilder.ids:(Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/RubyString;
invokestatic org.jruby.util.RubyStringBuilder.str:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/String;
areturn
7: StackMap locals:
StackMap stack:
aload 2
ldc "unknown#"
aload 2
aload 1
invokestatic org.jruby.util.RubyStringBuilder.ids:(Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/RubyString;
invokestatic org.jruby.util.RubyStringBuilder.str:(Lorg/jruby/Ruby;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/String;
areturn
end local 3 8: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.RubyModule.isSingleton:()Z
ifeq 10
9: aload 2
aload 2
aload 0
checkcast org.jruby.RubyClass
invokevirtual org.jruby.RubyClass.getRealClass:()Lorg/jruby/RubyClass;
invokestatic org.jruby.util.RubyStringBuilder.types:(Lorg/jruby/Ruby;Lorg/jruby/RubyModule;)Lorg/jruby/RubyString;
ldc "(singleton)#"
aload 2
aload 1
invokestatic org.jruby.util.RubyStringBuilder.ids:(Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/RubyString;
invokestatic org.jruby.util.RubyStringBuilder.str:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/String;
areturn
10: StackMap locals:
StackMap stack:
aload 0
instanceof org.jruby.RubyClass
ifeq 12
11: aload 2
aload 2
aload 0
invokestatic org.jruby.util.RubyStringBuilder.types:(Lorg/jruby/Ruby;Lorg/jruby/RubyModule;)Lorg/jruby/RubyString;
ldc "#"
aload 2
aload 1
invokestatic org.jruby.util.RubyStringBuilder.ids:(Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/RubyString;
invokestatic org.jruby.util.RubyStringBuilder.str:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/String;
areturn
12: StackMap locals:
StackMap stack:
aload 2
aload 2
aload 0
invokestatic org.jruby.util.RubyStringBuilder.types:(Lorg/jruby/Ruby;Lorg/jruby/RubyModule;)Lorg/jruby/RubyString;
ldc "."
aload 2
aload 1
invokestatic org.jruby.util.RubyStringBuilder.ids:(Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/RubyString;
invokestatic org.jruby.util.RubyStringBuilder.str:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 module Lorg/jruby/RubyModule;
0 13 1 id Ljava/lang/String;
1 13 2 runtime Lorg/jruby/Ruby;
3 8 3 obj Lorg/jruby/RubyBasicObject;
MethodParameters:
Name Flags
module
id
protected static void pad(java.io.PrintStream, int, java.lang.String);
descriptor: (Ljava/io/PrintStream;ILjava/lang/String;)V
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
aload 2
iconst_1
invokestatic org.jruby.runtime.profile.builtin.ProfilePrinter.pad:(Ljava/io/PrintStream;ILjava/lang/String;Z)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 out Ljava/io/PrintStream;
0 2 1 size I
0 2 2 body Ljava/lang/String;
MethodParameters:
Name Flags
out
size
body
protected static void pad(java.io.PrintStream, int, java.lang.String, boolean);
descriptor: (Ljava/io/PrintStream;ILjava/lang/String;Z)V
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 3
ifeq 6
1: iconst_0
istore 4
start local 4 2: goto 5
3: StackMap locals: int
StackMap stack:
aload 0
bipush 32
invokevirtual java.io.PrintStream.print:(C)V
4: iinc 4 1
StackMap locals:
StackMap stack:
5: iload 4
iload 1
aload 2
invokevirtual java.lang.String.length:()I
isub
if_icmplt 3
end local 4 6: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
7: iload 3
ifne 13
8: iconst_0
istore 4
start local 4 9: goto 12
10: StackMap locals: int
StackMap stack:
aload 0
bipush 32
invokevirtual java.io.PrintStream.print:(C)V
11: iinc 4 1
StackMap locals:
StackMap stack:
12: iload 4
iload 1
aload 2
invokevirtual java.lang.String.length:()I
isub
if_icmplt 10
end local 4 13: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 out Ljava/io/PrintStream;
0 14 1 size I
0 14 2 body Ljava/lang/String;
0 14 3 front Z
2 6 4 i I
9 13 4 i I
MethodParameters:
Name Flags
out
size
body
front
protected static java.lang.String nanoString(long);
descriptor: (J)Ljava/lang/String;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=5, locals=3, args_size=1
start local 0 0: new java.text.DecimalFormat
dup
ldc "##0.00"
invokespecial java.text.DecimalFormat.<init>:(Ljava/lang/String;)V
astore 2
start local 2 1: aload 2
lload 0
l2d
ldc 1.0E9
ddiv
invokevirtual java.text.DecimalFormat.format:(D)Ljava/lang/String;
areturn
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 nanoTime J
1 2 2 formatter Ljava/text/DecimalFormat;
MethodParameters:
Name Flags
nanoTime
}
SourceFile: "ProfilePrinter.java"
InnerClasses:
public final ProfilingMode = org.jruby.RubyInstanceConfig$ProfilingMode of org.jruby.RubyInstanceConfig
public Entry = org.jruby.util.collections.IntHashMap$Entry of org.jruby.util.collections.IntHashMap