diff -up mozilla-esr31/js/src/assembler/wtf/Platform.h.ppc64le mozilla-esr31/js/src/assembler/wtf/Platform.h
--- mozilla-esr31/js/src/assembler/wtf/Platform.h.ppc64le 2014-11-25 12:23:26.000000000 +0100
+++ mozilla-esr31/js/src/assembler/wtf/Platform.h 2014-12-19 16:51:25.579571933 +0100
@@ -179,6 +179,8 @@
#define WTF_CPU_PPC64 1
#if !defined(__LITTLE_ENDIAN__)
#define WTF_CPU_BIG_ENDIAN 1
+#else
+#define WTF_CPU_PPC64LE 1
#endif
#endif
diff -up mozilla-esr31/js/src/gc/Memory.cpp.ppc64le mozilla-esr31/js/src/gc/Memory.cpp
--- mozilla-esr31/js/src/gc/Memory.cpp.ppc64le 2014-11-25 12:23:26.000000000 +0100
+++ mozilla-esr31/js/src/gc/Memory.cpp 2014-12-19 16:51:25.579571933 +0100
@@ -303,6 +303,9 @@ gc::MarkPagesUnused(JSRuntime *rt, void
bool
gc::MarkPagesInUse(JSRuntime *rt, void *p, size_t size)
{
+ if (!DecommitEnabled(rt))
+ return false;
+
JS_ASSERT(uintptr_t(p) % rt->gcSystemPageSize == 0);
return true;
}
diff -up mozilla-esr31/js/src/yarr/BumpPointerAllocator.h.ppc64le mozilla-esr31/js/src/yarr/BumpPointerAllocator.h
--- mozilla-esr31/js/src/yarr/BumpPointerAllocator.h.ppc64le 2014-11-25 12:23:30.000000000 +0100
+++ mozilla-esr31/js/src/yarr/BumpPointerAllocator.h 2014-12-19 16:51:25.579571933 +0100
@@ -38,6 +38,8 @@ namespace WTF {
#define MINIMUM_BUMP_POOL_SIZE 0x2000
#elif WTF_CPU_IA64
#define MINIMUM_BUMP_POOL_SIZE 0x4000
+#elif WTF_CPU_PPC64LE
+#define MINIMUM_BUMP_POOL_SIZE 0x10000
#else
#define MINIMUM_BUMP_POOL_SIZE 0x1000
#endif
diff -up mozilla-esr31/memory/mozjemalloc/jemalloc.c.ppc64le mozilla-esr31/memory/mozjemalloc/jemalloc.c
--- mozilla-esr31/memory/mozjemalloc/jemalloc.c.ppc64le 2014-12-19 16:51:25.580571935 +0100
+++ mozilla-esr31/memory/mozjemalloc/jemalloc.c 2014-12-19 16:52:11.754626429 +0100
@@ -596,7 +596,7 @@ static const bool isthreaded = true;
#define RUN_MAX_OVRHD_RELAX 0x00001800U
/* Put a cap on small object run size. This overrides RUN_MAX_OVRHD. */
-#define RUN_MAX_SMALL_2POW 15
+#define RUN_MAX_SMALL_2POW 16
#define RUN_MAX_SMALL (1U << RUN_MAX_SMALL_2POW)
/*