class com.oracle.truffle.js.nodes.access.WriteElementNode$Uint8ClampedArrayWriteElementCacheNode extends com.oracle.truffle.js.nodes.access.WriteElementNode$AbstractTypedIntArrayWriteElementCacheNode
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.oracle.truffle.js.nodes.access.WriteElementNode$Uint8ClampedArrayWriteElementCacheNode
super_class: com.oracle.truffle.js.nodes.access.WriteElementNode$AbstractTypedIntArrayWriteElementCacheNode
{
private final com.oracle.truffle.api.profiles.ConditionProfile toIntProfile;
descriptor: Lcom/oracle/truffle/api/profiles/ConditionProfile;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private com.oracle.truffle.js.nodes.cast.JSToDoubleNode toDoubleNode;
descriptor: Lcom/oracle/truffle/js/nodes/cast/JSToDoubleNode;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Child()
void <init>(com.oracle.truffle.js.runtime.array.ScriptArray, com.oracle.truffle.js.nodes.access.WriteElementNode$ArrayWriteElementCacheNode);
descriptor: (Lcom/oracle/truffle/js/runtime/array/ScriptArray;Lcom/oracle/truffle/js/nodes/access/WriteElementNode$ArrayWriteElementCacheNode;)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 // com.oracle.truffle.js.nodes.access.WriteElementNode$Uint8ClampedArrayWriteElementCacheNode this
start local 1 // com.oracle.truffle.js.runtime.array.ScriptArray arrayType
start local 2 // com.oracle.truffle.js.nodes.access.WriteElementNode$ArrayWriteElementCacheNode arrayCacheNext
0: .line 1520
aload 0 /* this */
aload 1 /* arrayType */
aload 2 /* arrayCacheNext */
invokespecial com.oracle.truffle.js.nodes.access.WriteElementNode$AbstractTypedIntArrayWriteElementCacheNode.<init>:(Lcom/oracle/truffle/js/runtime/array/ScriptArray;Lcom/oracle/truffle/js/nodes/access/WriteElementNode$ArrayWriteElementCacheNode;)V
1: .line 1516
aload 0 /* this */
invokestatic com.oracle.truffle.api.profiles.ConditionProfile.createBinaryProfile:()Lcom/oracle/truffle/api/profiles/ConditionProfile;
putfield com.oracle.truffle.js.nodes.access.WriteElementNode$Uint8ClampedArrayWriteElementCacheNode.toIntProfile:Lcom/oracle/truffle/api/profiles/ConditionProfile;
2: .line 1521
return
end local 2 // com.oracle.truffle.js.nodes.access.WriteElementNode$ArrayWriteElementCacheNode arrayCacheNext
end local 1 // com.oracle.truffle.js.runtime.array.ScriptArray arrayType
end local 0 // com.oracle.truffle.js.nodes.access.WriteElementNode$Uint8ClampedArrayWriteElementCacheNode this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/nodes/access/WriteElementNode$Uint8ClampedArrayWriteElementCacheNode;
0 3 1 arrayType Lcom/oracle/truffle/js/runtime/array/ScriptArray;
0 3 2 arrayCacheNext Lcom/oracle/truffle/js/nodes/access/WriteElementNode$ArrayWriteElementCacheNode;
MethodParameters:
Name Flags
arrayType
arrayCacheNext
protected int toInt(java.lang.Object);
descriptor: (Ljava/lang/Object;)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=4, args_size=2
start local 0 // com.oracle.truffle.js.nodes.access.WriteElementNode$Uint8ClampedArrayWriteElementCacheNode this
start local 1 // java.lang.Object value
0: .line 1525
aload 0 /* this */
getfield com.oracle.truffle.js.nodes.access.WriteElementNode$Uint8ClampedArrayWriteElementCacheNode.toIntProfile:Lcom/oracle/truffle/api/profiles/ConditionProfile;
aload 1 /* value */
instanceof java.lang.Integer
invokevirtual com.oracle.truffle.api.profiles.ConditionProfile.profile:(Z)Z
ifeq 2
1: .line 1526
aload 1 /* value */
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
ireturn
2: .line 1528
StackMap locals:
StackMap stack:
aload 0 /* this */
aload 1 /* value */
invokevirtual com.oracle.truffle.js.nodes.access.WriteElementNode$Uint8ClampedArrayWriteElementCacheNode.toDouble:(Ljava/lang/Object;)D
dstore 2 /* doubleValue */
start local 2 // double doubleValue
3: .line 1529
dload 2 /* doubleValue */
invokestatic com.oracle.truffle.js.runtime.array.TypedArray$Uint8ClampedArray.toInt:(D)I
ireturn
end local 2 // double doubleValue
end local 1 // java.lang.Object value
end local 0 // com.oracle.truffle.js.nodes.access.WriteElementNode$Uint8ClampedArrayWriteElementCacheNode this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/js/nodes/access/WriteElementNode$Uint8ClampedArrayWriteElementCacheNode;
0 4 1 value Ljava/lang/Object;
3 4 2 doubleValue D
MethodParameters:
Name Flags
value
private double toDouble(java.lang.Object);
descriptor: (Ljava/lang/Object;)D
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 // com.oracle.truffle.js.nodes.access.WriteElementNode$Uint8ClampedArrayWriteElementCacheNode this
start local 1 // java.lang.Object value
0: .line 1534
aload 0 /* this */
getfield com.oracle.truffle.js.nodes.access.WriteElementNode$Uint8ClampedArrayWriteElementCacheNode.toDoubleNode:Lcom/oracle/truffle/js/nodes/cast/JSToDoubleNode;
ifnonnull 3
1: .line 1535
invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
2: .line 1536
aload 0 /* this */
aload 0 /* this */
invokestatic com.oracle.truffle.js.nodes.cast.JSToDoubleNode.create:()Lcom/oracle/truffle/js/nodes/cast/JSToDoubleNode;
invokevirtual com.oracle.truffle.js.nodes.access.WriteElementNode$Uint8ClampedArrayWriteElementCacheNode.insert:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
checkcast com.oracle.truffle.js.nodes.cast.JSToDoubleNode
putfield com.oracle.truffle.js.nodes.access.WriteElementNode$Uint8ClampedArrayWriteElementCacheNode.toDoubleNode:Lcom/oracle/truffle/js/nodes/cast/JSToDoubleNode;
3: .line 1538
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.oracle.truffle.js.nodes.access.WriteElementNode$Uint8ClampedArrayWriteElementCacheNode.toDoubleNode:Lcom/oracle/truffle/js/nodes/cast/JSToDoubleNode;
aload 1 /* value */
invokevirtual com.oracle.truffle.js.nodes.cast.JSToDoubleNode.executeDouble:(Ljava/lang/Object;)D
dreturn
end local 1 // java.lang.Object value
end local 0 // com.oracle.truffle.js.nodes.access.WriteElementNode$Uint8ClampedArrayWriteElementCacheNode this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/js/nodes/access/WriteElementNode$Uint8ClampedArrayWriteElementCacheNode;
0 4 1 value Ljava/lang/Object;
MethodParameters:
Name Flags
value
}
SourceFile: "WriteElementNode.java"
NestHost: com.oracle.truffle.js.nodes.access.WriteElementNode
InnerClasses:
public abstract Child = com.oracle.truffle.api.nodes.Node$Child of com.oracle.truffle.api.nodes.Node
private abstract AbstractTypedIntArrayWriteElementCacheNode = com.oracle.truffle.js.nodes.access.WriteElementNode$AbstractTypedIntArrayWriteElementCacheNode of com.oracle.truffle.js.nodes.access.WriteElementNode
abstract ArrayWriteElementCacheNode = com.oracle.truffle.js.nodes.access.WriteElementNode$ArrayWriteElementCacheNode of com.oracle.truffle.js.nodes.access.WriteElementNode
private Uint8ClampedArrayWriteElementCacheNode = com.oracle.truffle.js.nodes.access.WriteElementNode$Uint8ClampedArrayWriteElementCacheNode of com.oracle.truffle.js.nodes.access.WriteElementNode
public final Uint8ClampedArray = com.oracle.truffle.js.runtime.array.TypedArray$Uint8ClampedArray of com.oracle.truffle.js.runtime.array.TypedArray