summaryrefslogtreecommitdiff
path: root/src/lisp.h
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2019-01-01 15:06:50 -0800
committerPaul Eggert <eggert@cs.ucla.edu>2019-01-01 15:07:16 -0800
commit8b5f05e93871a6a6f853b3f0807eb0a3660f5f5e (patch)
treee9ee28ae75a293f7abb469f14ad2f9458b8f2348 /src/lisp.h
parentba1b340988ab79a1173f402f8f66bff06e0dd7c5 (diff)
downloademacs-8b5f05e93871a6a6f853b3f0807eb0a3660f5f5e.tar.gz
Bignums from garbage-collect, memory-use-counts
Do not limit the results of garbage-collect and memory-use-counts to fixnums, as they might be bignums now on 32-bit hosts. * src/lisp.h (byte_ct): New type. * src/alloc.c (object_ct): New type. (consing_since_gc, gc_relative_threshold) (memory_full_cons_threshold, total_string_bytes): Now byte_ct, not EMACS_INT. (total_conses, total_symbols, total_buffers, total_free_conses) (total_free_symbols, total_free_floats, total_floats) (total_free_intervals, total_intervals, total_strings) (total_free_strings, total_vectors, total_vector_slots) (total_free_vector_slots): Now object_ct, not EMACS_INT. (bounded_number): Remove. All uses removed. (object_bytes): New function. (total_bytes_of_live_objects, garbage_collect_1): Use byte_ct, not size_t, to count total GC bytes where multiple objects are involved. (garbage_collect_1, Fmemory_use_counts): Do not limit returned counts to fixnums. (sweep_conses, sweep_floats, sweep_intervals, sweep_symbols): Use object_ct, not EMACS_INT, to count GC objects.
Diffstat (limited to 'src/lisp.h')
-rw-r--r--src/lisp.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/lisp.h b/src/lisp.h
index b650702bddc..14a61d3f102 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -3592,9 +3592,10 @@ extern void mark_stack (char *, char *);
extern void flush_stack_call_func (void (*func) (void *arg), void *arg);
extern const char *pending_malloc_warning;
extern Lisp_Object zero_vector;
-extern EMACS_INT consing_since_gc;
-extern EMACS_INT gc_relative_threshold;
-extern EMACS_INT memory_full_cons_threshold;
+typedef uintptr_t byte_ct; /* System byte counts reported by GC. */
+extern byte_ct consing_since_gc;
+extern byte_ct gc_relative_threshold;
+extern byte_ct memory_full_cons_threshold;
extern Lisp_Object list1 (Lisp_Object);
extern Lisp_Object list2 (Lisp_Object, Lisp_Object);
extern Lisp_Object list3 (Lisp_Object, Lisp_Object, Lisp_Object);