c07ecba9d4
Fix for CLoop on ppc64, ppc64le and s390x
46 lines
2.5 KiB
Diff
46 lines
2.5 KiB
Diff
diff -up webkitgtk-2.4.2/Source/JavaScriptCore/heap/CopiedBlock.h.ppc64_align webkitgtk-2.4.2/Source/JavaScriptCore/heap/CopiedBlock.h
|
|
--- webkitgtk-2.4.2/Source/JavaScriptCore/heap/CopiedBlock.h.ppc64_align 2014-05-12 08:03:53.000000000 +0200
|
|
+++ webkitgtk-2.4.2/Source/JavaScriptCore/heap/CopiedBlock.h 2014-05-14 15:16:36.946318596 +0200
|
|
@@ -81,7 +81,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.4.2/Source/JavaScriptCore/interpreter/JSStack.cpp.ppc64_align webkitgtk-2.4.2/Source/JavaScriptCore/interpreter/JSStack.cpp
|
|
--- webkitgtk-2.4.2/Source/JavaScriptCore/interpreter/JSStack.cpp.ppc64_align 2014-05-12 08:03:53.000000000 +0200
|
|
+++ webkitgtk-2.4.2/Source/JavaScriptCore/interpreter/JSStack.cpp 2014-05-14 15:17:35.617171141 +0200
|
|
@@ -49,7 +49,8 @@ JSStack::JSStack(VM& vm, size_t capacity
|
|
{
|
|
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);
|
|
updateStackLimit(highAddress());
|
|
m_commitEnd = highAddress();
|
|
|
|
@@ -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<char*>(m_commitEnd) - reinterpret_cast<char*>(newEnd), commitSize);
|
|
+ size_t commitsize = pageSize();
|
|
+ long delta = roundUpAllocationSize(reinterpret_cast<char*>(m_commitEnd) - reinterpret_cast<char*>(newEnd), commitsize);
|
|
if (reinterpret_cast<char*>(m_commitEnd) - delta <= reinterpret_cast<char*>(m_useableEnd))
|
|
return false;
|
|
|
|
@@ -134,7 +136,8 @@ void JSStack::enableErrorStackReserve()
|
|
|
|
void JSStack::disableErrorStackReserve()
|
|
{
|
|
- char* useableEnd = reinterpret_cast<char*>(reservationEnd()) + commitSize;
|
|
+ size_t commitsize = pageSize();
|
|
+ char* useableEnd = reinterpret_cast<char*>(reservationEnd()) + commitsize;
|
|
m_useableEnd = reinterpret_cast_ptr<Register*>(useableEnd);
|
|
|
|
// By the time we get here, we are guaranteed to be destructing the last
|