WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED INVALID
126331
CStack: Refactor to split the tracking of the jsStackLimit from the native stackLimit.
https://bugs.webkit.org/show_bug.cgi?id=126331
Summary
CStack: Refactor to split the tracking of the jsStackLimit from the native st...
Mark Lam
Reported
2013-12-30 22:34:51 PST
Previously, when using the C stack for the JS stack, VM::m_jsStackLimit is a union with VM::m_stackLimit. With this patch, we separate them into 2 distinct fields but haven't changed the computation of the limit values to set them with yet.
Attachments
the patch.
(5.88 KB, patch)
2013-12-30 22:43 PST
,
Mark Lam
ggaren
: review-
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Mark Lam
Comment 1
2013-12-30 22:39:34 PST
This is a step in preparation for
https://bugs.webkit.org/show_bug.cgi?id=126320
.
Mark Lam
Comment 2
2013-12-30 22:43:09 PST
Created
attachment 220148
[details]
the patch.
Mark Lam
Comment 3
2013-12-30 22:46:41 PST
Landed in
r161172
on the jsCStack branch: <
http://trac.webkit.org/r161172
>.
Geoffrey Garen
Comment 4
2014-01-02 13:18:46 PST
Comment on
attachment 220148
[details]
the patch. View in context:
https://bugs.webkit.org/attachment.cgi?id=220148&action=review
> Source/JavaScriptCore/runtime/VMEntryScope.cpp:78 > +#if !ENABLE(LLINT_C_LOOP) > + void* jsStackLimit = m_stack.recursionLimit(requiredCapacity(JSStackCapacity)); > + m_vm.setJSStackLimit(jsStackLimit); > +#endif
These #ifdefs look wrong. The JS stack limit is CLoop-only. Why does the #ifdef say "*not* enable CLoop?"
Mark Lam
Comment 5
2014-01-08 12:25:03 PST
Comment on
attachment 220148
[details]
the patch. View in context:
https://bugs.webkit.org/attachment.cgi?id=220148&action=review
>> Source/JavaScriptCore/runtime/VMEntryScope.cpp:78 >> +#endif > > These #ifdefs look wrong. The JS stack limit is CLoop-only. Why does the #ifdef say "*not* enable CLoop?"
This is not wrong. The jsStackLimit is the limit that all JS code checks against (i.e. the LLINT and JITted code). In the !ENABLE(LLINT_C_LOOP) case, VM::m_jsStackLimit is in a union with VM::m_stackLimit, and the 2 are the same. In the ENABLE(LLINT_C_LOOP) case, the 2 are different. That said, this is moot now. This patch will be supplanted by
https://bugs.webkit.org/show_bug.cgi?id=126320
where we'll adopt the new "simpler" way of computing the stack limit.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug