795e0f1cd5
2009-11-26 09:30:10 +0100 msc r277648 : #100000 fix urgent testscript error 2009-11-25 10:27:56 +0100 msc r277625 : #i100000 fix urgent testscript error 2009-11-17 22:16:46 +0100 fs r277544 : CWS-TOOLING: rebase CWS dba32j to branches/OOO320@277531 (milestone: OOO320:m5) 2009-11-17 14:26:47 +0100 fs r277535 : ooops, didn't mean to commit this uncommented line 2009-11-14 20:50:29 +0100 fs r277505 : add a --disable-pango switch to SM's configure options, and add a patch which makes certain code respect it (well, respect it better than currently, by not using some pango_x_* functions, which are not always available, even when pango itself is present) 2009-11-14 20:47:41 +0100 fs r277504 : spelling 2009-11-13 14:04:00 +0100 fs r277502 : #i100764# (commit approved by ab@openoffice.org): getModelFromBasic: do not start with the parent's parent when looking for ThisComponent, but walk up the anchestor chain, starting with the immediate parent 2009-11-13 11:04:15 +0100 fs r277496 : #i100764# better heuristics for determining whether or not to participate in the ThisComponent game 2009-11-13 11:02:30 +0100 fs r277495 : #i100764# set the WB_EXT_DOCUMENT style at the backing component's container window, when creating it without the TaskCreator (which would normally do this) 2009-11-11 13:49:11 +0100 fs r277452 : #i106816# 2009-11-11 13:48:53 +0100 fs r277451 : fix the CREATETARBAL target, which is expected to create the zips used as prebuilts. The *inc.zip missed the NSS files in case NSS was built externally 2009-11-11 12:15:34 +0100 fs r277449 : update ignore list 2009-11-11 12:09:23 +0100 fs r277448 : add a link to the Mozilla build tools download location 2009-11-11 12:07:16 +0100 fs r277447 : add a link to the Mozilla build tools download location 2009-11-06 16:23:12 +0100 fs r277393 : #i106643# 2009-11-03 23:20:29 +0100 fs r277328 : #i106574# reverted the recent fix for issue #i105235#, and implemented a better one. 2009-11-02 12:59:48 +0100 fs r277294 : #i106550# errorOccured: also display the error when we're not in a nested form action - form actions are allowed to be triggered by other instances as well
237 lines
8.2 KiB
Diff
237 lines
8.2 KiB
Diff
--- 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;
|