public class org.jruby.runtime.MethodIndex
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.jruby.runtime.MethodIndex
super_class: java.lang.Object
{
private static final boolean DEBUG;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final org.jruby.util.log.Logger LOG;
descriptor: Lorg/jruby/util/log/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
public static final int NO_METHOD;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public static final int OP_EQUAL;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public static final int EQL;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public static final int HASH;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public static final int OP_CMP;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public static final int MAX_METHODS;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public static final java.lang.String[] METHOD_NAMES;
descriptor: [Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public static final java.util.Set<java.lang.String> FRAME_AWARE_METHODS;
descriptor: Ljava/util/Set;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Set<Ljava/lang/String;>;
public static final java.util.Set<java.lang.String> SCOPE_AWARE_METHODS;
descriptor: Ljava/util/Set;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Set<Ljava/lang/String;>;
public static final java.util.Map<java.lang.String, java.util.Set<org.jruby.anno.FrameField>> METHOD_FRAME_READS;
descriptor: Ljava/util/Map;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/util/Set<Lorg/jruby/anno/FrameField;>;>;
public static final java.util.Map<java.lang.String, java.util.Set<org.jruby.anno.FrameField>> METHOD_FRAME_WRITES;
descriptor: Ljava/util/Map;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/util/Set<Lorg/jruby/anno/FrameField;>;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: ldc Lorg/jruby/runtime/MethodIndex;
invokestatic org.jruby.util.log.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/jruby/util/log/Logger;
putstatic org.jruby.runtime.MethodIndex.LOG:Lorg/jruby/util/log/Logger;
1: getstatic org.jruby.runtime.invokedynamic.MethodNames.DUMMY:Lorg/jruby/runtime/invokedynamic/MethodNames;
invokevirtual org.jruby.runtime.invokedynamic.MethodNames.ordinal:()I
putstatic org.jruby.runtime.MethodIndex.NO_METHOD:I
2: getstatic org.jruby.runtime.invokedynamic.MethodNames.OP_EQUAL:Lorg/jruby/runtime/invokedynamic/MethodNames;
invokevirtual org.jruby.runtime.invokedynamic.MethodNames.ordinal:()I
putstatic org.jruby.runtime.MethodIndex.OP_EQUAL:I
3: getstatic org.jruby.runtime.invokedynamic.MethodNames.EQL:Lorg/jruby/runtime/invokedynamic/MethodNames;
invokevirtual org.jruby.runtime.invokedynamic.MethodNames.ordinal:()I
putstatic org.jruby.runtime.MethodIndex.EQL:I
4: getstatic org.jruby.runtime.invokedynamic.MethodNames.HASH:Lorg/jruby/runtime/invokedynamic/MethodNames;
invokevirtual org.jruby.runtime.invokedynamic.MethodNames.ordinal:()I
putstatic org.jruby.runtime.MethodIndex.HASH:I
5: getstatic org.jruby.runtime.invokedynamic.MethodNames.OP_CMP:Lorg/jruby/runtime/invokedynamic/MethodNames;
invokevirtual org.jruby.runtime.invokedynamic.MethodNames.ordinal:()I
putstatic org.jruby.runtime.MethodIndex.OP_CMP:I
6: invokestatic org.jruby.runtime.invokedynamic.MethodNames.values:()[Lorg/jruby/runtime/invokedynamic/MethodNames;
arraylength
putstatic org.jruby.runtime.MethodIndex.MAX_METHODS:I
7: iconst_5
anewarray java.lang.String
dup
iconst_0
8: ldc ""
aastore
dup
iconst_1
9: ldc "=="
aastore
dup
iconst_2
10: ldc "eql?"
aastore
dup
iconst_3
11: ldc "hash"
aastore
dup
iconst_4
12: ldc "<=>"
aastore
13: putstatic org.jruby.runtime.MethodIndex.METHOD_NAMES:[Ljava/lang/String;
14: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
invokestatic java.util.Collections.synchronizedSet:(Ljava/util/Set;)Ljava/util/Set;
putstatic org.jruby.runtime.MethodIndex.FRAME_AWARE_METHODS:Ljava/util/Set;
15: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
invokestatic java.util.Collections.synchronizedSet:(Ljava/util/Set;)Ljava/util/Set;
putstatic org.jruby.runtime.MethodIndex.SCOPE_AWARE_METHODS:Ljava/util/Set;
16: new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putstatic org.jruby.runtime.MethodIndex.METHOD_FRAME_READS:Ljava/util/Map;
17: new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putstatic org.jruby.runtime.MethodIndex.METHOD_FRAME_WRITES:Ljava/util/Map;
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 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/runtime/MethodIndex;
public static org.jruby.runtime.CallSite getCallSite(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/jruby/runtime/CallSite;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
ldc "respond_to?"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 1
new org.jruby.runtime.callsite.RespondToCallSite
dup
invokespecial org.jruby.runtime.callsite.RespondToCallSite.<init>:()V
areturn
1: StackMap locals:
StackMap stack:
aconst_null
astore 1
start local 1 2: getstatic org.jruby.RubyInstanceConfig.FASTOPS_COMPILE_ENABLED:Z
ifeq 4
getstatic org.jruby.RubyInstanceConfig.FULL_TRACE_ENABLED:Z
ifne 4
3: aload 0
invokestatic org.jruby.runtime.MethodIndex.getFastFixnumOpsCallSite:(Ljava/lang/String;)Lorg/jruby/runtime/CallSite;
astore 1
4: StackMap locals: org.jruby.runtime.CallSite
StackMap stack:
aload 1
ifnull 5
aload 1
goto 6
StackMap locals:
StackMap stack:
5: new org.jruby.runtime.callsite.MonomorphicCallSite
dup
aload 0
invokespecial org.jruby.runtime.callsite.MonomorphicCallSite.<init>:(Ljava/lang/String;)V
StackMap locals:
StackMap stack: org.jruby.runtime.CallSite
6: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 name Ljava/lang/String;
2 7 1 callSite Lorg/jruby/runtime/CallSite;
MethodParameters:
Name Flags
name
public static org.jruby.runtime.CallSite getProfilingCallSite(java.lang.String, org.jruby.ir.IRScope, long);
descriptor: (Ljava/lang/String;Lorg/jruby/ir/IRScope;J)Lorg/jruby/runtime/CallSite;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
ldc "respond_to?"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 1
new org.jruby.runtime.callsite.RespondToCallSite
dup
invokespecial org.jruby.runtime.callsite.RespondToCallSite.<init>:()V
areturn
1: StackMap locals:
StackMap stack:
aconst_null
astore 4
start local 4 2: getstatic org.jruby.RubyInstanceConfig.FASTOPS_COMPILE_ENABLED:Z
ifeq 4
getstatic org.jruby.RubyInstanceConfig.FULL_TRACE_ENABLED:Z
ifne 4
3: aload 0
invokestatic org.jruby.runtime.MethodIndex.getFastFixnumOpsCallSite:(Ljava/lang/String;)Lorg/jruby/runtime/CallSite;
astore 4
4: StackMap locals: org.jruby.runtime.CallSite
StackMap stack:
aload 4
ifnull 5
aload 4
goto 6
StackMap locals:
StackMap stack:
5: new org.jruby.runtime.callsite.ProfilingCachingCallSite
dup
aload 0
aload 1
lload 2
invokespecial org.jruby.runtime.callsite.ProfilingCachingCallSite.<init>:(Ljava/lang/String;Lorg/jruby/ir/IRScope;J)V
StackMap locals:
StackMap stack: org.jruby.runtime.CallSite
6: areturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 name Ljava/lang/String;
0 7 1 scope Lorg/jruby/ir/IRScope;
0 7 2 callsiteId J
2 7 4 callSite Lorg/jruby/runtime/CallSite;
MethodParameters:
Name Flags
name
scope
callsiteId
public static boolean hasFastFixnumOps(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic org.jruby.runtime.MethodIndex.getFastFixnumOpsMethod:(Ljava/lang/String;)Ljava/lang/String;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 name Ljava/lang/String;
MethodParameters:
Name Flags
name
public static java.lang.String getFastFixnumOpsMethod(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
dup
astore 1
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 16
37: 1
38: 2
42: 3
43: 4
45: 5
47: 6
60: 7
62: 8
94: 9
124: 10
1920: 11
1921: 12
1952: 13
1983: 14
1984: 15
59613: 16
default: 33
}
StackMap locals: java.lang.String
StackMap stack:
1: aload 1
ldc "%"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 20
goto 33
StackMap locals:
StackMap stack:
2: aload 1
ldc "&"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 22
goto 33
StackMap locals:
StackMap stack:
3: aload 1
ldc "*"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 19
goto 33
StackMap locals:
StackMap stack:
4: aload 1
ldc "+"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 17
goto 33
StackMap locals:
StackMap stack:
5: aload 1
ldc "-"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 18
goto 33
StackMap locals:
StackMap stack:
6: aload 1
ldc "/"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 21
goto 33
StackMap locals:
StackMap stack:
7: aload 1
ldc "<"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 28
goto 33
StackMap locals:
StackMap stack:
8: aload 1
ldc ">"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 30
goto 33
StackMap locals:
StackMap stack:
9: aload 1
ldc "^"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 24
goto 33
StackMap locals:
StackMap stack:
10: aload 1
ldc "|"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 23
goto 33
StackMap locals:
StackMap stack:
11: aload 1
ldc "<<"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 26
goto 33
StackMap locals:
StackMap stack:
12: aload 1
ldc "<="
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 29
goto 33
StackMap locals:
StackMap stack:
13: aload 1
ldc "=="
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 27
goto 33
StackMap locals:
StackMap stack:
14: aload 1
ldc ">="
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 31
goto 33
StackMap locals:
StackMap stack:
15: aload 1
ldc ">>"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 25
goto 33
StackMap locals:
StackMap stack:
16: aload 1
ldc "<=>"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 32
goto 33
17: StackMap locals:
StackMap stack:
ldc "op_plus"
areturn
18: StackMap locals:
StackMap stack:
ldc "op_minus"
areturn
19: StackMap locals:
StackMap stack:
ldc "op_mul"
areturn
20: StackMap locals:
StackMap stack:
ldc "op_mod"
areturn
21: StackMap locals:
StackMap stack:
ldc "op_div"
areturn
22: StackMap locals:
StackMap stack:
ldc "op_and"
areturn
23: StackMap locals:
StackMap stack:
ldc "op_or"
areturn
24: StackMap locals:
StackMap stack:
ldc "op_xor"
areturn
25: StackMap locals:
StackMap stack:
ldc "op_rshift"
areturn
26: StackMap locals:
StackMap stack:
ldc "op_lshift"
areturn
27: StackMap locals:
StackMap stack:
ldc "op_equal"
areturn
28: StackMap locals:
StackMap stack:
ldc "op_lt"
areturn
29: StackMap locals:
StackMap stack:
ldc "op_le"
areturn
30: StackMap locals:
StackMap stack:
ldc "op_gt"
areturn
31: StackMap locals:
StackMap stack:
ldc "op_ge"
areturn
32: StackMap locals:
StackMap stack:
ldc "op_cmp"
areturn
33: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 name Ljava/lang/String;
MethodParameters:
Name Flags
name
public static org.jruby.runtime.CallSite getFastFixnumOpsCallSite(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/jruby/runtime/CallSite;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
dup
astore 1
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 16
37: 1
38: 2
42: 3
43: 4
45: 5
47: 6
60: 7
62: 8
94: 9
124: 10
1920: 11
1921: 12
1952: 13
1983: 14
1984: 15
59613: 16
default: 33
}
StackMap locals: java.lang.String
StackMap stack:
1: aload 1
ldc "%"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 20
goto 33
StackMap locals:
StackMap stack:
2: aload 1
ldc "&"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 22
goto 33
StackMap locals:
StackMap stack:
3: aload 1
ldc "*"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 19
goto 33
StackMap locals:
StackMap stack:
4: aload 1
ldc "+"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 17
goto 33
StackMap locals:
StackMap stack:
5: aload 1
ldc "-"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 18
goto 33
StackMap locals:
StackMap stack:
6: aload 1
ldc "/"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 21
goto 33
StackMap locals:
StackMap stack:
7: aload 1
ldc "<"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 28
goto 33
StackMap locals:
StackMap stack:
8: aload 1
ldc ">"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 30
goto 33
StackMap locals:
StackMap stack:
9: aload 1
ldc "^"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 24
goto 33
StackMap locals:
StackMap stack:
10: aload 1
ldc "|"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 23
goto 33
StackMap locals:
StackMap stack:
11: aload 1
ldc "<<"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 26
goto 33
StackMap locals:
StackMap stack:
12: aload 1
ldc "<="
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 29
goto 33
StackMap locals:
StackMap stack:
13: aload 1
ldc "=="
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 27
goto 33
StackMap locals:
StackMap stack:
14: aload 1
ldc ">="
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 31
goto 33
StackMap locals:
StackMap stack:
15: aload 1
ldc ">>"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 25
goto 33
StackMap locals:
StackMap stack:
16: aload 1
ldc "<=>"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 32
goto 33
17: StackMap locals:
StackMap stack:
new org.jruby.runtime.callsite.PlusCallSite
dup
invokespecial org.jruby.runtime.callsite.PlusCallSite.<init>:()V
areturn
18: StackMap locals:
StackMap stack:
new org.jruby.runtime.callsite.MinusCallSite
dup
invokespecial org.jruby.runtime.callsite.MinusCallSite.<init>:()V
areturn
19: StackMap locals:
StackMap stack:
new org.jruby.runtime.callsite.MulCallSite
dup
invokespecial org.jruby.runtime.callsite.MulCallSite.<init>:()V
areturn
20: StackMap locals:
StackMap stack:
new org.jruby.runtime.callsite.ModCallSite
dup
invokespecial org.jruby.runtime.callsite.ModCallSite.<init>:()V
areturn
21: StackMap locals:
StackMap stack:
new org.jruby.runtime.callsite.DivCallSite
dup
invokespecial org.jruby.runtime.callsite.DivCallSite.<init>:()V
areturn
22: StackMap locals:
StackMap stack:
new org.jruby.runtime.callsite.BitAndCallSite
dup
invokespecial org.jruby.runtime.callsite.BitAndCallSite.<init>:()V
areturn
23: StackMap locals:
StackMap stack:
new org.jruby.runtime.callsite.BitOrCallSite
dup
invokespecial org.jruby.runtime.callsite.BitOrCallSite.<init>:()V
areturn
24: StackMap locals:
StackMap stack:
new org.jruby.runtime.callsite.XorCallSite
dup
invokespecial org.jruby.runtime.callsite.XorCallSite.<init>:()V
areturn
25: StackMap locals:
StackMap stack:
new org.jruby.runtime.callsite.ShiftRightCallSite
dup
invokespecial org.jruby.runtime.callsite.ShiftRightCallSite.<init>:()V
areturn
26: StackMap locals:
StackMap stack:
new org.jruby.runtime.callsite.ShiftLeftCallSite
dup
invokespecial org.jruby.runtime.callsite.ShiftLeftCallSite.<init>:()V
areturn
27: StackMap locals:
StackMap stack:
new org.jruby.runtime.callsite.EqCallSite
dup
invokespecial org.jruby.runtime.callsite.EqCallSite.<init>:()V
areturn
28: StackMap locals:
StackMap stack:
new org.jruby.runtime.callsite.LtCallSite
dup
invokespecial org.jruby.runtime.callsite.LtCallSite.<init>:()V
areturn
29: StackMap locals:
StackMap stack:
new org.jruby.runtime.callsite.LeCallSite
dup
invokespecial org.jruby.runtime.callsite.LeCallSite.<init>:()V
areturn
30: StackMap locals:
StackMap stack:
new org.jruby.runtime.callsite.GtCallSite
dup
invokespecial org.jruby.runtime.callsite.GtCallSite.<init>:()V
areturn
31: StackMap locals:
StackMap stack:
new org.jruby.runtime.callsite.GeCallSite
dup
invokespecial org.jruby.runtime.callsite.GeCallSite.<init>:()V
areturn
32: StackMap locals:
StackMap stack:
new org.jruby.runtime.callsite.CmpCallSite
dup
invokespecial org.jruby.runtime.callsite.CmpCallSite.<init>:()V
areturn
33: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 name Ljava/lang/String;
MethodParameters:
Name Flags
name
public static boolean hasFastFloatOps(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic org.jruby.runtime.MethodIndex.getFastFloatOpsMethod:(Ljava/lang/String;)Ljava/lang/String;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 name Ljava/lang/String;
MethodParameters:
Name Flags
name
public static java.lang.String getFastFloatOpsMethod(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
dup
astore 1
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 11
37: 1
42: 2
43: 3
45: 4
47: 5
60: 6
62: 7
1921: 8
1952: 9
1983: 10
59613: 11
default: 23
}
StackMap locals: java.lang.String
StackMap stack:
1: aload 1
ldc "%"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 15
goto 23
StackMap locals:
StackMap stack:
2: aload 1
ldc "*"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 14
goto 23
StackMap locals:
StackMap stack:
3: aload 1
ldc "+"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 12
goto 23
StackMap locals:
StackMap stack:
4: aload 1
ldc "-"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 13
goto 23
StackMap locals:
StackMap stack:
5: aload 1
ldc "/"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 16
goto 23
StackMap locals:
StackMap stack:
6: aload 1
ldc "<"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 18
goto 23
StackMap locals:
StackMap stack:
7: aload 1
ldc ">"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 20
goto 23
StackMap locals:
StackMap stack:
8: aload 1
ldc "<="
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 19
goto 23
StackMap locals:
StackMap stack:
9: aload 1
ldc "=="
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 17
goto 23
StackMap locals:
StackMap stack:
10: aload 1
ldc ">="
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 21
goto 23
StackMap locals:
StackMap stack:
11: aload 1
ldc "<=>"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 22
goto 23
12: StackMap locals:
StackMap stack:
ldc "op_plus"
areturn
13: StackMap locals:
StackMap stack:
ldc "op_minus"
areturn
14: StackMap locals:
StackMap stack:
ldc "op_mul"
areturn
15: StackMap locals:
StackMap stack:
ldc "op_mod"
areturn
16: StackMap locals:
StackMap stack:
ldc "op_div"
areturn
17: StackMap locals:
StackMap stack:
ldc "op_equal"
areturn
18: StackMap locals:
StackMap stack:
ldc "op_lt"
areturn
19: StackMap locals:
StackMap stack:
ldc "op_le"
areturn
20: StackMap locals:
StackMap stack:
ldc "op_gt"
areturn
21: StackMap locals:
StackMap stack:
ldc "op_ge"
areturn
22: StackMap locals:
StackMap stack:
ldc "op_cmp"
areturn
23: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 name Ljava/lang/String;
MethodParameters:
Name Flags
name
public static org.jruby.runtime.CallSite getFastFloatOpsCallSite(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/jruby/runtime/CallSite;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
dup
astore 1
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 11
37: 1
42: 2
43: 3
45: 4
47: 5
60: 6
62: 7
1921: 8
1952: 9
1983: 10
59613: 11
default: 23
}
StackMap locals: java.lang.String
StackMap stack:
1: aload 1
ldc "%"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 15
goto 23
StackMap locals:
StackMap stack:
2: aload 1
ldc "*"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 14
goto 23
StackMap locals:
StackMap stack:
3: aload 1
ldc "+"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 12
goto 23
StackMap locals:
StackMap stack:
4: aload 1
ldc "-"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 13
goto 23
StackMap locals:
StackMap stack:
5: aload 1
ldc "/"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 16
goto 23
StackMap locals:
StackMap stack:
6: aload 1
ldc "<"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 18
goto 23
StackMap locals:
StackMap stack:
7: aload 1
ldc ">"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 20
goto 23
StackMap locals:
StackMap stack:
8: aload 1
ldc "<="
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 19
goto 23
StackMap locals:
StackMap stack:
9: aload 1
ldc "=="
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 17
goto 23
StackMap locals:
StackMap stack:
10: aload 1
ldc ">="
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 21
goto 23
StackMap locals:
StackMap stack:
11: aload 1
ldc "<=>"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 22
goto 23
12: StackMap locals:
StackMap stack:
new org.jruby.runtime.callsite.PlusCallSite
dup
invokespecial org.jruby.runtime.callsite.PlusCallSite.<init>:()V
areturn
13: StackMap locals:
StackMap stack:
new org.jruby.runtime.callsite.MinusCallSite
dup
invokespecial org.jruby.runtime.callsite.MinusCallSite.<init>:()V
areturn
14: StackMap locals:
StackMap stack:
new org.jruby.runtime.callsite.MulCallSite
dup
invokespecial org.jruby.runtime.callsite.MulCallSite.<init>:()V
areturn
15: StackMap locals:
StackMap stack:
new org.jruby.runtime.callsite.ModCallSite
dup
invokespecial org.jruby.runtime.callsite.ModCallSite.<init>:()V
areturn
16: StackMap locals:
StackMap stack:
new org.jruby.runtime.callsite.DivCallSite
dup
invokespecial org.jruby.runtime.callsite.DivCallSite.<init>:()V
areturn
17: StackMap locals:
StackMap stack:
new org.jruby.runtime.callsite.EqCallSite
dup
invokespecial org.jruby.runtime.callsite.EqCallSite.<init>:()V
areturn
18: StackMap locals:
StackMap stack:
new org.jruby.runtime.callsite.LtCallSite
dup
invokespecial org.jruby.runtime.callsite.LtCallSite.<init>:()V
areturn
19: StackMap locals:
StackMap stack:
new org.jruby.runtime.callsite.LeCallSite
dup
invokespecial org.jruby.runtime.callsite.LeCallSite.<init>:()V
areturn
20: StackMap locals:
StackMap stack:
new org.jruby.runtime.callsite.GtCallSite
dup
invokespecial org.jruby.runtime.callsite.GtCallSite.<init>:()V
areturn
21: StackMap locals:
StackMap stack:
new org.jruby.runtime.callsite.GeCallSite
dup
invokespecial org.jruby.runtime.callsite.GeCallSite.<init>:()V
areturn
22: StackMap locals:
StackMap stack:
new org.jruby.runtime.callsite.CmpCallSite
dup
invokespecial org.jruby.runtime.callsite.CmpCallSite.<init>:()V
areturn
23: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 name Ljava/lang/String;
MethodParameters:
Name Flags
name
public static org.jruby.runtime.CallSite getFunctionalCallSite(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/jruby/runtime/CallSite;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new org.jruby.runtime.callsite.FunctionalCachingCallSite
dup
aload 0
invokespecial org.jruby.runtime.callsite.FunctionalCachingCallSite.<init>:(Ljava/lang/String;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 name Ljava/lang/String;
MethodParameters:
Name Flags
name
public static org.jruby.runtime.CallSite getVariableCallSite(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/jruby/runtime/CallSite;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new org.jruby.runtime.callsite.VariableCachingCallSite
dup
aload 0
invokespecial org.jruby.runtime.callsite.VariableCachingCallSite.<init>:(Ljava/lang/String;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 name Ljava/lang/String;
MethodParameters:
Name Flags
name
public static org.jruby.runtime.CallSite getSuperCallSite();
descriptor: ()Lorg/jruby/runtime/CallSite;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new org.jruby.runtime.callsite.SuperCallSite
dup
invokespecial org.jruby.runtime.callsite.SuperCallSite.<init>:()V
areturn
LocalVariableTable:
Start End Slot Name Signature
public static void addMethodReadFieldsPacked(int, java.lang.String);
descriptor: (ILjava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: iload 0
aload 1
ldc "read"
getstatic org.jruby.runtime.MethodIndex.METHOD_FRAME_READS:Ljava/util/Map;
invokestatic org.jruby.runtime.MethodIndex.processFrameFields:(ILjava/lang/String;Ljava/lang/String;Ljava/util/Map;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 readBits I
0 2 1 methodsPacked Ljava/lang/String;
MethodParameters:
Name Flags
readBits
methodsPacked
public static void addMethodWriteFieldsPacked(int, java.lang.String);
descriptor: (ILjava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: iload 0
aload 1
ldc "write"
getstatic org.jruby.runtime.MethodIndex.METHOD_FRAME_WRITES:Ljava/util/Map;
invokestatic org.jruby.runtime.MethodIndex.processFrameFields:(ILjava/lang/String;Ljava/lang/String;Ljava/util/Map;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 writeBits I
0 2 1 methodsPacked Ljava/lang/String;
MethodParameters:
Name Flags
writeBits
methodsPacked
private static void processFrameFields(int, java.lang.String, java.lang.String, java.util.Map<java.lang.String, java.util.Set<org.jruby.anno.FrameField>>);
descriptor: (ILjava/lang/String;Ljava/lang/String;Ljava/util/Map;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 0
invokestatic org.jruby.anno.FrameField.unpack:(I)Ljava/util/Set;
astore 4
start local 4 1: iload 0
invokestatic org.jruby.anno.FrameField.needsFrame:(I)Z
istore 5
start local 5 2: iload 0
invokestatic org.jruby.anno.FrameField.needsScope:(I)Z
istore 6
start local 6 3: aload 4
invokeinterface java.util.Set.size:()I
ifle 7
4: aload 1
bipush 59
invokestatic org.jruby.util.StringSupport.split:(Ljava/lang/String;C)Ljava/util/List;
astore 7
start local 7 5: iload 5
iload 6
aload 7
invokestatic org.jruby.runtime.MethodIndex.addAwareness:(ZZLjava/util/List;)V
6: aload 3
aload 7
aload 4
invokestatic org.jruby.runtime.MethodIndex.addFieldAccesses:(Ljava/util/Map;Ljava/util/List;Ljava/util/Set;)V
end local 7 7: StackMap locals: java.util.Set int int
StackMap stack:
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 8 0 bits I
0 8 1 methodNames Ljava/lang/String;
0 8 2 usage Ljava/lang/String;
0 8 3 methodFrameAccesses Ljava/util/Map<Ljava/lang/String;Ljava/util/Set<Lorg/jruby/anno/FrameField;>;>;
1 8 4 writes Ljava/util/Set<Lorg/jruby/anno/FrameField;>;
2 8 5 needsFrame Z
3 8 6 needsScope Z
5 7 7 names Ljava/util/List<Ljava/lang/String;>;
Signature: (ILjava/lang/String;Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/util/Set<Lorg/jruby/anno/FrameField;>;>;)V
MethodParameters:
Name Flags
bits
methodNames
usage
methodFrameAccesses
private static void addFieldAccesses(java.util.Map<java.lang.String, java.util.Set<org.jruby.anno.FrameField>>, java.util.List<java.lang.String>, java.util.Set<org.jruby.anno.FrameField>);
descriptor: (Ljava/util/Map;Ljava/util/List;Ljava/util/Set;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 6
StackMap locals: java.util.Map java.util.List java.util.Set top java.util.Iterator
StackMap stack:
1: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 3
start local 3 2: aload 0
3: aload 3
4: aload 2
invokedynamic apply(Ljava/util/Set;)Ljava/util/function/BiFunction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
org/jruby/runtime/MethodIndex.lambda$0(Ljava/util/Set;Ljava/lang/String;Ljava/util/Set;)Ljava/util/Set; (6)
(Ljava/lang/String;Ljava/util/Set;)Ljava/util/Set;
5: invokeinterface java.util.Map.compute:(Ljava/lang/Object;Ljava/util/function/BiFunction;)Ljava/lang/Object;
pop
end local 3 6: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
7: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 methodFrameWrites Ljava/util/Map<Ljava/lang/String;Ljava/util/Set<Lorg/jruby/anno/FrameField;>;>;
0 8 1 names Ljava/util/List<Ljava/lang/String;>;
0 8 2 writes Ljava/util/Set<Lorg/jruby/anno/FrameField;>;
2 6 3 name Ljava/lang/String;
Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/util/Set<Lorg/jruby/anno/FrameField;>;>;Ljava/util/List<Ljava/lang/String;>;Ljava/util/Set<Lorg/jruby/anno/FrameField;>;)V
MethodParameters:
Name Flags
methodFrameWrites
names
writes
private static void addAwareness(boolean, boolean, java.util.List<java.lang.String>);
descriptor: (ZZLjava/util/List;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 0
ifeq 1
getstatic org.jruby.runtime.MethodIndex.FRAME_AWARE_METHODS:Ljava/util/Set;
aload 2
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
1: StackMap locals:
StackMap stack:
iload 1
ifeq 2
getstatic org.jruby.runtime.MethodIndex.SCOPE_AWARE_METHODS:Ljava/util/Set;
aload 2
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
2: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 needsFrame Z
0 3 1 needsScope Z
0 3 2 names Ljava/util/List<Ljava/lang/String;>;
Signature: (ZZLjava/util/List<Ljava/lang/String;>;)V
MethodParameters:
Name Flags
needsFrame
needsScope
names
public static void addMethodReadFields(java.lang.String, org.jruby.anno.FrameField[]);
descriptor: (Ljava/lang/String;[Lorg/jruby/anno/FrameField;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic org.jruby.anno.FrameField.pack:([Lorg/jruby/anno/FrameField;)I
aload 0
invokestatic org.jruby.runtime.MethodIndex.addMethodReadFieldsPacked:(ILjava/lang/String;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 name Ljava/lang/String;
0 2 1 reads [Lorg/jruby/anno/FrameField;
MethodParameters:
Name Flags
name
reads
public static void addMethodWriteFields(java.lang.String, org.jruby.anno.FrameField[]);
descriptor: (Ljava/lang/String;[Lorg/jruby/anno/FrameField;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic org.jruby.anno.FrameField.pack:([Lorg/jruby/anno/FrameField;)I
aload 0
invokestatic org.jruby.runtime.MethodIndex.addMethodWriteFieldsPacked:(ILjava/lang/String;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 name Ljava/lang/String;
0 2 1 write [Lorg/jruby/anno/FrameField;
MethodParameters:
Name Flags
name
write
public static void addFrameAwareMethods(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic org.jruby.runtime.MethodIndex.FRAME_AWARE_METHODS:Ljava/util/Set;
aload 0
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 methods [Ljava/lang/String;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
methods
public static void addScopeAwareMethods(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic org.jruby.runtime.MethodIndex.SCOPE_AWARE_METHODS:Ljava/util/Set;
aload 0
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 methods [Ljava/lang/String;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
methods
private static java.util.Set lambda$0(java.util.Set, java.lang.String, java.util.Set);
descriptor: (Ljava/util/Set;Ljava/lang/String;Ljava/util/Set;)Ljava/util/Set;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=3, args_size=3
start local 1 start local 2 0: aload 2
ifnonnull 1
aload 0
goto 2
StackMap locals:
StackMap stack:
1: aload 2
invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
aload 0
invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
invokestatic java.util.stream.Stream.concat:(Ljava/util/stream/Stream;Ljava/util/stream/Stream;)Ljava/util/stream/Stream;
invokestatic java.util.stream.Collectors.toSet:()Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.util.Set
StackMap locals:
StackMap stack: java.util.Set
2: areturn
end local 2 end local 1 LocalVariableTable:
Start End Slot Name Signature
0 3 1 key Ljava/lang/String;
0 3 2 cur Ljava/util/Set<Lorg/jruby/anno/FrameField;>;
}
SourceFile: "MethodIndex.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles