public class org.jruby.runtime.invokedynamic.InvocationLinker
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.jruby.runtime.invokedynamic.InvocationLinker
super_class: java.lang.Object
{
private static final java.lang.invoke.MethodHandle CALL_THREAD_POLL_HANDLE;
descriptor: Ljava/lang/invoke/MethodHandle;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static volatile int[] $SWITCH_TABLE$org$jruby$internal$runtime$methods$CallConfiguration;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: getstatic java.lang.Void.TYPE:Ljava/lang/Class;
ldc Lorg/jruby/runtime/ThreadContext;
iconst_0
anewarray java.lang.Class
invokestatic com.headius.invokebinder.Binder.from:(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;)Lcom/headius/invokebinder/Binder;
1: invokestatic java.lang.invoke.MethodHandles.lookup:()Ljava/lang/invoke/MethodHandles$Lookup;
ldc Lorg/jruby/runtime/ThreadContext;
ldc "callThreadPoll"
invokevirtual com.headius.invokebinder.Binder.invokeStaticQuiet:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/invoke/MethodHandle;
2: putstatic org.jruby.runtime.invokedynamic.InvocationLinker.CALL_THREAD_POLL_HANDLE:Ljava/lang/invoke/MethodHandle;
3: 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/invokedynamic/InvocationLinker;
public static java.lang.invoke.MethodHandle wrapWithFraming(com.headius.invokebinder.Signature, org.jruby.internal.runtime.methods.CallConfiguration, org.jruby.RubyModule, java.lang.String, java.lang.invoke.MethodHandle, org.jruby.parser.StaticScope);
descriptor: (Lcom/headius/invokebinder/Signature;Lorg/jruby/internal/runtime/methods/CallConfiguration;Lorg/jruby/RubyModule;Ljava/lang/String;Ljava/lang/invoke/MethodHandle;Lorg/jruby/parser/StaticScope;)Ljava/lang/invoke/MethodHandle;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=8, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
aload 2
aload 3
aload 5
invokestatic org.jruby.runtime.invokedynamic.InvocationLinker.getFramePre:(Lcom/headius/invokebinder/Signature;Lorg/jruby/internal/runtime/methods/CallConfiguration;Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/parser/StaticScope;)Ljava/lang/invoke/MethodHandle;
astore 6
start local 6 1: aload 6
ifnull 17
2: aload 0
aload 1
invokestatic org.jruby.runtime.invokedynamic.InvocationLinker.getFramePost:(Lcom/headius/invokebinder/Signature;Lorg/jruby/internal/runtime/methods/CallConfiguration;)Ljava/lang/invoke/MethodHandle;
astore 7
start local 7 3: aload 1
invokevirtual org.jruby.internal.runtime.methods.CallConfiguration.scoping:()Lorg/jruby/internal/runtime/methods/Scoping;
pop
getstatic org.jruby.internal.runtime.methods.Scoping.None:Lorg/jruby/internal/runtime/methods/Scoping;
pop
4: aload 1
invokevirtual org.jruby.internal.runtime.methods.CallConfiguration.framing:()Lorg/jruby/internal/runtime/methods/Framing;
pop
getstatic org.jruby.internal.runtime.methods.Framing.None:Lorg/jruby/internal/runtime/methods/Framing;
pop
5: aload 4
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
invokestatic com.headius.invokebinder.Binder.from:(Ljava/lang/invoke/MethodType;)Lcom/headius/invokebinder/Binder;
6: aload 7
invokevirtual com.headius.invokebinder.Binder.tryFinally:(Ljava/lang/invoke/MethodHandle;)Lcom/headius/invokebinder/Binder;
7: aload 4
invokevirtual com.headius.invokebinder.Binder.invoke:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
8: astore 4
9: aload 4
aload 6
invokestatic java.lang.invoke.MethodHandles.foldArguments:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
astore 4
10: aload 4
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
invokestatic com.headius.invokebinder.Binder.from:(Ljava/lang/invoke/MethodType;)Lcom/headius/invokebinder/Binder;
11: aload 4
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
invokestatic com.headius.invokebinder.Binder.from:(Ljava/lang/invoke/MethodType;)Lcom/headius/invokebinder/Binder;
iconst_1
newarray 10
dup
iconst_0
12: iconst_0
iastore
invokevirtual com.headius.invokebinder.Binder.permute:([I)Lcom/headius/invokebinder/Binder;
13: getstatic org.jruby.runtime.invokedynamic.InvocationLinker.CALL_THREAD_POLL_HANDLE:Ljava/lang/invoke/MethodHandle;
invokevirtual com.headius.invokebinder.Binder.invoke:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
14: invokevirtual com.headius.invokebinder.Binder.fold:(Ljava/lang/invoke/MethodHandle;)Lcom/headius/invokebinder/Binder;
15: aload 4
invokevirtual com.headius.invokebinder.Binder.invoke:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
16: astore 4
end local 7 17: StackMap locals: java.lang.invoke.MethodHandle
StackMap stack:
aload 4
areturn
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 18 0 signature Lcom/headius/invokebinder/Signature;
0 18 1 callConfig Lorg/jruby/internal/runtime/methods/CallConfiguration;
0 18 2 implClass Lorg/jruby/RubyModule;
0 18 3 name Ljava/lang/String;
0 18 4 nativeTarget Ljava/lang/invoke/MethodHandle;
0 18 5 scope Lorg/jruby/parser/StaticScope;
1 18 6 framePre Ljava/lang/invoke/MethodHandle;
3 17 7 framePost Ljava/lang/invoke/MethodHandle;
MethodParameters:
Name Flags
signature
callConfig
implClass
name
nativeTarget
scope
public static java.lang.invoke.MethodHandle wrapWithFrameOnly(com.headius.invokebinder.Signature, org.jruby.RubyModule, java.lang.String, java.lang.invoke.MethodHandle);
descriptor: (Lcom/headius/invokebinder/Signature;Lorg/jruby/RubyModule;Ljava/lang/String;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getstatic org.jruby.internal.runtime.methods.CallConfiguration.FrameFullScopeNone:Lorg/jruby/internal/runtime/methods/CallConfiguration;
aload 1
aload 2
invokestatic org.jruby.runtime.invokedynamic.InvocationLinker.getFrameOnlyPre:(Lcom/headius/invokebinder/Signature;Lorg/jruby/internal/runtime/methods/CallConfiguration;Lorg/jruby/RubyModule;Ljava/lang/String;)Ljava/lang/invoke/MethodHandle;
astore 4
start local 4 1: aload 0
getstatic org.jruby.internal.runtime.methods.CallConfiguration.FrameFullScopeNone:Lorg/jruby/internal/runtime/methods/CallConfiguration;
invokestatic org.jruby.runtime.invokedynamic.InvocationLinker.getFramePost:(Lcom/headius/invokebinder/Signature;Lorg/jruby/internal/runtime/methods/CallConfiguration;)Ljava/lang/invoke/MethodHandle;
astore 5
start local 5 2: aload 3
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
invokestatic com.headius.invokebinder.Binder.from:(Ljava/lang/invoke/MethodType;)Lcom/headius/invokebinder/Binder;
3: aload 5
invokevirtual com.headius.invokebinder.Binder.tryFinally:(Ljava/lang/invoke/MethodHandle;)Lcom/headius/invokebinder/Binder;
4: aload 3
invokevirtual com.headius.invokebinder.Binder.invoke:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
5: astore 3
6: aload 3
aload 4
invokestatic java.lang.invoke.MethodHandles.foldArguments:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
astore 3
7: aload 3
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
invokestatic com.headius.invokebinder.Binder.from:(Ljava/lang/invoke/MethodType;)Lcom/headius/invokebinder/Binder;
8: aload 3
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
invokestatic com.headius.invokebinder.Binder.from:(Ljava/lang/invoke/MethodType;)Lcom/headius/invokebinder/Binder;
iconst_1
newarray 10
dup
iconst_0
9: iconst_0
iastore
invokevirtual com.headius.invokebinder.Binder.permute:([I)Lcom/headius/invokebinder/Binder;
10: getstatic org.jruby.runtime.invokedynamic.InvocationLinker.CALL_THREAD_POLL_HANDLE:Ljava/lang/invoke/MethodHandle;
invokevirtual com.headius.invokebinder.Binder.invoke:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
11: invokevirtual com.headius.invokebinder.Binder.fold:(Ljava/lang/invoke/MethodHandle;)Lcom/headius/invokebinder/Binder;
12: aload 3
invokevirtual com.headius.invokebinder.Binder.invoke:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
13: astore 3
14: aload 3
areturn
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 15 0 signature Lcom/headius/invokebinder/Signature;
0 15 1 implClass Lorg/jruby/RubyModule;
0 15 2 name Ljava/lang/String;
0 15 3 nativeTarget Ljava/lang/invoke/MethodHandle;
1 15 4 framePre Ljava/lang/invoke/MethodHandle;
2 15 5 framePost Ljava/lang/invoke/MethodHandle;
MethodParameters:
Name Flags
signature
implClass
name
nativeTarget
public static java.lang.invoke.MethodHandle getFramePre(com.headius.invokebinder.Signature, org.jruby.internal.runtime.methods.CallConfiguration, org.jruby.RubyModule, java.lang.String, org.jruby.parser.StaticScope);
descriptor: (Lcom/headius/invokebinder/Signature;Lorg/jruby/internal/runtime/methods/CallConfiguration;Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/parser/StaticScope;)Ljava/lang/invoke/MethodHandle;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
invokevirtual com.headius.invokebinder.Signature.asFold:(Ljava/lang/Class;)Lcom/headius/invokebinder/Signature;
astore 5
start local 5 1: aload 5
invokestatic com.headius.invokebinder.SmartBinder.from:(Lcom/headius/invokebinder/Signature;)Lcom/headius/invokebinder/SmartBinder;
2: astore 6
start local 6 3: invokestatic org.jruby.runtime.invokedynamic.InvocationLinker.$SWITCH_TABLE$org$jruby$internal$runtime$methods$CallConfiguration:()[I
aload 1
invokevirtual org.jruby.internal.runtime.methods.CallConfiguration.ordinal:()I
iaload
tableswitch { // 1 - 8
1: 4
2: 11
3: 18
4: 31
5: 31
6: 31
7: 30
8: 24
default: 31
}
4: StackMap locals: com.headius.invokebinder.Signature com.headius.invokebinder.SmartBinder
StackMap stack:
aload 6
iconst_3
anewarray java.lang.String
dup
iconst_0
5: ldc "context"
aastore
dup
iconst_1
ldc "self"
aastore
dup
iconst_2
ldc "block"
aastore
invokevirtual com.headius.invokebinder.SmartBinder.permute:([Ljava/lang/String;)Lcom/headius/invokebinder/SmartBinder;
6: iconst_1
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "selfClass"
aastore
dup
iconst_1
ldc "name"
aastore
invokestatic org.jruby.runtime.Helpers.arrayOf:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
iconst_2
anewarray java.lang.Class
dup
iconst_0
ldc Lorg/jruby/RubyModule;
aastore
dup
iconst_1
ldc Ljava/lang/String;
aastore
invokestatic org.jruby.runtime.Helpers.arrayOf:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.Class[]
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
dup
iconst_1
aload 3
aastore
invokevirtual com.headius.invokebinder.SmartBinder.insert:(I[Ljava/lang/String;[Ljava/lang/Class;[Ljava/lang/Object;)Lcom/headius/invokebinder/SmartBinder;
7: iconst_5
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "scope"
aastore
invokestatic org.jruby.runtime.Helpers.arrayOf:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Lorg/jruby/parser/StaticScope;
aastore
invokestatic org.jruby.runtime.Helpers.arrayOf:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.Class[]
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 4
aastore
invokevirtual com.headius.invokebinder.SmartBinder.insert:(I[Ljava/lang/String;[Ljava/lang/Class;[Ljava/lang/Object;)Lcom/headius/invokebinder/SmartBinder;
8: invokestatic java.lang.invoke.MethodHandles.lookup:()Ljava/lang/invoke/MethodHandles$Lookup;
ldc "preMethodFrameAndScope"
invokevirtual com.headius.invokebinder.SmartBinder.invokeVirtualQuiet:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;)Lcom/headius/invokebinder/SmartHandle;
9: invokevirtual com.headius.invokebinder.SmartHandle.handle:()Ljava/lang/invoke/MethodHandle;
10: areturn
11: StackMap locals:
StackMap stack:
aload 6
iconst_3
anewarray java.lang.String
dup
iconst_0
12: ldc "context"
aastore
dup
iconst_1
ldc "self"
aastore
dup
iconst_2
ldc "block"
aastore
invokevirtual com.headius.invokebinder.SmartBinder.permute:([Ljava/lang/String;)Lcom/headius/invokebinder/SmartBinder;
13: iconst_1
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "selfClass"
aastore
dup
iconst_1
ldc "name"
aastore
invokestatic org.jruby.runtime.Helpers.arrayOf:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
iconst_2
anewarray java.lang.Class
dup
iconst_0
ldc Lorg/jruby/RubyModule;
aastore
dup
iconst_1
ldc Ljava/lang/String;
aastore
invokestatic org.jruby.runtime.Helpers.arrayOf:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.Class[]
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
dup
iconst_1
aload 3
aastore
invokevirtual com.headius.invokebinder.SmartBinder.insert:(I[Ljava/lang/String;[Ljava/lang/Class;[Ljava/lang/Object;)Lcom/headius/invokebinder/SmartBinder;
14: iconst_5
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "scope"
aastore
invokestatic org.jruby.runtime.Helpers.arrayOf:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Lorg/jruby/parser/StaticScope;
aastore
invokestatic org.jruby.runtime.Helpers.arrayOf:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.Class[]
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 4
aastore
invokevirtual com.headius.invokebinder.SmartBinder.insert:(I[Ljava/lang/String;[Ljava/lang/Class;[Ljava/lang/Object;)Lcom/headius/invokebinder/SmartBinder;
15: invokestatic java.lang.invoke.MethodHandles.lookup:()Ljava/lang/invoke/MethodHandles$Lookup;
ldc "preMethodFrameAndDummyScope"
invokevirtual com.headius.invokebinder.SmartBinder.invokeVirtualQuiet:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;)Lcom/headius/invokebinder/SmartHandle;
16: invokevirtual com.headius.invokebinder.SmartHandle.handle:()Ljava/lang/invoke/MethodHandle;
17: areturn
18: StackMap locals:
StackMap stack:
aload 6
iconst_3
anewarray java.lang.String
dup
iconst_0
19: ldc "context"
aastore
dup
iconst_1
ldc "self"
aastore
dup
iconst_2
ldc "block"
aastore
invokevirtual com.headius.invokebinder.SmartBinder.permute:([Ljava/lang/String;)Lcom/headius/invokebinder/SmartBinder;
20: iconst_1
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "selfClass"
aastore
dup
iconst_1
ldc "name"
aastore
invokestatic org.jruby.runtime.Helpers.arrayOf:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
iconst_2
anewarray java.lang.Class
dup
iconst_0
ldc Lorg/jruby/RubyModule;
aastore
dup
iconst_1
ldc Ljava/lang/String;
aastore
invokestatic org.jruby.runtime.Helpers.arrayOf:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.Class[]
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
dup
iconst_1
aload 3
aastore
invokevirtual com.headius.invokebinder.SmartBinder.insert:(I[Ljava/lang/String;[Ljava/lang/Class;[Ljava/lang/Object;)Lcom/headius/invokebinder/SmartBinder;
21: invokestatic java.lang.invoke.MethodHandles.lookup:()Ljava/lang/invoke/MethodHandles$Lookup;
ldc "preMethodFrameOnly"
invokevirtual com.headius.invokebinder.SmartBinder.invokeVirtualQuiet:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;)Lcom/headius/invokebinder/SmartHandle;
22: invokevirtual com.headius.invokebinder.SmartHandle.handle:()Ljava/lang/invoke/MethodHandle;
23: areturn
24: StackMap locals:
StackMap stack:
aload 6
iconst_1
anewarray java.lang.String
dup
iconst_0
25: ldc "context"
aastore
invokevirtual com.headius.invokebinder.SmartBinder.permute:([Ljava/lang/String;)Lcom/headius/invokebinder/SmartBinder;
26: iconst_1
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "selfClass"
aastore
dup
iconst_1
ldc "scope"
aastore
invokestatic org.jruby.runtime.Helpers.arrayOf:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
iconst_2
anewarray java.lang.Class
dup
iconst_0
ldc Lorg/jruby/RubyModule;
aastore
dup
iconst_1
ldc Lorg/jruby/parser/StaticScope;
aastore
invokestatic org.jruby.runtime.Helpers.arrayOf:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.Class[]
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
dup
iconst_1
aload 4
aastore
invokevirtual com.headius.invokebinder.SmartBinder.insert:(I[Ljava/lang/String;[Ljava/lang/Class;[Ljava/lang/Object;)Lcom/headius/invokebinder/SmartBinder;
27: invokestatic java.lang.invoke.MethodHandles.lookup:()Ljava/lang/invoke/MethodHandles$Lookup;
ldc "preMethodNoFrameAndDummyScope"
invokevirtual com.headius.invokebinder.SmartBinder.invokeVirtualQuiet:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;)Lcom/headius/invokebinder/SmartHandle;
28: invokevirtual com.headius.invokebinder.SmartHandle.handle:()Ljava/lang/invoke/MethodHandle;
29: areturn
30: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 3
invokestatic org.jruby.runtime.invokedynamic.InvocationLinker.getFrameOnlyPre:(Lcom/headius/invokebinder/Signature;Lorg/jruby/internal/runtime/methods/CallConfiguration;Lorg/jruby/RubyModule;Ljava/lang/String;)Ljava/lang/invoke/MethodHandle;
areturn
31: StackMap locals:
StackMap stack:
aconst_null
areturn
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 32 0 signature Lcom/headius/invokebinder/Signature;
0 32 1 callConfig Lorg/jruby/internal/runtime/methods/CallConfiguration;
0 32 2 implClass Lorg/jruby/RubyModule;
0 32 3 name Ljava/lang/String;
0 32 4 scope Lorg/jruby/parser/StaticScope;
1 32 5 inbound Lcom/headius/invokebinder/Signature;
3 32 6 binder Lcom/headius/invokebinder/SmartBinder;
MethodParameters:
Name Flags
signature
callConfig
implClass
name
scope
public static java.lang.invoke.MethodHandle getFrameOnlyPre(com.headius.invokebinder.Signature, org.jruby.internal.runtime.methods.CallConfiguration, org.jruby.RubyModule, java.lang.String);
descriptor: (Lcom/headius/invokebinder/Signature;Lorg/jruby/internal/runtime/methods/CallConfiguration;Lorg/jruby/RubyModule;Ljava/lang/String;)Ljava/lang/invoke/MethodHandle;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
invokevirtual com.headius.invokebinder.Signature.asFold:(Ljava/lang/Class;)Lcom/headius/invokebinder/Signature;
astore 4
start local 4 1: aload 4
invokestatic com.headius.invokebinder.SmartBinder.from:(Lcom/headius/invokebinder/Signature;)Lcom/headius/invokebinder/SmartBinder;
2: astore 5
start local 5 3: invokestatic org.jruby.runtime.invokedynamic.InvocationLinker.$SWITCH_TABLE$org$jruby$internal$runtime$methods$CallConfiguration:()[I
aload 1
invokevirtual org.jruby.internal.runtime.methods.CallConfiguration.ordinal:()I
iaload
tableswitch { // 3 - 3
3: 4
default: 10
}
4: StackMap locals: com.headius.invokebinder.Signature com.headius.invokebinder.SmartBinder
StackMap stack:
aload 5
iconst_3
anewarray java.lang.String
dup
iconst_0
5: ldc "context"
aastore
dup
iconst_1
ldc "self"
aastore
dup
iconst_2
ldc "block"
aastore
invokevirtual com.headius.invokebinder.SmartBinder.permute:([Ljava/lang/String;)Lcom/headius/invokebinder/SmartBinder;
6: iconst_1
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "selfClass"
aastore
dup
iconst_1
ldc "name"
aastore
invokestatic org.jruby.runtime.Helpers.arrayOf:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
iconst_2
anewarray java.lang.Class
dup
iconst_0
ldc Lorg/jruby/RubyModule;
aastore
dup
iconst_1
ldc Ljava/lang/String;
aastore
invokestatic org.jruby.runtime.Helpers.arrayOf:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.Class[]
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
dup
iconst_1
aload 3
aastore
invokevirtual com.headius.invokebinder.SmartBinder.insert:(I[Ljava/lang/String;[Ljava/lang/Class;[Ljava/lang/Object;)Lcom/headius/invokebinder/SmartBinder;
7: invokestatic java.lang.invoke.MethodHandles.lookup:()Ljava/lang/invoke/MethodHandles$Lookup;
ldc "preMethodFrameOnly"
invokevirtual com.headius.invokebinder.SmartBinder.invokeVirtualQuiet:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;)Lcom/headius/invokebinder/SmartHandle;
8: invokevirtual com.headius.invokebinder.SmartHandle.handle:()Ljava/lang/invoke/MethodHandle;
9: areturn
10: StackMap locals:
StackMap stack:
new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "invalid input: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
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 signature Lcom/headius/invokebinder/Signature;
0 11 1 callConfig Lorg/jruby/internal/runtime/methods/CallConfiguration;
0 11 2 implClass Lorg/jruby/RubyModule;
0 11 3 name Ljava/lang/String;
1 11 4 inbound Lcom/headius/invokebinder/Signature;
3 11 5 binder Lcom/headius/invokebinder/SmartBinder;
MethodParameters:
Name Flags
signature
callConfig
implClass
name
public static java.lang.invoke.MethodHandle getFramePost(com.headius.invokebinder.Signature, org.jruby.internal.runtime.methods.CallConfiguration);
descriptor: (Lcom/headius/invokebinder/Signature;Lorg/jruby/internal/runtime/methods/CallConfiguration;)Ljava/lang/invoke/MethodHandle;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
invokevirtual com.headius.invokebinder.Signature.asFold:(Ljava/lang/Class;)Lcom/headius/invokebinder/Signature;
astore 2
start local 2 1: aload 2
invokestatic com.headius.invokebinder.SmartBinder.from:(Lcom/headius/invokebinder/Signature;)Lcom/headius/invokebinder/SmartBinder;
iconst_1
anewarray java.lang.String
dup
iconst_0
2: ldc "context"
aastore
invokevirtual com.headius.invokebinder.SmartBinder.permute:([Ljava/lang/String;)Lcom/headius/invokebinder/SmartBinder;
3: astore 3
start local 3 4: invokestatic org.jruby.runtime.invokedynamic.InvocationLinker.$SWITCH_TABLE$org$jruby$internal$runtime$methods$CallConfiguration:()[I
aload 1
invokevirtual org.jruby.internal.runtime.methods.CallConfiguration.ordinal:()I
iaload
tableswitch { // 1 - 8
1: 5
2: 9
3: 13
4: 25
5: 25
6: 25
7: 17
8: 21
default: 25
}
5: StackMap locals: com.headius.invokebinder.Signature com.headius.invokebinder.SmartBinder
StackMap stack:
aload 3
6: invokestatic java.lang.invoke.MethodHandles.lookup:()Ljava/lang/invoke/MethodHandles$Lookup;
ldc "postMethodFrameAndScope"
invokevirtual com.headius.invokebinder.SmartBinder.invokeVirtualQuiet:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;)Lcom/headius/invokebinder/SmartHandle;
7: invokevirtual com.headius.invokebinder.SmartHandle.handle:()Ljava/lang/invoke/MethodHandle;
8: areturn
9: StackMap locals:
StackMap stack:
aload 3
10: invokestatic java.lang.invoke.MethodHandles.lookup:()Ljava/lang/invoke/MethodHandles$Lookup;
ldc "postMethodFrameAndScope"
invokevirtual com.headius.invokebinder.SmartBinder.invokeVirtualQuiet:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;)Lcom/headius/invokebinder/SmartHandle;
11: invokevirtual com.headius.invokebinder.SmartHandle.handle:()Ljava/lang/invoke/MethodHandle;
12: areturn
13: StackMap locals:
StackMap stack:
aload 3
14: invokestatic java.lang.invoke.MethodHandles.lookup:()Ljava/lang/invoke/MethodHandles$Lookup;
ldc "postMethodFrameOnly"
invokevirtual com.headius.invokebinder.SmartBinder.invokeVirtualQuiet:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;)Lcom/headius/invokebinder/SmartHandle;
15: invokevirtual com.headius.invokebinder.SmartHandle.handle:()Ljava/lang/invoke/MethodHandle;
16: areturn
17: StackMap locals:
StackMap stack:
aload 3
18: invokestatic java.lang.invoke.MethodHandles.lookup:()Ljava/lang/invoke/MethodHandles$Lookup;
ldc "postMethodScopeOnly"
invokevirtual com.headius.invokebinder.SmartBinder.invokeVirtualQuiet:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;)Lcom/headius/invokebinder/SmartHandle;
19: invokevirtual com.headius.invokebinder.SmartHandle.handle:()Ljava/lang/invoke/MethodHandle;
20: areturn
21: StackMap locals:
StackMap stack:
aload 3
22: invokestatic java.lang.invoke.MethodHandles.lookup:()Ljava/lang/invoke/MethodHandles$Lookup;
ldc "postMethodScopeOnly"
invokevirtual com.headius.invokebinder.SmartBinder.invokeVirtualQuiet:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;)Lcom/headius/invokebinder/SmartHandle;
23: invokevirtual com.headius.invokebinder.SmartHandle.handle:()Ljava/lang/invoke/MethodHandle;
24: areturn
25: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 signature Lcom/headius/invokebinder/Signature;
0 26 1 callConfig Lorg/jruby/internal/runtime/methods/CallConfiguration;
1 26 2 inbound Lcom/headius/invokebinder/Signature;
4 26 3 binder Lcom/headius/invokebinder/SmartBinder;
MethodParameters:
Name Flags
signature
callConfig
static int[] $SWITCH_TABLE$org$jruby$internal$runtime$methods$CallConfiguration();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic org.jruby.runtime.invokedynamic.InvocationLinker.$SWITCH_TABLE$org$jruby$internal$runtime$methods$CallConfiguration:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic org.jruby.internal.runtime.methods.CallConfiguration.values:()[Lorg/jruby/internal/runtime/methods/CallConfiguration;
arraylength
newarray 10
astore 0
2: aload 0
getstatic org.jruby.internal.runtime.methods.CallConfiguration.FrameBacktraceScopeDummy:Lorg/jruby/internal/runtime/methods/CallConfiguration;
invokevirtual org.jruby.internal.runtime.methods.CallConfiguration.ordinal:()I
iconst_5
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic org.jruby.internal.runtime.methods.CallConfiguration.FrameBacktraceScopeFull:Lorg/jruby/internal/runtime/methods/CallConfiguration;
invokevirtual org.jruby.internal.runtime.methods.CallConfiguration.ordinal:()I
iconst_4
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic org.jruby.internal.runtime.methods.CallConfiguration.FrameBacktraceScopeNone:Lorg/jruby/internal/runtime/methods/CallConfiguration;
invokevirtual org.jruby.internal.runtime.methods.CallConfiguration.ordinal:()I
bipush 6
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic org.jruby.internal.runtime.methods.CallConfiguration.FrameFullScopeDummy:Lorg/jruby/internal/runtime/methods/CallConfiguration;
invokevirtual org.jruby.internal.runtime.methods.CallConfiguration.ordinal:()I
iconst_2
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic org.jruby.internal.runtime.methods.CallConfiguration.FrameFullScopeFull:Lorg/jruby/internal/runtime/methods/CallConfiguration;
invokevirtual org.jruby.internal.runtime.methods.CallConfiguration.ordinal:()I
iconst_1
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic org.jruby.internal.runtime.methods.CallConfiguration.FrameFullScopeNone:Lorg/jruby/internal/runtime/methods/CallConfiguration;
invokevirtual org.jruby.internal.runtime.methods.CallConfiguration.ordinal:()I
iconst_3
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
getstatic org.jruby.internal.runtime.methods.CallConfiguration.FrameNoneScopeDummy:Lorg/jruby/internal/runtime/methods/CallConfiguration;
invokevirtual org.jruby.internal.runtime.methods.CallConfiguration.ordinal:()I
bipush 8
iastore
21: goto 23
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
22: pop
StackMap locals:
StackMap stack:
23: aload 0
getstatic org.jruby.internal.runtime.methods.CallConfiguration.FrameNoneScopeFull:Lorg/jruby/internal/runtime/methods/CallConfiguration;
invokevirtual org.jruby.internal.runtime.methods.CallConfiguration.ordinal:()I
bipush 7
iastore
24: goto 26
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
25: pop
StackMap locals:
StackMap stack:
26: aload 0
getstatic org.jruby.internal.runtime.methods.CallConfiguration.FrameNoneScopeNone:Lorg/jruby/internal/runtime/methods/CallConfiguration;
invokevirtual org.jruby.internal.runtime.methods.CallConfiguration.ordinal:()I
bipush 9
iastore
27: goto 29
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
28: pop
StackMap locals:
StackMap stack:
29: aload 0
dup
putstatic org.jruby.runtime.invokedynamic.InvocationLinker.$SWITCH_TABLE$org$jruby$internal$runtime$methods$CallConfiguration:[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
23 24 25 Class java.lang.NoSuchFieldError
26 27 28 Class java.lang.NoSuchFieldError
}
SourceFile: "InvocationLinker.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles