void popFrame() { DefaultFrameInstance callerFrame = getThreadLocalStackTrace().callerFrame; if (callerFrame != null) { setThreadLocalStackTrace(new DefaultFrameInstance(callerFrame.frame, callerFrame.target, null, callerFrame.callerFrame)); } else { setThreadLocalStackTrace(null); } }
void popFrame() { DefaultFrameInstance callerFrame = getThreadLocalStackTrace().callerFrame; if (callerFrame != null) { setThreadLocalStackTrace(new DefaultFrameInstance(callerFrame.frame, callerFrame.target, null, callerFrame.callerFrame)); } else { setThreadLocalStackTrace(null); } }
void pushFrame(VirtualFrame frame, CallTarget target) { setThreadLocalStackTrace(new DefaultFrameInstance(frame, target, null, getThreadLocalStackTrace())); }
void pushFrame(VirtualFrame frame, CallTarget target) { setThreadLocalStackTrace(new DefaultFrameInstance(frame, target, null, getThreadLocalStackTrace())); }
void pushFrame(VirtualFrame frame, CallTarget target, Node parentCallNode) { DefaultFrameInstance currentFrame = getThreadLocalStackTrace(); // we need to ensure that frame instances are immutable so we need to recreate the parent // frame if (currentFrame != null) { currentFrame = new DefaultFrameInstance(currentFrame.frame, currentFrame.target, parentCallNode, currentFrame.callerFrame); } setThreadLocalStackTrace(new DefaultFrameInstance(frame, target, null, currentFrame)); }
void pushFrame(VirtualFrame frame, CallTarget target, Node parentCallNode) { DefaultFrameInstance currentFrame = getThreadLocalStackTrace(); // we need to ensure that frame instances are immutable so we need to recreate the parent // frame if (currentFrame != null) { currentFrame = new DefaultFrameInstance(currentFrame.frame, currentFrame.target, parentCallNode, currentFrame.callerFrame); } setThreadLocalStackTrace(new DefaultFrameInstance(frame, target, null, currentFrame)); }