public abstract class com.oracle.truffle.js.builtins.AtomicsBuiltins$AtomicsLoadNode extends com.oracle.truffle.js.builtins.AtomicsBuiltins$AtomicsOperationNode
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: com.oracle.truffle.js.builtins.AtomicsBuiltins$AtomicsLoadNode
super_class: com.oracle.truffle.js.builtins.AtomicsBuiltins$AtomicsOperationNode
{
public void <init>(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.function.JSBuiltin);
descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/function/JSBuiltin;)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
aload 1
aload 2
invokespecial com.oracle.truffle.js.builtins.AtomicsBuiltins$AtomicsOperationNode.<init>:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/function/JSBuiltin;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/builtins/AtomicsBuiltins$AtomicsLoadNode;
0 2 1 context Lcom/oracle/truffle/js/runtime/JSContext;
0 2 2 builtin Lcom/oracle/truffle/js/nodes/function/JSBuiltin;
MethodParameters:
Name Flags
context
builtin
public abstract java.lang.Object executeWithBufferAndIndex(com.oracle.truffle.api.frame.VirtualFrame, java.lang.Object, java.lang.Object);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
frame
target
index
protected int doInt8ArrayObj(com.oracle.truffle.api.object.DynamicObject, int);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;I)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
iload 2
invokestatic com.oracle.truffle.js.builtins.helper.SharedMemorySync.doVolatileGet:(Lcom/oracle/truffle/api/object/DynamicObject;I)I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/builtins/AtomicsBuiltins$AtomicsLoadNode;
0 1 1 target Lcom/oracle/truffle/api/object/DynamicObject;
0 1 2 index I
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization(guards = {"isInt8SharedBufferView(target)", "inboundFast(target,index)"})
MethodParameters:
Name Flags
target
index
protected int doUint8ArrayObj(com.oracle.truffle.api.object.DynamicObject, int);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;I)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
iload 2
invokestatic com.oracle.truffle.js.builtins.helper.SharedMemorySync.doVolatileGet:(Lcom/oracle/truffle/api/object/DynamicObject;I)I
sipush 255
iand
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/builtins/AtomicsBuiltins$AtomicsLoadNode;
0 1 1 target Lcom/oracle/truffle/api/object/DynamicObject;
0 1 2 index I
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization(guards = {"isUint8SharedBufferView(target)", "inboundFast(target,index)"})
MethodParameters:
Name Flags
target
index
protected int doInt16ArrayObj(com.oracle.truffle.api.object.DynamicObject, int);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;I)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
iload 2
invokestatic com.oracle.truffle.js.builtins.helper.SharedMemorySync.doVolatileGet:(Lcom/oracle/truffle/api/object/DynamicObject;I)I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/builtins/AtomicsBuiltins$AtomicsLoadNode;
0 1 1 target Lcom/oracle/truffle/api/object/DynamicObject;
0 1 2 index I
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization(guards = {"isInt16SharedBufferView(target)", "inboundFast(target,index)"})
MethodParameters:
Name Flags
target
index
protected int doUint16ArrayObj(com.oracle.truffle.api.object.DynamicObject, int);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;I)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
iload 2
invokestatic com.oracle.truffle.js.builtins.helper.SharedMemorySync.doVolatileGet:(Lcom/oracle/truffle/api/object/DynamicObject;I)I
ldc 65535
iand
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/builtins/AtomicsBuiltins$AtomicsLoadNode;
0 1 1 target Lcom/oracle/truffle/api/object/DynamicObject;
0 1 2 index I
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization(guards = {"isUint16SharedBufferView(target)", "inboundFast(target,index)"})
MethodParameters:
Name Flags
target
index
protected int doInt32ArrayObj(com.oracle.truffle.api.object.DynamicObject, int);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;I)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
iload 2
invokestatic com.oracle.truffle.js.builtins.helper.SharedMemorySync.doVolatileGet:(Lcom/oracle/truffle/api/object/DynamicObject;I)I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/builtins/AtomicsBuiltins$AtomicsLoadNode;
0 1 1 target Lcom/oracle/truffle/api/object/DynamicObject;
0 1 2 index I
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization(guards = {"isInt32SharedBufferView(target)", "inboundFast(target,index)"})
MethodParameters:
Name Flags
target
index
protected com.oracle.truffle.js.runtime.SafeInteger doUint32ArrayObj(com.oracle.truffle.api.object.DynamicObject, int);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;I)Lcom/oracle/truffle/js/runtime/SafeInteger;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
iload 2
invokestatic com.oracle.truffle.js.builtins.helper.SharedMemorySync.doVolatileGet:(Lcom/oracle/truffle/api/object/DynamicObject;I)I
i2l
ldc 4294967295
land
invokestatic com.oracle.truffle.js.runtime.SafeInteger.valueOf:(J)Lcom/oracle/truffle/js/runtime/SafeInteger;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/builtins/AtomicsBuiltins$AtomicsLoadNode;
0 1 1 target Lcom/oracle/truffle/api/object/DynamicObject;
0 1 2 index I
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization(guards = {"isUint32SharedBufferView(target)", "inboundFast(target,index)"})
MethodParameters:
Name Flags
target
index
protected com.oracle.truffle.js.runtime.BigInt doBigInt64ArrayObj(com.oracle.truffle.api.object.DynamicObject, int);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;I)Lcom/oracle/truffle/js/runtime/BigInt;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
iload 2
invokestatic com.oracle.truffle.js.builtins.helper.SharedMemorySync.doVolatileGetBigInt:(Lcom/oracle/truffle/api/object/DynamicObject;I)Lcom/oracle/truffle/js/runtime/BigInt;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/builtins/AtomicsBuiltins$AtomicsLoadNode;
0 1 1 target Lcom/oracle/truffle/api/object/DynamicObject;
0 1 2 index I
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization(guards = {"isBigInt64SharedBufferView(target)", "inboundFast(target,index)"})
MethodParameters:
Name Flags
target
index
protected com.oracle.truffle.js.runtime.BigInt doBigUint64ArrayObj(com.oracle.truffle.api.object.DynamicObject, int);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;I)Lcom/oracle/truffle/js/runtime/BigInt;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
iload 2
invokestatic com.oracle.truffle.js.builtins.helper.SharedMemorySync.doVolatileGetBigInt:(Lcom/oracle/truffle/api/object/DynamicObject;I)Lcom/oracle/truffle/js/runtime/BigInt;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/builtins/AtomicsBuiltins$AtomicsLoadNode;
0 1 1 target Lcom/oracle/truffle/api/object/DynamicObject;
0 1 2 index I
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization(guards = {"isBigUint64SharedBufferView(target)", "inboundFast(target,index)"})
MethodParameters:
Name Flags
target
index
protected int doInt32ArrayObjObjIdx(com.oracle.truffle.api.object.DynamicObject, java.lang.Object, com.oracle.truffle.js.nodes.cast.JSToIndexNode);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Lcom/oracle/truffle/js/nodes/cast/JSToIndexNode;)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
aload 3
aload 2
invokevirtual com.oracle.truffle.js.nodes.cast.JSToIndexNode.executeLong:(Ljava/lang/Object;)J
aload 2
invokestatic com.oracle.truffle.js.builtins.AtomicsBuiltins$AtomicsLoadNode.validateAtomicAccess:(Lcom/oracle/truffle/api/object/DynamicObject;JLjava/lang/Object;)I
istore 4
start local 4 1: aload 1
iload 4
invokestatic com.oracle.truffle.js.builtins.helper.SharedMemorySync.doVolatileGet:(Lcom/oracle/truffle/api/object/DynamicObject;I)I
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/builtins/AtomicsBuiltins$AtomicsLoadNode;
0 2 1 target Lcom/oracle/truffle/api/object/DynamicObject;
0 2 2 index Ljava/lang/Object;
0 2 3 toIndexNode Lcom/oracle/truffle/js/nodes/cast/JSToIndexNode;
1 2 4 intIndex I
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization(guards = {"isInt32SharedBufferView(target)"})
RuntimeInvisibleParameterAnnotations:
0:
1:
2:
com.oracle.truffle.api.dsl.Cached(value = "create()")
MethodParameters:
Name Flags
target
index
toIndexNode
protected java.lang.Object doGeneric(java.lang.Object, java.lang.Object, com.oracle.truffle.js.nodes.cast.JSToIndexNode);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/js/nodes/cast/JSToIndexNode;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.builtins.AtomicsBuiltins$AtomicsLoadNode.ensureDynamicObject:(Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObject;
astore 4
start local 4 1: aload 0
aload 4
iconst_0
invokevirtual com.oracle.truffle.js.builtins.AtomicsBuiltins$AtomicsLoadNode.validateSharedIntegerTypedArray:(Lcom/oracle/truffle/api/object/DynamicObject;Z)Lcom/oracle/truffle/js/runtime/array/TypedArray;
astore 5
start local 5 2: aload 4
aload 3
aload 2
invokevirtual com.oracle.truffle.js.nodes.cast.JSToIndexNode.executeLong:(Ljava/lang/Object;)J
aload 2
invokestatic com.oracle.truffle.js.builtins.AtomicsBuiltins$AtomicsLoadNode.validateAtomicAccess:(Lcom/oracle/truffle/api/object/DynamicObject;JLjava/lang/Object;)I
istore 6
start local 6 3: aload 5
instanceof com.oracle.truffle.js.runtime.array.TypedArray$DirectInt8Array
ifeq 5
4: aload 4
iload 6
invokestatic com.oracle.truffle.js.builtins.helper.SharedMemorySync.doVolatileGet:(Lcom/oracle/truffle/api/object/DynamicObject;I)I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
5: StackMap locals: com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.js.runtime.array.TypedArray int
StackMap stack:
aload 5
instanceof com.oracle.truffle.js.runtime.array.TypedArray$DirectUint8Array
ifeq 7
6: aload 4
iload 6
invokestatic com.oracle.truffle.js.builtins.helper.SharedMemorySync.doVolatileGet:(Lcom/oracle/truffle/api/object/DynamicObject;I)I
sipush 255
iand
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
7: StackMap locals:
StackMap stack:
aload 5
instanceof com.oracle.truffle.js.runtime.array.TypedArray$DirectInt16Array
ifeq 9
8: aload 4
iload 6
invokestatic com.oracle.truffle.js.builtins.helper.SharedMemorySync.doVolatileGet:(Lcom/oracle/truffle/api/object/DynamicObject;I)I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
9: StackMap locals:
StackMap stack:
aload 5
instanceof com.oracle.truffle.js.runtime.array.TypedArray$DirectUint16Array
ifeq 11
10: aload 4
iload 6
invokestatic com.oracle.truffle.js.builtins.helper.SharedMemorySync.doVolatileGet:(Lcom/oracle/truffle/api/object/DynamicObject;I)I
ldc 65535
iand
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
11: StackMap locals:
StackMap stack:
aload 5
instanceof com.oracle.truffle.js.runtime.array.TypedArray$DirectInt32Array
ifeq 13
12: aload 4
iload 6
invokestatic com.oracle.truffle.js.builtins.helper.SharedMemorySync.doVolatileGet:(Lcom/oracle/truffle/api/object/DynamicObject;I)I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
13: StackMap locals:
StackMap stack:
aload 5
instanceof com.oracle.truffle.js.runtime.array.TypedArray$DirectUint32Array
ifeq 15
14: aload 4
iload 6
invokestatic com.oracle.truffle.js.builtins.helper.SharedMemorySync.doVolatileGet:(Lcom/oracle/truffle/api/object/DynamicObject;I)I
i2l
ldc 4294967295
land
invokestatic com.oracle.truffle.js.runtime.SafeInteger.valueOf:(J)Lcom/oracle/truffle/js/runtime/SafeInteger;
areturn
15: StackMap locals:
StackMap stack:
aload 5
instanceof com.oracle.truffle.js.runtime.array.TypedArray$DirectBigInt64Array
ifeq 17
16: aload 4
iload 6
invokestatic com.oracle.truffle.js.builtins.helper.SharedMemorySync.doVolatileGetBigInt:(Lcom/oracle/truffle/api/object/DynamicObject;I)Lcom/oracle/truffle/js/runtime/BigInt;
areturn
17: StackMap locals:
StackMap stack:
aload 5
instanceof com.oracle.truffle.js.runtime.array.TypedArray$DirectBigUint64Array
ifeq 19
18: aload 4
iload 6
invokestatic com.oracle.truffle.js.builtins.helper.SharedMemorySync.doVolatileGetBigInt:(Lcom/oracle/truffle/api/object/DynamicObject;I)Lcom/oracle/truffle/js/runtime/BigInt;
areturn
19: StackMap locals:
StackMap stack:
invokestatic com.oracle.truffle.js.runtime.Errors.shouldNotReachHere:()Ljava/lang/RuntimeException;
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 20 0 this Lcom/oracle/truffle/js/builtins/AtomicsBuiltins$AtomicsLoadNode;
0 20 1 maybeTarget Ljava/lang/Object;
0 20 2 index Ljava/lang/Object;
0 20 3 toIndexNode Lcom/oracle/truffle/js/nodes/cast/JSToIndexNode;
1 20 4 target Lcom/oracle/truffle/api/object/DynamicObject;
2 20 5 ta Lcom/oracle/truffle/js/runtime/array/TypedArray;
3 20 6 intIndex I
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization()
RuntimeInvisibleParameterAnnotations:
0:
1:
2:
com.oracle.truffle.api.dsl.Cached(value = "create()")
MethodParameters:
Name Flags
maybeTarget
index
toIndexNode
}
SourceFile: "AtomicsBuiltins.java"
NestHost: com.oracle.truffle.js.builtins.AtomicsBuiltins
InnerClasses:
public abstract AtomicsLoadNode = com.oracle.truffle.js.builtins.AtomicsBuiltins$AtomicsLoadNode of com.oracle.truffle.js.builtins.AtomicsBuiltins
public abstract AtomicsOperationNode = com.oracle.truffle.js.builtins.AtomicsBuiltins$AtomicsOperationNode of com.oracle.truffle.js.builtins.AtomicsBuiltins
public final DirectBigInt64Array = com.oracle.truffle.js.runtime.array.TypedArray$DirectBigInt64Array of com.oracle.truffle.js.runtime.array.TypedArray
public final DirectBigUint64Array = com.oracle.truffle.js.runtime.array.TypedArray$DirectBigUint64Array of com.oracle.truffle.js.runtime.array.TypedArray
public final DirectInt16Array = com.oracle.truffle.js.runtime.array.TypedArray$DirectInt16Array of com.oracle.truffle.js.runtime.array.TypedArray
public final DirectInt32Array = com.oracle.truffle.js.runtime.array.TypedArray$DirectInt32Array of com.oracle.truffle.js.runtime.array.TypedArray
public final DirectInt8Array = com.oracle.truffle.js.runtime.array.TypedArray$DirectInt8Array of com.oracle.truffle.js.runtime.array.TypedArray
public final DirectUint16Array = com.oracle.truffle.js.runtime.array.TypedArray$DirectUint16Array of com.oracle.truffle.js.runtime.array.TypedArray
public final DirectUint32Array = com.oracle.truffle.js.runtime.array.TypedArray$DirectUint32Array of com.oracle.truffle.js.runtime.array.TypedArray
public final DirectUint8Array = com.oracle.truffle.js.runtime.array.TypedArray$DirectUint8Array of com.oracle.truffle.js.runtime.array.TypedArray