Currently, JSStack acts both as an abstraction for JS stack for both JIT and C Loop engines, as well as the stack data structure for the C Loop. Per my discussion with Geoff, we'll refactor it to only be the C Loop stack data structure. All the other parts of the JSStack can be moved elsewhere, or removed if no longer necessary. With that, we'll also rename JSStack to CLoopStack.
Created attachment 283328 [details] proposed patch. Let's try this on the EWS.
Attachment 283328 [details] did not pass style-queue: ERROR: Source/JavaScriptCore/interpreter/CLoopStack.h:40: Code inside a namespace should not be indented. [whitespace/indent] [4] Total errors found: 1 in 31 files If any of these errors are false positives, please file a bug against check-webkit-style.
Comment on attachment 283328 [details] proposed patch. EWS bots are green, and local C Loop test (with test bot test configuration) shows no regression. Let's get this reviewed.
Comment on attachment 283328 [details] proposed patch. View in context: https://bugs.webkit.org/attachment.cgi?id=283328&action=review r=me > Source/JavaScriptCore/interpreter/CLoopStackInlines.h:39 > +inline bool CLoopStack::ensureCapacityFor(Register* newTopOfStack) > { > -#if !ENABLE(JIT) > return grow(newTopOfStack); No need for one function whose only job is to call another function.
(In reply to comment #4) > r=me Thanks. > > Source/JavaScriptCore/interpreter/CLoopStackInlines.h:39 > > +inline bool CLoopStack::ensureCapacityFor(Register* newTopOfStack) > > { > > -#if !ENABLE(JIT) > > return grow(newTopOfStack); > > No need for one function whose only job is to call another function. I consolidated grow() into ensureCapactityFor(), deleted the old grow(), and renamed growSlowCase() to grow().
Landed in r203081: <http://trac.webkit.org/r203081>.