summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2011-06-08 12:07:55 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2011-06-08 12:07:55 -0700
commit6349ae4d9c0e2a2986e2800dcea6a029fbc60d23 (patch)
tree9e12b70d2fed0d2c03c060c5ed1e8626ec6443f9 /src
parent211a0b2a705753ca0d3f8040f177f0d788298bb6 (diff)
downloademacs-6349ae4d9c0e2a2986e2800dcea6a029fbc60d23.tar.gz
* alloc.c (inhibit_garbage_collection): Set gc_cons_threshold to max value.
Previously, this ceilinged at INT_MAX, but that doesn't work on 64-bit machines.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog3
-rw-r--r--src/alloc.c3
2 files changed, 4 insertions, 2 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 432cea6a624..6a353aa1f95 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -14,6 +14,9 @@
These were 'int' variables that could overflow on 64-bit hosts;
they were never used, so remove them instead of repairing them.
(nzombies, ngcs, max_live, max_zombies): Now EMACS_INT, not 'int'.
+ (inhibit_garbage_collection): Set gc_cons_threshold to max value.
+ Previously, this ceilinged at INT_MAX, but that doesn't work on
+ 64-bit machines.
* alloc.c (Fmake_bool_vector): Don't assume vector size fits in int.
(allocate_vectorlike): Check for ptrdiff_t overflow.
diff --git a/src/alloc.c b/src/alloc.c
index dd2e5f4b6ad..e04f60baf03 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -4827,9 +4827,8 @@ int
inhibit_garbage_collection (void)
{
int count = SPECPDL_INDEX ();
- int nbits = min (VALBITS, BITS_PER_INT);
- specbind (Qgc_cons_threshold, make_number (((EMACS_INT) 1 << (nbits - 1)) - 1));
+ specbind (Qgc_cons_threshold, make_number (MOST_POSITIVE_FIXNUM));
return count;
}