Mercurial > hg > graal-compiler
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; } }