public abstract class com.oracle.truffle.js.builtins.math.MathOperation extends com.oracle.truffle.js.nodes.function.JSBuiltinNode
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: com.oracle.truffle.js.builtins.math.MathOperation
super_class: com.oracle.truffle.js.nodes.function.JSBuiltinNode
{
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()
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 // com.oracle.truffle.js.builtins.math.MathOperation this
start local 1 // com.oracle.truffle.js.runtime.JSContext context
start local 2 // com.oracle.truffle.js.nodes.function.JSBuiltin builtin
0: .line 52
aload 0 /* this */
aload 1 /* context */
aload 2 /* builtin */
invokespecial com.oracle.truffle.js.nodes.function.JSBuiltinNode.<init>:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/function/JSBuiltin;)V
1: .line 53
return
end local 2 // com.oracle.truffle.js.nodes.function.JSBuiltin builtin
end local 1 // com.oracle.truffle.js.runtime.JSContext context
end local 0 // com.oracle.truffle.js.builtins.math.MathOperation this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/builtins/math/MathOperation;
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
protected final double toDouble(java.lang.Object);
descriptor: (Ljava/lang/Object;)D
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=3, locals=2, args_size=2
start local 0 // com.oracle.truffle.js.builtins.math.MathOperation this
start local 1 // java.lang.Object target
0: .line 58
aload 0 /* this */
getfield com.oracle.truffle.js.builtins.math.MathOperation.toDoubleNode:Lcom/oracle/truffle/js/nodes/cast/JSToDoubleNode;
ifnonnull 3
1: .line 59
invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
2: .line 60
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.builtins.math.MathOperation.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.builtins.math.MathOperation.toDoubleNode:Lcom/oracle/truffle/js/nodes/cast/JSToDoubleNode;
3: .line 62
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.oracle.truffle.js.builtins.math.MathOperation.toDoubleNode:Lcom/oracle/truffle/js/nodes/cast/JSToDoubleNode;
aload 1 /* target */
invokevirtual com.oracle.truffle.js.nodes.cast.JSToDoubleNode.executeDouble:(Ljava/lang/Object;)D
dreturn
end local 1 // java.lang.Object target
end local 0 // com.oracle.truffle.js.builtins.math.MathOperation this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/js/builtins/math/MathOperation;
0 4 1 target Ljava/lang/Object;
MethodParameters:
Name Flags
target
}
SourceFile: "MathOperation.java"
InnerClasses:
public abstract Child = com.oracle.truffle.api.nodes.Node$Child of com.oracle.truffle.api.nodes.Node