public class org.jruby.runtime.profile.ProfilingServiceLookup
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.jruby.runtime.profile.ProfilingServiceLookup
super_class: java.lang.Object
{
private final org.jruby.Ruby runtime;
descriptor: Lorg/jruby/Ruby;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private org.jruby.runtime.profile.ProfilingService service;
descriptor: Lorg/jruby/runtime/profile/ProfilingService;
flags: (0x0002) ACC_PRIVATE
private static volatile int[] $SWITCH_TABLE$org$jruby$RubyInstanceConfig$ProfilingMode;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
public void <init>(org.jruby.Ruby);
descriptor: (Lorg/jruby/Ruby;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
ifnonnull 3
2: new java.lang.IllegalArgumentException
dup
ldc "Given runtime must not be null."
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: org.jruby.runtime.profile.ProfilingServiceLookup org.jruby.Ruby
StackMap stack:
aload 0
aload 1
putfield org.jruby.runtime.profile.ProfilingServiceLookup.runtime:Lorg/jruby/Ruby;
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/jruby/runtime/profile/ProfilingServiceLookup;
0 5 1 runtime Lorg/jruby/Ruby;
MethodParameters:
Name Flags
runtime final
public org.jruby.runtime.profile.ProfilingService getService();
descriptor: ()Lorg/jruby/runtime/profile/ProfilingService;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.runtime.profile.ProfilingServiceLookup.service:Lorg/jruby/runtime/profile/ProfilingService;
ifnonnull 1
aload 0
invokevirtual org.jruby.runtime.profile.ProfilingServiceLookup.newProfiler:()Lorg/jruby/runtime/profile/ProfilingService;
goto 2
StackMap locals:
StackMap stack:
1: aload 0
getfield org.jruby.runtime.profile.ProfilingServiceLookup.service:Lorg/jruby/runtime/profile/ProfilingService;
StackMap locals:
StackMap stack: org.jruby.runtime.profile.ProfilingService
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/runtime/profile/ProfilingServiceLookup;
private org.jruby.Ruby getRuntime();
descriptor: ()Lorg/jruby/Ruby;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.runtime.profile.ProfilingServiceLookup.runtime:Lorg/jruby/Ruby;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/runtime/profile/ProfilingServiceLookup;
private org.jruby.RubyInstanceConfig getConfig();
descriptor: ()Lorg/jruby/RubyInstanceConfig;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.runtime.profile.ProfilingServiceLookup.getRuntime:()Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getInstanceConfig:()Lorg/jruby/RubyInstanceConfig;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/runtime/profile/ProfilingServiceLookup;
private org.jruby.RubyInstanceConfig$ProfilingMode getProfilingMode();
descriptor: ()Lorg/jruby/RubyInstanceConfig$ProfilingMode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.runtime.profile.ProfilingServiceLookup.getConfig:()Lorg/jruby/RubyInstanceConfig;
invokevirtual org.jruby.RubyInstanceConfig.getProfilingMode:()Lorg/jruby/RubyInstanceConfig$ProfilingMode;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/runtime/profile/ProfilingServiceLookup;
private java.lang.String getServiceClassName();
descriptor: ()Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.runtime.profile.ProfilingServiceLookup.getConfig:()Lorg/jruby/RubyInstanceConfig;
invokevirtual org.jruby.RubyInstanceConfig.getProfilingService:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/runtime/profile/ProfilingServiceLookup;
private synchronized org.jruby.runtime.profile.ProfilingService newProfiler();
descriptor: ()Lorg/jruby/runtime/profile/ProfilingService;
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.runtime.profile.ProfilingServiceLookup.service:Lorg/jruby/runtime/profile/ProfilingService;
ifnonnull 7
1: invokestatic org.jruby.runtime.profile.ProfilingServiceLookup.$SWITCH_TABLE$org$jruby$RubyInstanceConfig$ProfilingMode:()[I
aload 0
invokevirtual org.jruby.runtime.profile.ProfilingServiceLookup.getProfilingMode:()Lorg/jruby/RubyInstanceConfig$ProfilingMode;
invokevirtual org.jruby.RubyInstanceConfig$ProfilingMode.ordinal:()I
iaload
tableswitch { // 7 - 7
7: 2
default: 6
}
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.runtime.profile.ProfilingServiceLookup.getServiceClassName:()Ljava/lang/String;
ifnull 3
aload 0
invokevirtual org.jruby.runtime.profile.ProfilingServiceLookup.getServiceClassName:()Ljava/lang/String;
invokevirtual java.lang.String.trim:()Ljava/lang/String;
invokevirtual java.lang.String.isEmpty:()Z
ifeq 4
3: StackMap locals:
StackMap stack:
new java.lang.RuntimeException
dup
ldc "No profiling service property found."
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
aload 0
invokevirtual org.jruby.runtime.profile.ProfilingServiceLookup.newServiceInstance:()Lorg/jruby/runtime/profile/ProfilingService;
putfield org.jruby.runtime.profile.ProfilingServiceLookup.service:Lorg/jruby/runtime/profile/ProfilingService;
5: goto 7
6: StackMap locals:
StackMap stack:
aload 0
new org.jruby.runtime.profile.builtin.BuiltinProfilingService
dup
aload 0
getfield org.jruby.runtime.profile.ProfilingServiceLookup.runtime:Lorg/jruby/Ruby;
invokespecial org.jruby.runtime.profile.builtin.BuiltinProfilingService.<init>:(Lorg/jruby/Ruby;)V
putfield org.jruby.runtime.profile.ProfilingServiceLookup.service:Lorg/jruby/runtime/profile/ProfilingService;
7: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.runtime.profile.ProfilingServiceLookup.service:Lorg/jruby/runtime/profile/ProfilingService;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/jruby/runtime/profile/ProfilingServiceLookup;
private org.jruby.runtime.profile.ProfilingService newServiceInstance();
descriptor: ()Lorg/jruby/runtime/profile/ProfilingService;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.runtime.profile.ProfilingServiceLookup.loadServiceClass:()Ljava/lang/Class;
astore 1
start local 1 1: aload 1
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Lorg/jruby/Ruby;
aastore
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield org.jruby.runtime.profile.ProfilingServiceLookup.runtime:Lorg/jruby/Ruby;
aastore
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.jruby.runtime.profile.ProfilingService
2: areturn
3: StackMap locals: org.jruby.runtime.profile.ProfilingServiceLookup java.lang.Class
StackMap stack: java.lang.ReflectiveOperationException
astore 2
start local 2 4: new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "Can't create service service. "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getSimpleName:()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 java.lang.ReflectiveOperationException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/jruby/runtime/profile/ProfilingServiceLookup;
1 5 1 clazz Ljava/lang/Class<+Lorg/jruby/runtime/profile/ProfilingService;>;
4 5 2 e Ljava/lang/ReflectiveOperationException;
Exception table:
from to target type
1 2 3 Class java.lang.reflect.InvocationTargetException
1 2 3 Class java.lang.NoSuchMethodException
1 2 3 Class java.lang.InstantiationException
1 2 3 Class java.lang.IllegalAccessException
private java.lang.Class<? extends org.jruby.runtime.profile.ProfilingService> loadServiceClass();
descriptor: ()Ljava/lang/Class;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.runtime.profile.ProfilingServiceLookup.getRuntime:()Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getJRubyClassLoader:()Lorg/jruby/util/JRubyClassLoader;
astore 1
start local 1 1: aload 1
aload 0
invokevirtual org.jruby.runtime.profile.ProfilingServiceLookup.getServiceClassName:()Ljava/lang/String;
invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
2: areturn
3: StackMap locals: org.jruby.runtime.profile.ProfilingServiceLookup java.lang.ClassLoader
StackMap stack: java.lang.ClassNotFoundException
astore 2
start local 2 4: new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "Can't load service service class. "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getSimpleName:()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 java.lang.ClassNotFoundException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/jruby/runtime/profile/ProfilingServiceLookup;
1 5 1 cl Ljava/lang/ClassLoader;
4 5 2 e Ljava/lang/ClassNotFoundException;
Exception table:
from to target type
1 2 3 Class java.lang.ClassNotFoundException
Signature: ()Ljava/lang/Class<+Lorg/jruby/runtime/profile/ProfilingService;>;
static int[] $SWITCH_TABLE$org$jruby$RubyInstanceConfig$ProfilingMode();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic org.jruby.runtime.profile.ProfilingServiceLookup.$SWITCH_TABLE$org$jruby$RubyInstanceConfig$ProfilingMode:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic org.jruby.RubyInstanceConfig$ProfilingMode.values:()[Lorg/jruby/RubyInstanceConfig$ProfilingMode;
arraylength
newarray 10
astore 0
2: aload 0
getstatic org.jruby.RubyInstanceConfig$ProfilingMode.API:Lorg/jruby/RubyInstanceConfig$ProfilingMode;
invokevirtual org.jruby.RubyInstanceConfig$ProfilingMode.ordinal:()I
iconst_2
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic org.jruby.RubyInstanceConfig$ProfilingMode.FLAT:Lorg/jruby/RubyInstanceConfig$ProfilingMode;
invokevirtual org.jruby.RubyInstanceConfig$ProfilingMode.ordinal:()I
iconst_3
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic org.jruby.RubyInstanceConfig$ProfilingMode.GRAPH:Lorg/jruby/RubyInstanceConfig$ProfilingMode;
invokevirtual org.jruby.RubyInstanceConfig$ProfilingMode.ordinal:()I
iconst_4
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic org.jruby.RubyInstanceConfig$ProfilingMode.HTML:Lorg/jruby/RubyInstanceConfig$ProfilingMode;
invokevirtual org.jruby.RubyInstanceConfig$ProfilingMode.ordinal:()I
iconst_5
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic org.jruby.RubyInstanceConfig$ProfilingMode.JSON:Lorg/jruby/RubyInstanceConfig$ProfilingMode;
invokevirtual org.jruby.RubyInstanceConfig$ProfilingMode.ordinal:()I
bipush 6
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic org.jruby.RubyInstanceConfig$ProfilingMode.OFF:Lorg/jruby/RubyInstanceConfig$ProfilingMode;
invokevirtual org.jruby.RubyInstanceConfig$ProfilingMode.ordinal:()I
iconst_1
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
getstatic org.jruby.RubyInstanceConfig$ProfilingMode.SERVICE:Lorg/jruby/RubyInstanceConfig$ProfilingMode;
invokevirtual org.jruby.RubyInstanceConfig$ProfilingMode.ordinal:()I
bipush 7
iastore
21: goto 23
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
22: pop
StackMap locals:
StackMap stack:
23: aload 0
dup
putstatic org.jruby.runtime.profile.ProfilingServiceLookup.$SWITCH_TABLE$org$jruby$RubyInstanceConfig$ProfilingMode:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
17 18 19 Class java.lang.NoSuchFieldError
20 21 22 Class java.lang.NoSuchFieldError
}
SourceFile: "ProfilingServiceLookup.java"
InnerClasses:
public final ProfilingMode = org.jruby.RubyInstanceConfig$ProfilingMode of org.jruby.RubyInstanceConfig