Mercurial > hg > truffle
diff graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/NodeUtil.java @ 19758:f682b9e6ca07
Truffle: expose non-atomic replace API to Truffle DSL to avoid multiple RootNode lookups for multiple replaces in one atomic block.
author | Christian Humer <christian.humer@gmail.com> |
---|---|
date | Tue, 10 Mar 2015 19:38:07 +0100 |
parents | 73811d1b4cd0 |
children | a0971187a38a |
line wrap: on
line diff
--- a/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/NodeUtil.java Tue Mar 10 19:28:26 2015 +0100 +++ b/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/NodeUtil.java Tue Mar 10 19:38:07 2015 +0100 @@ -597,6 +597,11 @@ return nodes; } + public static <T extends Node> T nonAtomicReplace(Node oldNode, T newNode, CharSequence reason) { + oldNode.replaceHelper(newNode, reason); + return newNode; + } + public static boolean replaceChild(Node parent, Node oldChild, Node newChild) { NodeClass nodeClass = NodeClass.get(parent.getClass());