summaryrefslogtreecommitdiff
path: root/moz/patches/dtoa.patch
diff options
context:
space:
mode:
Diffstat (limited to 'moz/patches/dtoa.patch')
-rw-r--r--moz/patches/dtoa.patch237
1 files changed, 0 insertions, 237 deletions
diff --git a/moz/patches/dtoa.patch b/moz/patches/dtoa.patch
deleted file mode 100644
index fce3be38b10b..000000000000
--- a/moz/patches/dtoa.patch
+++ /dev/null
@@ -1,237 +0,0 @@
---- misc/mozilla/nsprpub/pr/src/misc/prdtoa.c 20 Mar 2009 03:41:21 -0000 4.7
-+++ misc/build/mozilla/nsprpub/pr/src/misc/prdtoa.c 15 Sep 2009 00:10:20 -0000
-@@ -169,17 +169,22 @@ void _PR_CleanupDtoa(void)
- * Llong, #define #ULLong to be the corresponding unsigned type.
- * #define KR_headers for old-style C function headers.
- * #define Bad_float_h if your system lacks a float.h or if it does not
- * define some or all of DBL_DIG, DBL_MAX_10_EXP, DBL_MAX_EXP,
- * FLT_RADIX, FLT_ROUNDS, and DBL_MAX.
- * #define MALLOC your_malloc, where your_malloc(n) acts like malloc(n)
- * if memory is available and otherwise does something you deem
- * appropriate. If MALLOC is undefined, malloc will be invoked
-- * directly -- and assumed always to succeed.
-+ * directly -- and assumed always to succeed. Similarly, if you
-+ * want something other than the system's free() to be called to
-+ * recycle memory acquired from MALLOC, #define FREE to be the
-+ * name of the alternate routine. (FREE or free is only called in
-+ * pathological cases, e.g., in a dtoa call after a dtoa return in
-+ * mode 3 with thousands of digits requested.)
- * #define Omit_Private_Memory to omit logic (added Jan. 1998) for making
- * memory allocations from a private pool of memory when possible.
- * When used, the private pool is PRIVATE_MEM bytes long: 2304 bytes,
- * unless #defined to be a different length. This default length
- * suffices to get rid of MALLOC calls except for unusual cases,
- * such as decimal-to-binary conversion of a very long string of
- * digits. The longest string dtoa can return is about 751 bytes
- * long. For conversions by strtod of strings of 800 digits and
-@@ -553,17 +558,17 @@ extern double rnd_prod(double, double),
- #endif
- #endif /* NO_LONG_LONG */
-
- #ifndef MULTIPLE_THREADS
- #define ACQUIRE_DTOA_LOCK(n) /*nothing*/
- #define FREE_DTOA_LOCK(n) /*nothing*/
- #endif
-
--#define Kmax 15
-+#define Kmax 7
-
- struct
- Bigint {
- struct Bigint *next;
- int k, maxwds, sign, wds;
- ULong x[1];
- };
-
-@@ -581,27 +586,28 @@ Balloc
- {
- int x;
- Bigint *rv;
- #ifndef Omit_Private_Memory
- unsigned int len;
- #endif
-
- ACQUIRE_DTOA_LOCK(0);
-- if (rv = freelist[k]) {
-+ /* The k > Kmax case does not need ACQUIRE_DTOA_LOCK(0), */
-+ /* but this case seems very unlikely. */
-+ if (k <= Kmax && (rv = freelist[k]))
- freelist[k] = rv->next;
-- }
- else {
- x = 1 << k;
- #ifdef Omit_Private_Memory
- rv = (Bigint *)MALLOC(sizeof(Bigint) + (x-1)*sizeof(ULong));
- #else
- len = (sizeof(Bigint) + (x-1)*sizeof(ULong) + sizeof(double) - 1)
- /sizeof(double);
-- if (pmem_next - private_mem + len <= PRIVATE_mem) {
-+ if (k <= Kmax && pmem_next - private_mem + len <= PRIVATE_mem) {
- rv = (Bigint*)pmem_next;
- pmem_next += len;
- }
- else
- rv = (Bigint*)MALLOC(len*sizeof(double));
- #endif
- rv->k = k;
- rv->maxwds = x;
-@@ -615,20 +621,28 @@ Balloc
- Bfree
- #ifdef KR_headers
- (v) Bigint *v;
- #else
- (Bigint *v)
- #endif
- {
- if (v) {
-- ACQUIRE_DTOA_LOCK(0);
-- v->next = freelist[v->k];
-- freelist[v->k] = v;
-- FREE_DTOA_LOCK(0);
-+ if (v->k > Kmax)
-+#ifdef FREE
-+ FREE((void*)v);
-+#else
-+ free((void*)v);
-+#endif
-+ else {
-+ ACQUIRE_DTOA_LOCK(0);
-+ v->next = freelist[v->k];
-+ freelist[v->k] = v;
-+ FREE_DTOA_LOCK(0);
-+ }
- }
- }
-
- #define Bcopy(x,y) memcpy((char *)&x->sign, (char *)&y->sign, \
- y->wds*sizeof(Long) + 2*sizeof(int))
-
- static Bigint *
- multadd
---- misc/mozilla/js/src/jsdtoa.c 2 Sep 2007 22:20:41 -0000 3.41
-+++ misc/build/mozilla/js/src/jsdtoa.c 18 Sep 2009 16:15:13 -0000
-@@ -145,17 +145,22 @@
- * and if "unsigned Llong" does not work as an unsigned version of
- * Llong, #define #ULLong to be the corresponding unsigned type.
- * #define Bad_float_h if your system lacks a float.h or if it does not
- * define some or all of DBL_DIG, DBL_MAX_10_EXP, DBL_MAX_EXP,
- * FLT_RADIX, FLT_ROUNDS, and DBL_MAX.
- * #define MALLOC your_malloc, where your_malloc(n) acts like malloc(n)
- * if memory is available and otherwise does something you deem
- * appropriate. If MALLOC is undefined, malloc will be invoked
-- * directly -- and assumed always to succeed.
-+ * directly -- and assumed always to succeed. Similarly, if you
-+ * want something other than the system's free() to be called to
-+ * recycle memory acquired from MALLOC, #define FREE to be the
-+ * name of the alternate routine. (FREE or free is only called in
-+ * pathological cases, e.g., in a dtoa call after a dtoa return in
-+ * mode 3 with thousands of digits requested.)
- * #define Omit_Private_Memory to omit logic (added Jan. 1998) for making
- * memory allocations from a private pool of memory when possible.
- * When used, the private pool is PRIVATE_MEM bytes long: 2000 bytes,
- * unless #defined to be a different length. This default length
- * suffices to get rid of MALLOC calls except for unusual cases,
- * such as decimal-to-binary conversion of a very long string of
- * digits.
- * #define INFNAN_CHECK on IEEE systems to cause strtod to check for
-@@ -320,17 +325,17 @@ static PRLock *freelist_lock;
- JS_END_MACRO
- #define RELEASE_DTOA_LOCK() PR_Unlock(freelist_lock)
- #else
- #undef MULTIPLE_THREADS
- #define ACQUIRE_DTOA_LOCK() /*nothing*/
- #define RELEASE_DTOA_LOCK() /*nothing*/
- #endif
-
--#define Kmax 15
-+#define Kmax 7
-
- struct Bigint {
- struct Bigint *next; /* Free list link */
- int32 k; /* lg2(maxwds) */
- int32 maxwds; /* Number of words allocated for x */
- int32 sign; /* Zero if positive, 1 if negative. Ignored by most Bigint routines! */
- int32 wds; /* Actual number of words. If value is nonzero, the most significant word must be nonzero. */
- ULong x[1]; /* wds words of number in little endian order */
-@@ -400,26 +405,26 @@ static Bigint *Balloc(int32 k)
-
- #ifdef ENABLE_OOM_TESTING
- if (++allocationNum == desiredFailure) {
- printf("Forced Failing Allocation number %d\n", allocationNum);
- return NULL;
- }
- #endif
-
-- if ((rv = freelist[k]) != NULL)
-+ if (k <= Kmax && (rv = freelist[k]) != NULL)
- freelist[k] = rv->next;
- if (rv == NULL) {
- x = 1 << k;
- #ifdef Omit_Private_Memory
- rv = (Bigint *)MALLOC(sizeof(Bigint) + (x-1)*sizeof(ULong));
- #else
- len = (sizeof(Bigint) + (x-1)*sizeof(ULong) + sizeof(double) - 1)
- /sizeof(double);
-- if (pmem_next - private_mem + len <= PRIVATE_mem) {
-+ if (k <= Kmax && pmem_next - private_mem + len <= PRIVATE_mem) {
- rv = (Bigint*)pmem_next;
- pmem_next += len;
- }
- else
- rv = (Bigint*)MALLOC(len*sizeof(double));
- #endif
- if (!rv)
- return NULL;
-@@ -428,18 +433,26 @@ static Bigint *Balloc(int32 k)
- }
- rv->sign = rv->wds = 0;
- return rv;
- }
-
- static void Bfree(Bigint *v)
- {
- if (v) {
-- v->next = freelist[v->k];
-- freelist[v->k] = v;
-+ if (v->k > Kmax)
-+#ifdef FREE
-+ FREE((void*)v);
-+#else
-+ free((void*)v);
-+#endif
-+ else {
-+ v->next = freelist[v->k];
-+ freelist[v->k] = v;
-+ }
- }
- }
-
- #define Bcopy(x,y) memcpy((char *)&x->sign, (char *)&y->sign, \
- y->wds*sizeof(Long) + 2*sizeof(int32))
-
- /* Return b*m + a. Deallocate the old b. Both a and m must be between 0 and
- * 65535 inclusive. NOTE: old b is deallocated on memory failure.
---- misc/mozilla/js/src/jsdtoa.c 22 Sep 2009 06:16:27 -0000 3.42
-+++ misc/build/mozilla/js/src/jsdtoa.c 15 Oct 2009 10:34:38 -0000
-@@ -405,19 +405,19 @@ static Bigint *Balloc(int32 k)
-
- #ifdef ENABLE_OOM_TESTING
- if (++allocationNum == desiredFailure) {
- printf("Forced Failing Allocation number %d\n", allocationNum);
- return NULL;
- }
- #endif
-
-- if (k <= Kmax && (rv = freelist[k]) != NULL)
-+ if (k <= Kmax && (rv = freelist[k]))
- freelist[k] = rv->next;
-- if (rv == NULL) {
-+ else {
- x = 1 << k;
- #ifdef Omit_Private_Memory
- rv = (Bigint *)MALLOC(sizeof(Bigint) + (x-1)*sizeof(ULong));
- #else
- len = (sizeof(Bigint) + (x-1)*sizeof(ULong) + sizeof(double) - 1)
- /sizeof(double);
- if (k <= Kmax && pmem_next - private_mem + len <= PRIVATE_mem) {
- rv = (Bigint*)pmem_next;