diff graal/com.oracle.truffle.api/src/com/oracle/truffle/api/impl/DefaultCallTarget.java @ 15064:f675818d9ad0

new getStackTrace and getCurrentFrame functionality in TruffleRuntime
author Lukas Stadler <lukas.stadler@oracle.com>
date Fri, 11 Apr 2014 11:53:11 +0200
parents 64dcb92ee75a
children 083e9e4df58a
line wrap: on
line diff
--- a/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/impl/DefaultCallTarget.java	Fri Apr 11 11:52:19 2014 +0200
+++ b/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/impl/DefaultCallTarget.java	Fri Apr 11 11:53:11 2014 +0200
@@ -25,6 +25,7 @@
 package com.oracle.truffle.api.impl;
 
 import com.oracle.truffle.api.*;
+import com.oracle.truffle.api.CompilerDirectives.CompilationFinal;
 import com.oracle.truffle.api.frame.*;
 import com.oracle.truffle.api.nodes.*;
 
@@ -34,6 +35,8 @@
  */
 public class DefaultCallTarget extends RootCallTarget {
 
+    @CompilationFinal protected boolean needsMaterializedFrame = true;
+
     protected DefaultCallTarget(RootNode function) {
         super(function);
     }
@@ -41,6 +44,11 @@
     @Override
     public Object call(Object[] args) {
         VirtualFrame frame = new DefaultVirtualFrame(getRootNode().getFrameDescriptor(), args);
-        return getRootNode().execute(frame);
+        return callProxy(frame);
+    }
+
+    @Override
+    public void setNeedsMaterializedFrame() {
+        needsMaterializedFrame = true;
     }
 }