Skip to content

Commit 69514f4

Browse files
committed
allow stack walks in compiled code behind boundary
1 parent 867a7bf commit 69514f4

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/nodes/frame/ReadCallerFrameNode.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@
5050
import com.oracle.graal.python.runtime.PythonContext;
5151
import com.oracle.truffle.api.CompilerDirectives;
5252
import com.oracle.truffle.api.CompilerDirectives.CompilationFinal;
53+
import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary;
5354
import com.oracle.truffle.api.RootCallTarget;
5455
import com.oracle.truffle.api.Truffle;
5556
import com.oracle.truffle.api.frame.Frame;
@@ -240,7 +241,6 @@ private PFrame.Reference walkLevels(VirtualFrame frame, PFrame.Reference startFr
240241
* @param frameAccess - the desired {@link FrameInstance} access kind
241242
*/
242243
public static Frame getCurrentFrame(Node requestingNode, FrameInstance.FrameAccess frameAccess) {
243-
CompilerDirectives.transferToInterpreterAndInvalidate();
244244
return getFrame(Objects.requireNonNull(requestingNode), null, frameAccess, FrameSelector.ALL_PYTHON_FRAMES, 0);
245245
}
246246

@@ -260,8 +260,8 @@ public static Frame getCallerFrame(PFrame.Reference startFrame, FrameInstance.Fr
260260
return getFrame(null, Objects.requireNonNull(startFrame), frameAccess, selector, level);
261261
}
262262

263+
@TruffleBoundary
263264
private static Frame getFrame(Node requestingNode, PFrame.Reference startFrame, FrameInstance.FrameAccess frameAccess, FrameSelector selector, int level) {
264-
assert CompilerDirectives.inInterpreter();
265265
final Frame[] outputFrame = new Frame[1];
266266
Truffle.getRuntime().iterateFrames(new FrameInstanceVisitor<Frame>() {
267267
int i = -1;

0 commit comments

Comments
 (0)