# HG changeset patch # User Christian Wimmer # Date 1410917722 25200 # Node ID 5a260e749bcab06a9e6901d238accf2965ee5954 # Parent 8ca5e41dde86eb7107c9820e1abc32f5c0995cbd Fixes for SimpleLanguage when compiling diff -r 8ca5e41dde86 -r 5a260e749bca graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/builtins/SLHelloEqualsWorldBuiltin.java --- 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); diff -r 8ca5e41dde86 -r 5a260e749bca graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/builtins/SLStackTraceBuiltin.java --- 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));