# HG changeset patch # User David Piorkowski # Date 1407281728 25200 # Node ID fc9d2d0819959c538a9264d63451899852493830 # Parent 2a5ec181dad4c15ad30cd259a0cf1ef12d846782# Parent 86a687ee6bf853cdfc83b9082785d1bf709f7578 Merge. diff -r 2a5ec181dad4 -r fc9d2d081995 graal/com.oracle.truffle.api/src/com/oracle/truffle/api/impl/DefaultIndirectCallNode.java --- a/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/impl/DefaultIndirectCallNode.java Tue Aug 05 16:34:08 2014 -0700 +++ b/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/impl/DefaultIndirectCallNode.java Tue Aug 05 16:35:28 2014 -0700 @@ -32,10 +32,32 @@ * This is runtime specific API. Do not use in a guest language. */ final class DefaultIndirectCallNode extends IndirectCallNode { + @Override + public Object call(final VirtualFrame frame, final CallTarget target, Object[] arguments) { + DefaultTruffleRuntime truffleRuntime = (DefaultTruffleRuntime) Truffle.getRuntime(); + final CallTarget currentCallTarget = truffleRuntime.getCurrentFrame().getCallTarget(); + FrameInstance frameInstance = new FrameInstance() { + public Frame getFrame(FrameAccess access, boolean slowPath) { + return frame; + } - @Override - public Object call(VirtualFrame frame, CallTarget target, Object[] arguments) { - return target.call(arguments); + public boolean isVirtualFrame() { + return false; + } + + public Node getCallNode() { + return DefaultIndirectCallNode.this; + } + + public CallTarget getCallTarget() { + return currentCallTarget; + } + }; + truffleRuntime.pushFrame(frameInstance); + try { + return target.call(arguments); + } finally { + truffleRuntime.popFrame(); + } } - } diff -r 2a5ec181dad4 -r fc9d2d081995 mx/mx_graal.py --- a/mx/mx_graal.py Tue Aug 05 16:34:08 2014 -0700 +++ b/mx/mx_graal.py Tue Aug 05 16:35:28 2014 -0700 @@ -1545,6 +1545,7 @@ """install Truffle into your local Maven repository""" mx.archive(["@TRUFFLE"]) mx.run(['mvn', 'install:install-file', '-DgroupId=com.oracle', '-DartifactId=truffle', '-Dversion=' + graal_version('SNAPSHOT'), '-Dpackaging=jar', '-Dfile=build/truffle.jar']) + mx.archive(["@TRUFFLE-DSL-PROCESSOR"]) mx.run(['mvn', 'install:install-file', '-DgroupId=com.oracle', '-DartifactId=truffle-dsl-processor', '-Dversion=' + graal_version('SNAPSHOT'), '-Dpackaging=jar', '-Dfile=build/truffle-dsl-processor.jar']) def c1visualizer(args):