DescriptionSimplify stack iterators implementation
In order to fix https://code.google.com/p/chromium/issues/detail?id=252097 I
need to change SafeStackTraceFrameIterator. Stack iterators hierarchy looks
excessively complicated and I'd like to flatten it a bit by removing some
intermediate classes. In particular there are two hierarchies sharing
JavaScriptFrameIteratorTemp<T> template for no good reason.
This change extracts some of JavaScriptFrameIteratorTemp functionality directly
into SafeStackTraceFrameIterator. This made it obvious that a few checks were
performed twice.
The rest of JavaScriptFrameIteratorTemp<T> is merged with
JavaScriptFrameIterator. Now that the class is not a template some of its
implementation is moved from frames-inl.h into frames.cc
So in this change I removed JavaScriptFrameIterator and
SafeJavaScriptFrameIterator. As the next step I'm going to merge
SafeStackFrameIterator into SafeStackTraceFrameIterator.
BUG=None
R=loislo@chromium.org, svenpanne@chromium.org
Committed: https://code.google.com/p/v8/source/detail?r=15275
Patch Set 1 #Patch Set 2 : Remove ancestor of SafeStackTraceFrameIterator::Advance #Patch Set 3 : Merged JavaScriptFrameIterator with JavaScriptFrameIteratorTemp #Patch Set 4 : Moved JavaScriptFrameIterator implementation into frames.cc #Patch Set 5 : Use iterator_.frame() instead of frame() to avoid assertion failure #
Messages
Total messages: 4 (0 generated)
|