[webkit-reviews] review requested: [Bug 119657] JSC: Change StackIterator to not require writes to the JS stack : [Attachment 209830] patch 2: StackIterator::Frame is its own class (no longer dependent on CallFrame).

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Aug 27 18:10:31 PDT 2013


Mark Lam <mark.lam at apple.com> has asked  for review:
Bug 119657: JSC: Change StackIterator to not require writes to the JS stack
https://bugs.webkit.org/show_bug.cgi?id=119657

Attachment 209830: patch 2: StackIterator::Frame is its own class (no longer
dependent on CallFrame). 
https://bugs.webkit.org/attachment.cgi?id=209830&action=review

------- Additional Comments from Mark Lam <mark.lam at apple.com>
With patch 2, StackIterator::Frame no longer inherits from CallFrame.  The
current CallFrame* is stored in the embedded StackIterator::Frame's m_callFrame
(because it's needed there) instead of having a second copy of that pointer in
StackIterator.

This implementation did not add an explicit "next action" indicator.  Instead,
it relies on a readFrame() function that knows how to extract info from the
current frame.	To determine how to get the caller / next frame, we check if
the current frame is an inlined frame.	If the current frame is inlined, then
the next frame is determined by the physical frame, and the caller's CodeOrigin
(see StackIterator::updateFrame()).  The current implementation allows us to
always read the first frame without prior knowledge about whether it is an
inlined frame or not.  In essence, the current CallFrame* in conjunction with
the current inlined frame info (InlineCallFrame*) is kind of like a "last
action" indicator.

This implementation has passed the following layout tests (on a debug build)
with no regression:
fast/js fast/regex fast/workers ietestcenter/JavaScript sputnik workers
inspector http/tests/inspector http/tests/security http/tests/workers

Will run the full layout tests later.  The javascriptcore tests also ran with
no regression.

This implementation has been run on the jsc benchmarks with no performance
regression.  I will attached the results of the 2 benchmark runs shortly.


More information about the webkit-reviews mailing list