--- a/mozilla-ppc.patch Sun Sep 14 21:57:55 2014 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,90 +0,0 @@
-# HG changeset patch
-# Parent 21d0e194954e451f0f1935d0ed68ee9eae432ddf
-# User Wolfgang Rosenauer <wr@rosenauer.org>
-Bug 746112 - RegExp hang on ppc64 in execute.
-
-diff --git a/js/src/yarr/YarrInterpreter.h b/js/src/yarr/YarrInterpreter.h
---- a/js/src/yarr/YarrInterpreter.h
-+++ b/js/src/yarr/YarrInterpreter.h
-@@ -162,17 +162,17 @@ struct ByteTerm {
- , m_invert(invert)
- {
- atom.characterClass = characterClass;
- atom.quantityType = QuantifierFixedCount;
- atom.quantityCount = 1;
- inputPosition = inputPos;
- }
-
-- ByteTerm(Type type, unsigned subpatternId, ByteDisjunction* parenthesesInfo, bool capture, int inputPos)
-+ ByteTerm(Type type, unsigned subpatternId, ByteDisjunction* parenthesesInfo, bool capture, int inputPos) __attribute__((noinline))
- : type(type)
- , m_capture(capture)
- , m_invert(false)
- {
- atom.subpatternId = subpatternId;
- atom.parenthesesDisjunction = parenthesesInfo;
- atom.quantityType = QuantifierFixedCount;
- atom.quantityCount = 1;
-@@ -183,17 +183,17 @@ struct ByteTerm {
- : type(type)
- , m_capture(false)
- , m_invert(invert)
- {
- atom.quantityType = QuantifierFixedCount;
- atom.quantityCount = 1;
- }
-
-- ByteTerm(Type type, unsigned subpatternId, bool capture, bool invert, int inputPos)
-+ ByteTerm(Type type, unsigned subpatternId, bool capture, bool invert, int inputPos) __attribute__((noinline))
- : type(type)
- , m_capture(capture)
- , m_invert(invert)
- {
- atom.subpatternId = subpatternId;
- atom.quantityType = QuantifierFixedCount;
- atom.quantityCount = 1;
- inputPosition = inputPos;
-diff --git a/js/src/yarr/YarrPattern.h b/js/src/yarr/YarrPattern.h
---- a/js/src/yarr/YarrPattern.h
-+++ b/js/src/yarr/YarrPattern.h
-@@ -180,17 +180,17 @@ struct PatternTerm {
- , m_capture(false)
- , m_invert(invert)
- {
- characterClass = charClass;
- quantityType = QuantifierFixedCount;
- quantityCount = 1;
- }
-
-- PatternTerm(Type type, unsigned subpatternId, PatternDisjunction* disjunction, bool capture = false, bool invert = false)
-+ PatternTerm(Type type, unsigned subpatternId, PatternDisjunction* disjunction, bool capture = false, bool invert = false) __attribute__((noinline))
- : type(type)
- , m_capture(capture)
- , m_invert(invert)
- {
- parentheses.disjunction = disjunction;
- parentheses.subpatternId = subpatternId;
- parentheses.isCopy = false;
- parentheses.isTerminal = false;
-diff --git a/memory/mozjemalloc/jemalloc.c b/memory/mozjemalloc/jemalloc.c
---- a/memory/mozjemalloc/jemalloc.c
-+++ b/memory/mozjemalloc/jemalloc.c
-@@ -1099,17 +1099,17 @@ struct arena_s {
- static unsigned ncpus;
- #endif
-
- /*
- * When MALLOC_STATIC_SIZES is defined most of the parameters
- * controlling the malloc behavior are defined as compile-time constants
- * for best performance and cannot be altered at runtime.
- */
--#if !defined(__ia64__) && !defined(__sparc__) && !defined(__mips__)
-+#if !defined(__ia64__) && !defined(__sparc__) && !defined(__mips__) && !(defined(__powerpc__))
- #define MALLOC_STATIC_SIZES 1
- #endif
-
- #ifdef MALLOC_STATIC_SIZES
-
- /*
- * VM page size. It must divide the runtime CPU page size or the code
- * will abort.