Title: [172807] trunk/Source/_javascript_Core
- Revision
- 172807
- Author
- msab...@apple.com
- Date
- 2014-08-20 13:28:24 -0700 (Wed, 20 Aug 2014)
Log Message
REGRESSION: Web Inspector crashes when reloading apple.com with Timeline recording active
https://bugs.webkit.org/show_bug.cgi?id=136034
Reviewed by Mark Lam.
DebuggerCallFrame::positionForCallFrame is trying to unwind starting somewhere in the middle
of the stack. Hardened StackVisitor to skip over the frames between the current top frame
and the requested start frame.
* interpreter/StackVisitor.cpp:
(JSC::StackVisitor::StackVisitor):
Modified Paths
Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (172806 => 172807)
--- trunk/Source/_javascript_Core/ChangeLog 2014-08-20 20:19:50 UTC (rev 172806)
+++ trunk/Source/_javascript_Core/ChangeLog 2014-08-20 20:28:24 UTC (rev 172807)
@@ -1,3 +1,17 @@
+2014-08-20 Michael Saboff <msab...@apple.com>
+
+ REGRESSION: Web Inspector crashes when reloading apple.com with Timeline recording active
+ https://bugs.webkit.org/show_bug.cgi?id=136034
+
+ Reviewed by Mark Lam.
+
+ DebuggerCallFrame::positionForCallFrame is trying to unwind starting somewhere in the middle
+ of the stack. Hardened StackVisitor to skip over the frames between the current top frame
+ and the requested start frame.
+
+ * interpreter/StackVisitor.cpp:
+ (JSC::StackVisitor::StackVisitor):
+
2014-08-20 Brent Fulgham <bfulg...@apple.com>
[Win] _javascript_Core.dll is missing version information.
Modified: trunk/Source/_javascript_Core/interpreter/StackVisitor.cpp (172806 => 172807)
--- trunk/Source/_javascript_Core/interpreter/StackVisitor.cpp 2014-08-20 20:19:50 UTC (rev 172806)
+++ trunk/Source/_javascript_Core/interpreter/StackVisitor.cpp 2014-08-20 20:28:24 UTC (rev 172807)
@@ -38,12 +38,20 @@
StackVisitor::StackVisitor(CallFrame* startFrame)
{
m_frame.m_index = 0;
- if (startFrame)
+ CallFrame* topFrame;
+ if (startFrame) {
m_frame.m_VMEntryFrame = startFrame->vm().topVMEntryFrame;
- else
+ topFrame = startFrame->vm().topCallFrame;
+ } else {
m_frame.m_VMEntryFrame = 0;
+ topFrame = 0;
+ }
m_frame.m_callerIsVMEntryFrame = false;
- readFrame(startFrame);
+ readFrame(topFrame);
+
+ // Find the frame the caller wants to start unwinding from.
+ while (m_frame.callFrame() && m_frame.callFrame() != startFrame)
+ gotoNextFrame();
}
void StackVisitor::gotoNextFrame()
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes