Changeset 238595 in webkit


Ignore:
Timestamp:
Nov 27, 2018 5:48:36 PM (5 years ago)
Author:
mark.lam@apple.com
Message:

ASSERTION FAILED: capacity && isPageAligned(capacity) in JSC::CLoopStack::CLoopStack(JSC::VM&).
https://bugs.webkit.org/show_bug.cgi?id=192018

Reviewed by Saam Barati.

This assertion failed because the regress-191579.js test was specifying
--maxPerThreadStackUsage=400000 i.e. it was running with a stack size that is not
page aligned. Given that the user can specify any arbitrary stack size, and the
CLoop stack expects to be page aligned, we'll just round up the requested capacity
to the next page alignment.

  • interpreter/CLoopStack.cpp:

(JSC::CLoopStack::CLoopStack):

Location:
trunk/Source/JavaScriptCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r238578 r238595  
     12018-11-27  Mark Lam  <mark.lam@apple.com>
     2
     3        ASSERTION FAILED: capacity && isPageAligned(capacity) in JSC::CLoopStack::CLoopStack(JSC::VM&).
     4        https://bugs.webkit.org/show_bug.cgi?id=192018
     5
     6        Reviewed by Saam Barati.
     7
     8        This assertion failed because the regress-191579.js test was specifying
     9        --maxPerThreadStackUsage=400000 i.e. it was running with a stack size that is not
     10        page aligned.  Given that the user can specify any arbitrary stack size, and the
     11        CLoop stack expects to be page aligned, we'll just round up the requested capacity
     12        to the next page alignment.
     13
     14        * interpreter/CLoopStack.cpp:
     15        (JSC::CLoopStack::CLoopStack):
     16
    1172018-11-27  Mark Lam  <mark.lam@apple.com>
    218
  • trunk/Source/JavaScriptCore/interpreter/CLoopStack.cpp

    r236381 r238595  
    5757{
    5858    size_t capacity = Options::maxPerThreadStackUsage();
     59    capacity = WTF::roundUpToMultipleOf(pageSize(), capacity);
    5960    ASSERT(capacity && isPageAligned(capacity));
    6061
Note: See TracChangeset for help on using the changeset viewer.