public class org.jruby.internal.runtime.methods.CompiledIRNoProtocolMethod extends org.jruby.internal.runtime.AbstractIRMethod
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.jruby.internal.runtime.methods.CompiledIRNoProtocolMethod
super_class: org.jruby.internal.runtime.AbstractIRMethod
{
private final boolean needsDynamicScope;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.invoke.MethodHandle variable;
descriptor: Ljava/lang/invoke/MethodHandle;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(java.lang.invoke.MethodHandle, org.jruby.ir.IRScope, org.jruby.RubyModule);
descriptor: (Ljava/lang/invoke/MethodHandle;Lorg/jruby/ir/IRScope;Lorg/jruby/RubyModule;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 2
getstatic org.jruby.runtime.Visibility.PUBLIC:Lorg/jruby/runtime/Visibility;
aload 3
invokespecial org.jruby.internal.runtime.AbstractIRMethod.<init>:(Lorg/jruby/ir/IRScope;Lorg/jruby/runtime/Visibility;Lorg/jruby/RubyModule;)V
1: aload 0
aload 2
invokevirtual org.jruby.ir.IRScope.getExecutionContext:()Lorg/jruby/ir/interpreter/FullInterpreterContext;
invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.isDynamicScopeEliminated:()Z
ifeq 2
iconst_0
goto 3
StackMap locals: org.jruby.internal.runtime.methods.CompiledIRNoProtocolMethod java.lang.invoke.MethodHandle org.jruby.ir.IRScope org.jruby.RubyModule
StackMap stack: org.jruby.internal.runtime.methods.CompiledIRNoProtocolMethod
2: iconst_1
StackMap locals: org.jruby.internal.runtime.methods.CompiledIRNoProtocolMethod java.lang.invoke.MethodHandle org.jruby.ir.IRScope org.jruby.RubyModule
StackMap stack: org.jruby.internal.runtime.methods.CompiledIRNoProtocolMethod int
3: putfield org.jruby.internal.runtime.methods.CompiledIRNoProtocolMethod.needsDynamicScope:Z
4: aload 0
aload 1
putfield org.jruby.internal.runtime.methods.CompiledIRNoProtocolMethod.variable:Ljava/lang/invoke/MethodHandle;
5: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/jruby/internal/runtime/methods/CompiledIRNoProtocolMethod;
0 6 1 handle Ljava/lang/invoke/MethodHandle;
0 6 2 scope Lorg/jruby/ir/IRScope;
0 6 3 implementationClass Lorg/jruby/RubyModule;
MethodParameters:
Name Flags
handle
scope
implementationClass
public org.jruby.runtime.ArgumentDescriptor[] getArgumentDescriptors();
descriptor: ()[Lorg/jruby/runtime/ArgumentDescriptor;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic org.jruby.runtime.ArgumentDescriptor.EMPTY_ARRAY:[Lorg/jruby/runtime/ArgumentDescriptor;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/internal/runtime/methods/CompiledIRNoProtocolMethod;
public org.jruby.runtime.builtin.IRubyObject call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyModule, java.lang.String, org.jruby.runtime.Block);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=11, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
getfield org.jruby.internal.runtime.methods.CompiledIRNoProtocolMethod.staticScope:Lorg/jruby/parser/StaticScope;
astore 6
start local 6 1: aload 0
getfield org.jruby.internal.runtime.methods.CompiledIRNoProtocolMethod.implementationClass:Lorg/jruby/RubyModule;
astore 7
start local 7 2: aload 0
aload 1
aload 6
aload 7
aload 2
aload 4
aload 5
invokevirtual org.jruby.internal.runtime.methods.CompiledIRNoProtocolMethod.pre:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/parser/StaticScope;Lorg/jruby/RubyModule;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/runtime/Block;)V
3: aload 0
getfield org.jruby.internal.runtime.methods.CompiledIRNoProtocolMethod.variable:Ljava/lang/invoke/MethodHandle;
aload 1
aload 6
aload 2
getstatic org.jruby.runtime.builtin.IRubyObject.NULL_ARRAY:[Lorg/jruby/runtime/builtin/IRubyObject;
aload 5
aload 7
aload 4
invokevirtual java.lang.invoke.MethodHandle.invokeExact:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/parser/StaticScope;Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;Lorg/jruby/RubyModule;Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 10
4: aload 0
aload 1
invokevirtual org.jruby.internal.runtime.methods.CompiledIRNoProtocolMethod.post:(Lorg/jruby/runtime/ThreadContext;)V
5: aload 10
areturn
6: StackMap locals: org.jruby.internal.runtime.methods.CompiledIRNoProtocolMethod org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.RubyModule java.lang.String org.jruby.runtime.Block org.jruby.parser.StaticScope org.jruby.RubyModule
StackMap stack: java.lang.Throwable
astore 8
start local 8 7: aload 8
invokestatic org.jruby.runtime.Helpers.throwException:(Ljava/lang/Throwable;)V
8: aload 0
aload 1
invokevirtual org.jruby.internal.runtime.methods.CompiledIRNoProtocolMethod.post:(Lorg/jruby/runtime/ThreadContext;)V
9: aconst_null
areturn
end local 8 10: StackMap locals:
StackMap stack: java.lang.Throwable
astore 9
11: aload 0
aload 1
invokevirtual org.jruby.internal.runtime.methods.CompiledIRNoProtocolMethod.post:(Lorg/jruby/runtime/ThreadContext;)V
12: aload 9
athrow
end local 7 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 13 0 this Lorg/jruby/internal/runtime/methods/CompiledIRNoProtocolMethod;
0 13 1 context Lorg/jruby/runtime/ThreadContext;
0 13 2 self Lorg/jruby/runtime/builtin/IRubyObject;
0 13 3 clazz Lorg/jruby/RubyModule;
0 13 4 name Ljava/lang/String;
0 13 5 block Lorg/jruby/runtime/Block;
1 13 6 staticScope1 Lorg/jruby/parser/StaticScope;
2 13 7 implementationClass1 Lorg/jruby/RubyModule;
7 10 8 t Ljava/lang/Throwable;
Exception table:
from to target type
3 4 6 Class java.lang.Throwable
3 4 10 any
6 8 10 any
MethodParameters:
Name Flags
context
self
clazz
name
block
public org.jruby.runtime.builtin.IRubyObject call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyModule, java.lang.String, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.Block);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyModule;Ljava/lang/String;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: new java.lang.RuntimeException
dup
ldc "BUG: this path should never be called"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
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 1 0 this Lorg/jruby/internal/runtime/methods/CompiledIRNoProtocolMethod;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
0 1 2 self Lorg/jruby/runtime/builtin/IRubyObject;
0 1 3 clazz Lorg/jruby/RubyModule;
0 1 4 name Ljava/lang/String;
0 1 5 args [Lorg/jruby/runtime/builtin/IRubyObject;
0 1 6 block Lorg/jruby/runtime/Block;
MethodParameters:
Name Flags
context
self
clazz
name
args
block
public org.jruby.runtime.builtin.IRubyObject call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyModule, java.lang.String, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: new java.lang.RuntimeException
dup
ldc "BUG: this path should never be called"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
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 1 0 this Lorg/jruby/internal/runtime/methods/CompiledIRNoProtocolMethod;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
0 1 2 self Lorg/jruby/runtime/builtin/IRubyObject;
0 1 3 clazz Lorg/jruby/RubyModule;
0 1 4 name Ljava/lang/String;
0 1 5 arg0 Lorg/jruby/runtime/builtin/IRubyObject;
0 1 6 block Lorg/jruby/runtime/Block;
MethodParameters:
Name Flags
context
self
clazz
name
arg0
block
public org.jruby.runtime.builtin.IRubyObject call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyModule, java.lang.String, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=8, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: new java.lang.RuntimeException
dup
ldc "BUG: this path should never be called"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
end local 7 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 1 0 this Lorg/jruby/internal/runtime/methods/CompiledIRNoProtocolMethod;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
0 1 2 self Lorg/jruby/runtime/builtin/IRubyObject;
0 1 3 clazz Lorg/jruby/RubyModule;
0 1 4 name Ljava/lang/String;
0 1 5 arg0 Lorg/jruby/runtime/builtin/IRubyObject;
0 1 6 arg1 Lorg/jruby/runtime/builtin/IRubyObject;
0 1 7 block Lorg/jruby/runtime/Block;
MethodParameters:
Name Flags
context
self
clazz
name
arg0
arg1
block
public org.jruby.runtime.builtin.IRubyObject call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyModule, java.lang.String, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=9, args_size=9
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 0: new java.lang.RuntimeException
dup
ldc "BUG: this path should never be called"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
end local 8 end local 7 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 1 0 this Lorg/jruby/internal/runtime/methods/CompiledIRNoProtocolMethod;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
0 1 2 self Lorg/jruby/runtime/builtin/IRubyObject;
0 1 3 clazz Lorg/jruby/RubyModule;
0 1 4 name Ljava/lang/String;
0 1 5 arg0 Lorg/jruby/runtime/builtin/IRubyObject;
0 1 6 arg1 Lorg/jruby/runtime/builtin/IRubyObject;
0 1 7 arg2 Lorg/jruby/runtime/builtin/IRubyObject;
0 1 8 block Lorg/jruby/runtime/Block;
MethodParameters:
Name Flags
context
self
clazz
name
arg0
arg1
arg2
block
protected void post(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.jruby.runtime.ThreadContext.popFrame:()V
1: aload 0
getfield org.jruby.internal.runtime.methods.CompiledIRNoProtocolMethod.needsDynamicScope:Z
ifeq 3
2: aload 1
invokevirtual org.jruby.runtime.ThreadContext.popScope:()V
3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jruby/internal/runtime/methods/CompiledIRNoProtocolMethod;
0 4 1 context Lorg/jruby/runtime/ThreadContext;
MethodParameters:
Name Flags
context
protected void pre(org.jruby.runtime.ThreadContext, org.jruby.parser.StaticScope, org.jruby.RubyModule, org.jruby.runtime.builtin.IRubyObject, java.lang.String, org.jruby.runtime.Block);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/parser/StaticScope;Lorg/jruby/RubyModule;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/runtime/Block;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 1
aload 3
aload 5
aload 4
aload 0
invokevirtual org.jruby.internal.runtime.methods.CompiledIRNoProtocolMethod.getVisibility:()Lorg/jruby/runtime/Visibility;
aload 6
invokevirtual org.jruby.runtime.ThreadContext.preMethodFrameOnly:(Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Visibility;Lorg/jruby/runtime/Block;)V
1: aload 0
getfield org.jruby.internal.runtime.methods.CompiledIRNoProtocolMethod.needsDynamicScope:Z
ifeq 3
2: aload 1
aload 2
aload 1
invokevirtual org.jruby.runtime.ThreadContext.getCurrentScope:()Lorg/jruby/runtime/DynamicScope;
invokestatic org.jruby.runtime.DynamicScope.newDynamicScope:(Lorg/jruby/parser/StaticScope;Lorg/jruby/runtime/DynamicScope;)Lorg/jruby/runtime/DynamicScope;
invokevirtual org.jruby.runtime.ThreadContext.pushScope:(Lorg/jruby/runtime/DynamicScope;)V
3: StackMap locals:
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 4 0 this Lorg/jruby/internal/runtime/methods/CompiledIRNoProtocolMethod;
0 4 1 context Lorg/jruby/runtime/ThreadContext;
0 4 2 staticScope Lorg/jruby/parser/StaticScope;
0 4 3 implementationClass Lorg/jruby/RubyModule;
0 4 4 self Lorg/jruby/runtime/builtin/IRubyObject;
0 4 5 name Ljava/lang/String;
0 4 6 block Lorg/jruby/runtime/Block;
MethodParameters:
Name Flags
context
staticScope
implementationClass
self
name
block
public org.jruby.ir.interpreter.InterpreterContext ensureInstrsReady();
descriptor: ()Lorg/jruby/ir/interpreter/InterpreterContext;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.internal.runtime.methods.CompiledIRNoProtocolMethod.method:Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.getInterpreterContext:()Lorg/jruby/ir/interpreter/InterpreterContext;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/internal/runtime/methods/CompiledIRNoProtocolMethod;
protected void printMethodIR();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/internal/runtime/methods/CompiledIRNoProtocolMethod;
}
SourceFile: "CompiledIRNoProtocolMethod.java"