Mercurial > hg > truffle
changeset 17122:5a260e749bca
Fixes for SimpleLanguage when compiling
author | Christian Wimmer <christian.wimmer@oracle.com> |
---|---|
date | Tue, 16 Sep 2014 18:35:22 -0700 |
parents | 8ca5e41dde86 |
children | deab46118819 |
files | graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/builtins/SLHelloEqualsWorldBuiltin.java graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/builtins/SLStackTraceBuiltin.java |
diffstat | 2 files changed, 5 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/builtins/SLHelloEqualsWorldBuiltin.java Tue Sep 16 22:00:52 2014 +0200 +++ b/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/builtins/SLHelloEqualsWorldBuiltin.java Tue Sep 16 18:35:22 2014 -0700 @@ -23,6 +23,7 @@ package com.oracle.truffle.sl.builtins; import com.oracle.truffle.api.*; +import com.oracle.truffle.api.CompilerDirectives.*; import com.oracle.truffle.api.dsl.*; import com.oracle.truffle.api.frame.*; import com.oracle.truffle.api.frame.FrameInstance.FrameAccess; @@ -40,6 +41,7 @@ } @Specialization + @SlowPath public String change() { FrameInstance frameInstance = Truffle.getRuntime().getCallerFrame(); Frame frame = frameInstance.getFrame(FrameAccess.READ_WRITE, false);
--- a/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/builtins/SLStackTraceBuiltin.java Tue Sep 16 22:00:52 2014 +0200 +++ b/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/builtins/SLStackTraceBuiltin.java Tue Sep 16 18:35:22 2014 -0700 @@ -52,17 +52,17 @@ StringBuilder str = new StringBuilder(); Truffle.getRuntime().iterateFrames(frameInstance -> { - dumpFrame(str, frameInstance.getCallTarget(), frameInstance.getFrame(FrameAccess.READ_ONLY, true), frameInstance.isVirtualFrame()); + dumpFrame(str, frameInstance.getCallTarget(), frameInstance.getFrame(FrameAccess.READ_ONLY, true)); return null; }); return str.toString(); } - private static void dumpFrame(StringBuilder str, CallTarget callTarget, Frame frame, boolean isVirtual) { + private static void dumpFrame(StringBuilder str, CallTarget callTarget, Frame frame) { if (str.length() > 0) { str.append("\n"); } - str.append("Frame: ").append(callTarget).append(isVirtual ? " (virtual)" : ""); + str.append("Frame: ").append(((RootCallTarget) callTarget).getRootNode().toString()); FrameDescriptor frameDescriptor = frame.getFrameDescriptor(); for (FrameSlot s : frameDescriptor.getSlots()) { str.append(", ").append(s.getIdentifier()).append("=").append(frame.getValue(s));