class com.oracle.truffle.polyglot.HostToGuestCodeCache$1 extends com.oracle.truffle.polyglot.GuestToHostRootNode
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.oracle.truffle.polyglot.HostToGuestCodeCache$1
super_class: com.oracle.truffle.polyglot.GuestToHostRootNode
{
final com.oracle.truffle.polyglot.HostToGuestCodeCache this$0;
descriptor: Lcom/oracle/truffle/polyglot/HostToGuestCodeCache;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(com.oracle.truffle.polyglot.HostToGuestCodeCache, java.lang.Class, java.lang.String);
descriptor: (Lcom/oracle/truffle/polyglot/HostToGuestCodeCache;Ljava/lang/Class;Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=3, locals=4, args_size=4
start local 0 // com.oracle.truffle.polyglot.HostToGuestCodeCache$1 this
start local 2 // java.lang.Class $anonymous0
start local 3 // java.lang.String $anonymous1
0: .line 75
aload 0 /* this */
aload 1
putfield com.oracle.truffle.polyglot.HostToGuestCodeCache$1.this$0:Lcom/oracle/truffle/polyglot/HostToGuestCodeCache;
aload 0 /* this */
aload 2 /* $anonymous0 */
aload 3 /* $anonymous1 */
invokespecial com.oracle.truffle.polyglot.GuestToHostRootNode.<init>:(Ljava/lang/Class;Ljava/lang/String;)V
return
end local 3 // java.lang.String $anonymous1
end local 2 // java.lang.Class $anonymous0
end local 0 // com.oracle.truffle.polyglot.HostToGuestCodeCache$1 this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/polyglot/HostToGuestCodeCache$1;
0 1 2 $anonymous0 Ljava/lang/Class<*>;
0 1 3 $anonymous1 Ljava/lang/String;
MethodParameters:
Name Flags
this$0 final
$anonymous0
$anonymous1
protected java.lang.Object executeImpl(java.lang.Object, java.lang.Object[]);
descriptor: (Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=7, args_size=3
start local 0 // com.oracle.truffle.polyglot.HostToGuestCodeCache$1 this
start local 1 // java.lang.Object receiver
start local 2 // java.lang.Object[] callArguments
0: .line 78
getstatic com.oracle.truffle.api.TruffleOptions.AOT:Z
ifeq 2
1: .line 79
ldc "MHBase.invokeHandle can only be used in non AOT mode."
invokestatic com.oracle.truffle.api.CompilerDirectives.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
2: .line 82
StackMap locals:
StackMap stack:
aload 2 /* callArguments */
iconst_2
aaload
checkcast java.lang.invoke.MethodHandle
astore 3 /* methodHandle */
start local 3 // java.lang.invoke.MethodHandle methodHandle
3: .line 83
aload 2 /* callArguments */
iconst_3
aaload
checkcast java.lang.Object[]
astore 4 /* arguments */
start local 4 // java.lang.Object[] arguments
4: .line 86
aload 3 /* methodHandle */
aload 1 /* receiver */
aload 4 /* arguments */
invokestatic com.oracle.truffle.polyglot.HostMethodDesc$SingleMethod$MHBase.invokeHandle:(Ljava/lang/invoke/MethodHandle;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
astore 5 /* ret */
start local 5 // java.lang.Object ret
5: .line 87
goto 8
end local 5 // java.lang.Object ret
StackMap locals: com.oracle.truffle.polyglot.HostToGuestCodeCache$1 java.lang.Object java.lang.Object[] java.lang.invoke.MethodHandle java.lang.Object[]
StackMap stack: java.lang.Throwable
6: astore 6 /* e */
start local 6 // java.lang.Throwable e
7: .line 88
aload 6 /* e */
invokestatic com.oracle.truffle.polyglot.HostInteropReflect.rethrow:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 6 // java.lang.Throwable e
start local 5 // java.lang.Object ret
8: .line 90
StackMap locals: java.lang.Object
StackMap stack:
aload 5 /* ret */
areturn
end local 5 // java.lang.Object ret
end local 4 // java.lang.Object[] arguments
end local 3 // java.lang.invoke.MethodHandle methodHandle
end local 2 // java.lang.Object[] callArguments
end local 1 // java.lang.Object receiver
end local 0 // com.oracle.truffle.polyglot.HostToGuestCodeCache$1 this
LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/polyglot/HostToGuestCodeCache$1;
0 9 1 receiver Ljava/lang/Object;
0 9 2 callArguments [Ljava/lang/Object;
3 9 3 methodHandle Ljava/lang/invoke/MethodHandle;
4 9 4 arguments [Ljava/lang/Object;
5 6 5 ret Ljava/lang/Object;
8 9 5 ret Ljava/lang/Object;
7 8 6 e Ljava/lang/Throwable;
Exception table:
from to target type
4 5 6 Class java.lang.Throwable
MethodParameters:
Name Flags
receiver
callArguments
}
SourceFile: "HostToGuestCodeCache.java"
EnclosingMethod: com.oracle.truffle.polyglot.HostToGuestCodeCache
NestHost: com.oracle.truffle.polyglot.HostToGuestCodeCache
InnerClasses:
abstract SingleMethod = com.oracle.truffle.polyglot.HostMethodDesc$SingleMethod of com.oracle.truffle.polyglot.HostMethodDesc
abstract MHBase = com.oracle.truffle.polyglot.HostMethodDesc$SingleMethod$MHBase of com.oracle.truffle.polyglot.HostMethodDesc$SingleMethod
com.oracle.truffle.polyglot.HostToGuestCodeCache$1