-
- Downloads
Replacement refactoring
Replacements are broken down to individual calls lazily on first execution. This is done by new ReplacementBlockNode, which executes RHS store to tmp variable then the actual replacement and then it returns the RHS value. ReplacementBlockNode creates the node for actual replacement depending on the replacement structure: if all the calls are specials, it creates ReplacementNodeSpecial, which takes advantage of the properties of specials. Otherwise it creates regular replacement node that executes exactly the same function calls as GnuR would.
Showing
- com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/RRuntimeASTAccessImpl.java 6 additions, 20 deletions...rc/com/oracle/truffle/r/engine/RRuntimeASTAccessImpl.java
- com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/infix/AccessField.java 1 addition, 1 deletion...racle/truffle/r/nodes/builtin/base/infix/AccessField.java
- com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/infix/Subscript.java 1 addition, 1 deletion.../oracle/truffle/r/nodes/builtin/base/infix/Subscript.java
- com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/infix/Subset.java 8 additions, 2 deletions...com/oracle/truffle/r/nodes/builtin/base/infix/Subset.java
- com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/infix/UpdateField.java 1 addition, 2 deletions...racle/truffle/r/nodes/builtin/base/infix/UpdateField.java
- com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/infix/UpdateSubscript.java 20 additions, 10 deletions...e/truffle/r/nodes/builtin/base/infix/UpdateSubscript.java
- com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/infix/UpdateSubset.java 1 addition, 1 deletion...acle/truffle/r/nodes/builtin/base/infix/UpdateSubset.java
- com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/RASTBuilder.java 9 additions, 160 deletions...e.r.nodes/src/com/oracle/truffle/r/nodes/RASTBuilder.java
- com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/BinaryArithmeticSpecial.java 3 additions, 2 deletions...racle/truffle/r/nodes/binary/BinaryArithmeticSpecial.java
- com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/BinaryBooleanSpecial.java 1 addition, 1 deletion...m/oracle/truffle/r/nodes/binary/BinaryBooleanSpecial.java
- com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/control/ReplacementBlockNode.java 455 additions, 0 deletions.../oracle/truffle/r/nodes/control/ReplacementBlockNode.java
- com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/control/ReplacementNode.java 0 additions, 172 deletions...c/com/oracle/truffle/r/nodes/control/ReplacementNode.java
- com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/function/RCallSpecialNode.java 23 additions, 5 deletions...com/oracle/truffle/r/nodes/function/RCallSpecialNode.java
- com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/builtins/RSpecialFactory.java 6 additions, 1 deletion...om/oracle/truffle/r/runtime/builtins/RSpecialFactory.java
Loading
Please register or sign in to comment