Title: [238595] trunk/Source/_javascript_Core
Revision
238595
Author
[email protected]
Date
2018-11-27 17:48:36 -0800 (Tue, 27 Nov 2018)

Log 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):

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (238594 => 238595)


--- trunk/Source/_javascript_Core/ChangeLog	2018-11-28 01:45:17 UTC (rev 238594)
+++ trunk/Source/_javascript_Core/ChangeLog	2018-11-28 01:48:36 UTC (rev 238595)
@@ -1,5 +1,21 @@
 2018-11-27  Mark Lam  <[email protected]>
 
+        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):
+
+2018-11-27  Mark Lam  <[email protected]>
+
         [Re-landing] NaNs read from Wasm code needs to be be purified.
         https://bugs.webkit.org/show_bug.cgi?id=191056
         <rdar://problem/45660341>

Modified: trunk/Source/_javascript_Core/interpreter/CLoopStack.cpp (238594 => 238595)


--- trunk/Source/_javascript_Core/interpreter/CLoopStack.cpp	2018-11-28 01:45:17 UTC (rev 238594)
+++ trunk/Source/_javascript_Core/interpreter/CLoopStack.cpp	2018-11-28 01:48:36 UTC (rev 238595)
@@ -56,6 +56,7 @@
     , m_softReservedZoneSizeInRegisters(0)
 {
     size_t capacity = Options::maxPerThreadStackUsage();
+    capacity = WTF::roundUpToMultipleOf(pageSize(), capacity);
     ASSERT(capacity && isPageAligned(capacity));
 
     m_reservation = PageReservation::reserve(WTF::roundUpToMultipleOf(commitSize(), capacity), OSAllocator::JSVMStackPages);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to