RESOLVED FIXED 159545
Refactor JSStack to only be the stack data structure for the C Loop.
https://bugs.webkit.org/show_bug.cgi?id=159545
Summary Refactor JSStack to only be the stack data structure for the C Loop.
Mark Lam
Reported 2016-07-07 22:08:40 PDT
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.
Attachments
proposed patch. (93.18 KB, patch)
2016-07-11 11:45 PDT, Mark Lam
ggaren: review+
Mark Lam
Comment 1 2016-07-11 11:45:26 PDT
Created attachment 283328 [details] proposed patch. Let's try this on the EWS.
WebKit Commit Bot
Comment 2 2016-07-11 11:47:40 PDT
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.
Mark Lam
Comment 3 2016-07-11 12:24:27 PDT
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.
Geoffrey Garen
Comment 4 2016-07-11 12:29:59 PDT
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.
Mark Lam
Comment 5 2016-07-11 13:46:50 PDT
(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().
Mark Lam
Comment 6 2016-07-11 13:49:39 PDT
Note You need to log in before you can comment on or make changes to this bug.