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) /*