diff -up webkitgtk-2.0.4/Source/JavaScriptCore/heap/CopiedBlock.h.ppc64_align webkitgtk-2.0.4/Source/JavaScriptCore/heap/CopiedBlock.h --- webkitgtk-2.0.4/Source/JavaScriptCore/heap/CopiedBlock.h.ppc64_align 2014-05-07 11:13:48.249690429 +0200 +++ webkitgtk-2.0.4/Source/JavaScriptCore/heap/CopiedBlock.h 2014-05-07 11:14:02.442872375 +0200 @@ -77,7 +77,7 @@ public: size_t size(); size_t capacity(); - static const size_t blockSize = 32 * KB; + static const size_t blockSize = 64 * KB; bool hasWorkList(); CopyWorkList& workList(); diff -up webkitgtk-2.0.4/Source/JavaScriptCore/interpreter/JSStack.cpp.ppc64_align webkitgtk-2.0.4/Source/JavaScriptCore/interpreter/JSStack.cpp --- webkitgtk-2.0.4/Source/JavaScriptCore/interpreter/JSStack.cpp.ppc64_align 2014-05-07 11:14:17.785069040 +0200 +++ webkitgtk-2.0.4/Source/JavaScriptCore/interpreter/JSStack.cpp 2014-05-07 11:15:15.610810268 +0200 @@ -49,7 +49,8 @@ JSStack::JSStack(JSGlobalData& globalDat { ASSERT(capacity && isPageAligned(capacity)); - m_reservation = PageReservation::reserve(roundUpAllocationSize(capacity * sizeof(Register), commitSize), OSAllocator::JSVMStackPages); + size_t commitsize = pageSize(); + m_reservation = PageReservation::reserve(roundUpAllocationSize(capacity * sizeof(Register), commitsize), OSAllocator::JSVMStackPages); m_end = static_cast(m_reservation.base()); m_commitEnd = static_cast(m_reservation.base()); @@ -78,7 +79,8 @@ bool JSStack::growSlowCase(Register* new // 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. - long delta = roundUpAllocationSize(reinterpret_cast(newEnd) - reinterpret_cast(m_commitEnd), commitSize); + size_t commitsize = pageSize(); + long delta = roundUpAllocationSize(reinterpret_cast(newEnd) - reinterpret_cast(m_commitEnd), commitsize); if (reinterpret_cast(m_commitEnd) + delta > reinterpret_cast(m_useableEnd)) return false; @@ -134,7 +136,8 @@ void JSStack::enableErrorStackReserve() void JSStack::disableErrorStackReserve() { - char* useableEnd = reinterpret_cast(reservationEnd()) - commitSize; + size_t commitsize = pageSize(); + char* useableEnd = reinterpret_cast(reservationEnd()) - commitsize; m_useableEnd = reinterpret_cast(useableEnd); // By the time we get here, we are guaranteed to be destructing the last