From ec0c967db0523486086ea2a91ec43ed2bdf2ee1b Mon Sep 17 00:00:00 2001
From: Lukas Stadler <lukas.stadler@oracle.com>
Date: Tue, 19 Aug 2014 19:03:50 +0200
Subject: [PATCH] materialize frame in promise evaluation

---
 .../src/com/oracle/truffle/r/engine/REngine.java               | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/REngine.java b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/REngine.java
index 479e91a8f5..a3041d5084 100644
--- a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/REngine.java
+++ b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/REngine.java
@@ -404,7 +404,8 @@ public final class REngine implements RContext.Engine {
         Object result = null;
         try {
             try {
-                result = callTarget.call(frame);
+                // FIXME: callTargets should only be called via Direct/IndirectCallNode
+                result = callTarget.call(frame.materialize());
             } catch (ControlFlowException cfe) {
                 throw RError.error(frame, RError.Message.NO_LOOP_FOR_BREAK_NEXT);
             }
-- 
GitLab