Mercurial > hg > graal-jvmci-8
comparison graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/call/SLInvokeNode.java @ 14628:a08b8694f556
Truffle: Node API changes
deprecate adoptChild, no longer needed in constructor
add Node#insert for inserting new nodes into the tree (previously adoptChild)
add Node#adoptChildren() helper method that adopts all (direct and indirect) children of a node, automatically called in TruffleRuntime#createCallTarget
author | Andreas Woess <andreas.woess@jku.at> |
---|---|
date | Wed, 19 Mar 2014 23:11:46 +0100 |
parents | 89ac75425681 |
children | 64dcb92ee75a |
comparison
equal
deleted
inserted
replaced
14627:46c020971d9c | 14628:a08b8694f556 |
---|---|
46 @Child protected SLExpressionNode functionNode; | 46 @Child protected SLExpressionNode functionNode; |
47 @Children protected final SLExpressionNode[] argumentNodes; | 47 @Children protected final SLExpressionNode[] argumentNodes; |
48 @Child protected SLAbstractDispatchNode dispatchNode; | 48 @Child protected SLAbstractDispatchNode dispatchNode; |
49 | 49 |
50 private SLInvokeNode(SLExpressionNode functionNode, SLExpressionNode[] argumentNodes, SLAbstractDispatchNode dispatchNode) { | 50 private SLInvokeNode(SLExpressionNode functionNode, SLExpressionNode[] argumentNodes, SLAbstractDispatchNode dispatchNode) { |
51 this.functionNode = adoptChild(functionNode); | 51 this.functionNode = functionNode; |
52 this.argumentNodes = adoptChildren(argumentNodes); | 52 this.argumentNodes = argumentNodes; |
53 this.dispatchNode = adoptChild(dispatchNode); | 53 this.dispatchNode = dispatchNode; |
54 } | 54 } |
55 | 55 |
56 @Override | 56 @Override |
57 @ExplodeLoop | 57 @ExplodeLoop |
58 public Object executeGeneric(VirtualFrame frame) { | 58 public Object executeGeneric(VirtualFrame frame) { |