public final class com.oracle.truffle.trufflenode.info.FunctionTemplate
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.trufflenode.info.FunctionTemplate
super_class: java.lang.Object
{
public static final com.oracle.truffle.api.object.HiddenKey CONSTRUCTOR;
descriptor: Lcom/oracle/truffle/api/object/HiddenKey;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private final com.oracle.truffle.trufflenode.info.ObjectTemplate functionObjectTemplate;
descriptor: Lcom/oracle/truffle/trufflenode/info/ObjectTemplate;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.trufflenode.info.ObjectTemplate instanceTemplate;
descriptor: Lcom/oracle/truffle/trufflenode/info/ObjectTemplate;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.trufflenode.info.ObjectTemplate prototypeTemplate;
descriptor: Lcom/oracle/truffle/trufflenode/info/ObjectTemplate;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int id;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private long functionPointer;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private java.lang.Object additionalData;
descriptor: Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
private final com.oracle.truffle.trufflenode.info.FunctionTemplate signature;
descriptor: Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int length;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private com.oracle.truffle.trufflenode.info.FunctionTemplate parent;
descriptor: Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;
flags: (0x0002) ACC_PRIVATE
private java.lang.String className;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private com.oracle.truffle.api.object.DynamicObject functionObj;
descriptor: Lcom/oracle/truffle/api/object/DynamicObject;
flags: (0x0002) ACC_PRIVATE
private final boolean singleFunctionTemplate;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new com.oracle.truffle.api.object.HiddenKey
dup
ldc "FunctionTemplateConstructor"
invokespecial com.oracle.truffle.api.object.HiddenKey.<init>:(Ljava/lang/String;)V
putstatic com.oracle.truffle.trufflenode.info.FunctionTemplate.CONSTRUCTOR:Lcom/oracle/truffle/api/object/HiddenKey;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(int, long, java.lang.Object, com.oracle.truffle.trufflenode.info.FunctionTemplate, int, boolean, boolean);
descriptor: (IJLjava/lang/Object;Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;IZZ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=9, args_size=8
start local 0 start local 1 start local 2 start local 4 start local 5 start local 6 start local 7 start local 8 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
ldc ""
putfield com.oracle.truffle.trufflenode.info.FunctionTemplate.className:Ljava/lang/String;
2: aload 0
new com.oracle.truffle.trufflenode.info.ObjectTemplate
dup
invokespecial com.oracle.truffle.trufflenode.info.ObjectTemplate.<init>:()V
putfield com.oracle.truffle.trufflenode.info.FunctionTemplate.functionObjectTemplate:Lcom/oracle/truffle/trufflenode/info/ObjectTemplate;
3: aload 0
new com.oracle.truffle.trufflenode.info.ObjectTemplate
dup
invokespecial com.oracle.truffle.trufflenode.info.ObjectTemplate.<init>:()V
putfield com.oracle.truffle.trufflenode.info.FunctionTemplate.instanceTemplate:Lcom/oracle/truffle/trufflenode/info/ObjectTemplate;
4: aload 0
iload 7
ifeq 5
new com.oracle.truffle.trufflenode.info.ObjectTemplate
dup
invokespecial com.oracle.truffle.trufflenode.info.ObjectTemplate.<init>:()V
goto 6
StackMap locals: com.oracle.truffle.trufflenode.info.FunctionTemplate int long java.lang.Object com.oracle.truffle.trufflenode.info.FunctionTemplate int int int
StackMap stack: com.oracle.truffle.trufflenode.info.FunctionTemplate
5: aconst_null
StackMap locals: com.oracle.truffle.trufflenode.info.FunctionTemplate int long java.lang.Object com.oracle.truffle.trufflenode.info.FunctionTemplate int int int
StackMap stack: com.oracle.truffle.trufflenode.info.FunctionTemplate com.oracle.truffle.trufflenode.info.ObjectTemplate
6: putfield com.oracle.truffle.trufflenode.info.FunctionTemplate.prototypeTemplate:Lcom/oracle/truffle/trufflenode/info/ObjectTemplate;
7: aload 0
iload 1
putfield com.oracle.truffle.trufflenode.info.FunctionTemplate.id:I
8: aload 0
lload 2
putfield com.oracle.truffle.trufflenode.info.FunctionTemplate.functionPointer:J
9: aload 0
aload 4
putfield com.oracle.truffle.trufflenode.info.FunctionTemplate.additionalData:Ljava/lang/Object;
10: aload 0
aload 5
putfield com.oracle.truffle.trufflenode.info.FunctionTemplate.signature:Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;
11: aload 0
iload 6
putfield com.oracle.truffle.trufflenode.info.FunctionTemplate.length:I
12: aload 0
iload 8
putfield com.oracle.truffle.trufflenode.info.FunctionTemplate.singleFunctionTemplate:Z
13: return
end local 8 end local 7 end local 6 end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;
0 14 1 id I
0 14 2 functionPointer J
0 14 4 additionalData Ljava/lang/Object;
0 14 5 signature Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;
0 14 6 length I
0 14 7 isConstructor Z
0 14 8 singleFunctionTemplate Z
MethodParameters:
Name Flags
id
functionPointer
additionalData
signature
length
isConstructor
singleFunctionTemplate
public com.oracle.truffle.trufflenode.info.ObjectTemplate getFunctionObjectTemplate();
descriptor: ()Lcom/oracle/truffle/trufflenode/info/ObjectTemplate;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.trufflenode.info.FunctionTemplate.functionObjectTemplate:Lcom/oracle/truffle/trufflenode/info/ObjectTemplate;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;
public com.oracle.truffle.trufflenode.info.ObjectTemplate getInstanceTemplate();
descriptor: ()Lcom/oracle/truffle/trufflenode/info/ObjectTemplate;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.trufflenode.info.FunctionTemplate.instanceTemplate:Lcom/oracle/truffle/trufflenode/info/ObjectTemplate;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;
public com.oracle.truffle.trufflenode.info.ObjectTemplate getPrototypeTemplate();
descriptor: ()Lcom/oracle/truffle/trufflenode/info/ObjectTemplate;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.trufflenode.info.FunctionTemplate.prototypeTemplate:Lcom/oracle/truffle/trufflenode/info/ObjectTemplate;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;
public void setFunctionObject(com.oracle.truffle.js.runtime.JSRealm, com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/api/object/DynamicObject;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.truffle.trufflenode.info.FunctionTemplate.singleFunctionTemplate:Z
ifeq 3
1: aload 0
aload 2
putfield com.oracle.truffle.trufflenode.info.FunctionTemplate.functionObj:Lcom/oracle/truffle/api/object/DynamicObject;
2: goto 4
3: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.getRealmEmbedderData:(Ljava/lang/Object;)Lcom/oracle/truffle/trufflenode/RealmData;
aload 0
getfield com.oracle.truffle.trufflenode.info.FunctionTemplate.id:I
aload 2
invokevirtual com.oracle.truffle.trufflenode.RealmData.setFunctionTemplateObject:(ILcom/oracle/truffle/api/object/DynamicObject;)V
4: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;
0 5 1 realm Lcom/oracle/truffle/js/runtime/JSRealm;
0 5 2 functionObj Lcom/oracle/truffle/api/object/DynamicObject;
MethodParameters:
Name Flags
realm
functionObj
public com.oracle.truffle.api.object.DynamicObject getFunctionObject(com.oracle.truffle.js.runtime.JSRealm);
descriptor: (Lcom/oracle/truffle/js/runtime/JSRealm;)Lcom/oracle/truffle/api/object/DynamicObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.trufflenode.info.FunctionTemplate.singleFunctionTemplate:Z
ifeq 1
aload 0
getfield com.oracle.truffle.trufflenode.info.FunctionTemplate.functionObj:Lcom/oracle/truffle/api/object/DynamicObject;
goto 2
StackMap locals:
StackMap stack:
1: aload 1
invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.getRealmEmbedderData:(Ljava/lang/Object;)Lcom/oracle/truffle/trufflenode/RealmData;
aload 0
getfield com.oracle.truffle.trufflenode.info.FunctionTemplate.id:I
invokevirtual com.oracle.truffle.trufflenode.RealmData.getFunctionTemplateObject:(I)Lcom/oracle/truffle/api/object/DynamicObject;
StackMap locals:
StackMap stack: com.oracle.truffle.api.object.DynamicObject
2: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;
0 3 1 realm Lcom/oracle/truffle/js/runtime/JSRealm;
MethodParameters:
Name Flags
realm
public int getID();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.trufflenode.info.FunctionTemplate.id:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;
public void setFunctionPointer(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
lload 1
putfield com.oracle.truffle.trufflenode.info.FunctionTemplate.functionPointer:J
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;
0 2 1 functionPointer J
MethodParameters:
Name Flags
functionPointer
public long getFunctionPointer();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.trufflenode.info.FunctionTemplate.functionPointer:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;
public void setAdditionalData(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield com.oracle.truffle.trufflenode.info.FunctionTemplate.additionalData:Ljava/lang/Object;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;
0 2 1 additionalData Ljava/lang/Object;
MethodParameters:
Name Flags
additionalData
public java.lang.Object getAdditionalData();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.trufflenode.info.FunctionTemplate.additionalData:Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;
public com.oracle.truffle.trufflenode.info.FunctionTemplate getSignature();
descriptor: ()Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.trufflenode.info.FunctionTemplate.signature:Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;
public int getLength();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.trufflenode.info.FunctionTemplate.length:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;
public java.lang.String getClassName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.trufflenode.info.FunctionTemplate.className:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;
public void setClassName(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield com.oracle.truffle.trufflenode.info.FunctionTemplate.className:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;
0 2 1 className Ljava/lang/String;
MethodParameters:
Name Flags
className
public com.oracle.truffle.trufflenode.info.FunctionTemplate getParent();
descriptor: ()Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.trufflenode.info.FunctionTemplate.parent:Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;
public void setParent(com.oracle.truffle.trufflenode.info.FunctionTemplate);
descriptor: (Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield com.oracle.truffle.trufflenode.info.FunctionTemplate.parent:Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;
0 2 1 parent Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;
MethodParameters:
Name Flags
parent
}
SourceFile: "FunctionTemplate.java"