to avoid mprotect failure for architecture like ppc64 where memory to be pageSize aligned. related fedora bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1074093
Signed-off-by: Michel Normand <[email protected]> --- Source/JavaScriptCore/interpreter/JSStack.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Source/JavaScriptCore/interpreter/JSStack.cpp b/Source/JavaScriptCore/interpreter/JSStack.cpp index 9e6bee9..1129e4c 100644 --- a/Source/JavaScriptCore/interpreter/JSStack.cpp +++ b/Source/JavaScriptCore/interpreter/JSStack.cpp @@ -58,7 +58,8 @@ JSStack::JSStack(VM& vm) size_t capacity = Options::maxPerThreadStackUsage(); ASSERT(capacity && isPageAligned(capacity)); - m_reservation = PageReservation::reserve(WTF::roundUpToMultipleOf(commitSize, capacity), OSAllocator::JSVMStackPages); + size_t commitsize = pageSize(); + m_reservation = PageReservation::reserve(WTF::roundUpToMultipleOf(commitsize, capacity), OSAllocator::JSVMStackPages); setStackLimit(highAddress()); m_commitTop = highAddress(); @@ -91,8 +92,9 @@ bool JSStack::growSlowCase(Register* newTopOfStack) // Compute the chunk size of additional memory to commit, and see if we // have it is still within our budget. If not, we'll fail to grow and // return false. + size_t commitsize = pageSize(); ptrdiff_t delta = reinterpret_cast<char*>(m_commitTop) - reinterpret_cast<char*>(newTopOfStackWithReservedZone); - delta = WTF::roundUpToMultipleOf(commitSize, delta); + delta = WTF::roundUpToMultipleOf(commitsize, delta); Register* newCommitTop = m_commitTop - (delta / sizeof(Register)); if (newCommitTop < reservationTop()) return false; -- 1.7.9.5 _______________________________________________ webkit-gtk mailing list [email protected] https://lists.webkit.org/mailman/listinfo/webkit-gtk
