Mercurial > hg > graal-compiler
comparison graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/builtins/SLStackTraceBuiltin.java @ 15088:d3add9b82b71
change to StackIntrospection and Truffle getStackTrace implementation
author | Lukas Stadler <lukas.stadler@oracle.com> |
---|---|
date | Mon, 14 Apr 2014 18:20:09 +0200 |
parents | f675818d9ad0 |
children | a1b0d7a1ef40 |
comparison
equal
deleted
inserted
replaced
15087:f3e74d317e83 | 15088:d3add9b82b71 |
---|---|
44 | 44 |
45 @SlowPath | 45 @SlowPath |
46 private static String createStackTrace() { | 46 private static String createStackTrace() { |
47 StringBuilder str = new StringBuilder(); | 47 StringBuilder str = new StringBuilder(); |
48 for (FrameInstance frame : Truffle.getRuntime().getStackTrace()) { | 48 for (FrameInstance frame : Truffle.getRuntime().getStackTrace()) { |
49 dumpFrame(str, frame.getCallNode().getRootNode(), frame.getFrame(FrameAccess.READ_ONLY, true), frame.isVirtualFrame()); | 49 dumpFrame(str, frame.getCallTarget(), frame.getFrame(FrameAccess.READ_ONLY, true), frame.isVirtualFrame()); |
50 } | 50 } |
51 return str.toString(); | 51 return str.toString(); |
52 } | 52 } |
53 | 53 |
54 private static void dumpFrame(StringBuilder str, RootNode rootNode, Frame frame, boolean isVirtual) { | 54 private static void dumpFrame(StringBuilder str, CallTarget rootNode, Frame frame, boolean isVirtual) { |
55 if (str.length() > 0) { | 55 if (str.length() > 0) { |
56 str.append("\n"); | 56 str.append("\n"); |
57 } | 57 } |
58 str.append("Frame: ").append(rootNode).append(isVirtual ? " (virtual)" : ""); | 58 str.append("Frame: ").append(rootNode).append(isVirtual ? " (virtual)" : ""); |
59 FrameDescriptor frameDescriptor = frame.getFrameDescriptor(); | 59 FrameDescriptor frameDescriptor = frame.getFrameDescriptor(); |