class com.oracle.truffle.js.builtins.JavaBuiltins$JavaSynchronizedNode$1 extends com.oracle.truffle.js.runtime.JavaScriptRootNode
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.oracle.truffle.js.builtins.JavaBuiltins$JavaSynchronizedNode$1
super_class: com.oracle.truffle.js.runtime.JavaScriptRootNode
{
final com.oracle.truffle.js.builtins.JavaBuiltins$JavaSynchronizedNode this$1;
descriptor: Lcom/oracle/truffle/js/builtins/JavaBuiltins$JavaSynchronizedNode;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private final com.oracle.truffle.js.runtime.JSContext val$context;
descriptor: Lcom/oracle/truffle/js/runtime/JSContext;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final com.oracle.truffle.api.object.DynamicObject val$func;
descriptor: Lcom/oracle/truffle/api/object/DynamicObject;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
void <init>(com.oracle.truffle.js.builtins.JavaBuiltins$JavaSynchronizedNode, com.oracle.truffle.js.lang.JavaScriptLanguage, com.oracle.truffle.api.source.SourceSection, com.oracle.truffle.api.frame.FrameDescriptor, com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/js/builtins/JavaBuiltins$JavaSynchronizedNode;Lcom/oracle/truffle/js/lang/JavaScriptLanguage;Lcom/oracle/truffle/api/source/SourceSection;Lcom/oracle/truffle/api/frame/FrameDescriptor;Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/object/DynamicObject;)V
flags: (0x0000)
Code:
stack=4, locals=7, args_size=7
start local 0 start local 2 start local 3 start local 4 0: aload 0
aload 1
putfield com.oracle.truffle.js.builtins.JavaBuiltins$JavaSynchronizedNode$1.this$1:Lcom/oracle/truffle/js/builtins/JavaBuiltins$JavaSynchronizedNode;
aload 0
aload 5
putfield com.oracle.truffle.js.builtins.JavaBuiltins$JavaSynchronizedNode$1.val$context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 0
aload 6
putfield com.oracle.truffle.js.builtins.JavaBuiltins$JavaSynchronizedNode$1.val$func:Lcom/oracle/truffle/api/object/DynamicObject;
aload 0
aload 2
aload 3
aload 4
invokespecial com.oracle.truffle.js.runtime.JavaScriptRootNode.<init>:(Lcom/oracle/truffle/js/lang/JavaScriptLanguage;Lcom/oracle/truffle/api/source/SourceSection;Lcom/oracle/truffle/api/frame/FrameDescriptor;)V
return
end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/builtins/JavaBuiltins$JavaSynchronizedNode$1;
0 1 2 $anonymous0 Lcom/oracle/truffle/js/lang/JavaScriptLanguage;
0 1 3 $anonymous1 Lcom/oracle/truffle/api/source/SourceSection;
0 1 4 $anonymous2 Lcom/oracle/truffle/api/frame/FrameDescriptor;
MethodParameters:
Name Flags
this$0 final
$anonymous0
$anonymous1
$anonymous2
val$context final
val$func final
public java.lang.Object execute(com.oracle.truffle.api.frame.VirtualFrame);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.truffle.js.runtime.JSFrameUtil.getThisObj:(Lcom/oracle/truffle/api/frame/Frame;)Ljava/lang/Object;
astore 2
start local 2 1: aload 2
aload 0
getfield com.oracle.truffle.js.builtins.JavaBuiltins$JavaSynchronizedNode$1.val$context:Lcom/oracle/truffle/js/runtime/JSContext;
invokevirtual com.oracle.truffle.js.runtime.JSContext.getRealm:()Lcom/oracle/truffle/js/runtime/JSRealm;
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getEnv:()Lcom/oracle/truffle/api/TruffleLanguage$Env;
invokestatic com.oracle.truffle.js.builtins.JavaBuiltins$JavaSynchronizedNode.unwrapAndCheckLockObject:(Ljava/lang/Object;Lcom/oracle/truffle/api/TruffleLanguage$Env;)Ljava/lang/Object;
astore 3
start local 3 2: aload 2
aload 0
getfield com.oracle.truffle.js.builtins.JavaBuiltins$JavaSynchronizedNode$1.val$func:Lcom/oracle/truffle/api/object/DynamicObject;
aload 1
invokeinterface com.oracle.truffle.api.frame.VirtualFrame.getArguments:()[Ljava/lang/Object;
invokestatic com.oracle.truffle.js.runtime.JSArguments.extractUserArguments:([Ljava/lang/Object;)[Ljava/lang/Object;
invokestatic com.oracle.truffle.js.runtime.JSArguments.create:(Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;)[Ljava/lang/Object;
astore 4
start local 4 3: aload 3
dup
astore 5
monitorenter
4: aload 4
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.call:([Ljava/lang/Object;)Ljava/lang/Object;
aload 5
monitorexit
5: areturn
6: StackMap locals: com.oracle.truffle.js.builtins.JavaBuiltins$JavaSynchronizedNode$1 com.oracle.truffle.api.frame.VirtualFrame java.lang.Object java.lang.Object java.lang.Object[] java.lang.Object
StackMap stack: java.lang.Throwable
aload 5
monitorexit
7: athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/js/builtins/JavaBuiltins$JavaSynchronizedNode$1;
0 8 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
1 8 2 thisObj Ljava/lang/Object;
2 8 3 lock Ljava/lang/Object;
3 8 4 arguments [Ljava/lang/Object;
Exception table:
from to target type
4 5 6 any
6 7 6 any
MethodParameters:
Name Flags
frame
}
SourceFile: "JavaBuiltins.java"
EnclosingMethod: com.oracle.truffle.js.builtins.JavaBuiltins$JavaSynchronizedNode.createSynchronizedWrapper:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
NestHost: com.oracle.truffle.js.builtins.JavaBuiltins
InnerClasses:
public final Env = com.oracle.truffle.api.TruffleLanguage$Env of com.oracle.truffle.api.TruffleLanguage
abstract JavaSynchronizedNode = com.oracle.truffle.js.builtins.JavaBuiltins$JavaSynchronizedNode of com.oracle.truffle.js.builtins.JavaBuiltins
com.oracle.truffle.js.builtins.JavaBuiltins$JavaSynchronizedNode$1