mozilla-ppc.patch
changeset 764 395d31877a01
parent 763 9f6de8c8a5c5
child 765 0955f22b3f4f
--- 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.