Mercurial > emacs
comparison src/alloc.c @ 83284:360860a0006f
Merged from miles@gnu.org--gnu-2005 (patch 45-55, 214-231)
Patches applied:
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-214
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-215
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-216
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-217
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-218
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-219
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-220
Merge from gnus--rel--5.10
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-221
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-222
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-223
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-224
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-225
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-226
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-227
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-228
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-229
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-230
Merge from gnus--rel--5.10
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-231
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-45
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-46
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-47
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-48
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-49
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-50
Update from CVS: texi Makefile.in CVS keyw cruft
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-51
Update from CVS: ChangeLog tweaks
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-52
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-53
Merge from emacs--cvs-trunk--0
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-54
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-55
Update from CVS
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-324
author | Karoly Lorentey <lorentey@elte.hu> |
---|---|
date | Mon, 04 Apr 2005 16:43:15 +0000 |
parents | 2006100ee57e d24c6e8f9add |
children | ad07ff6e4555 |
comparison
equal
deleted
inserted
replaced
83283:45e5f0224d81 | 83284:360860a0006f |
---|---|
1932 In case you think of allowing it in a dumped Emacs at the | 1932 In case you think of allowing it in a dumped Emacs at the |
1933 cost of not being able to re-dump, there's another reason: | 1933 cost of not being able to re-dump, there's another reason: |
1934 mmap'ed data typically have an address towards the top of the | 1934 mmap'ed data typically have an address towards the top of the |
1935 address space, which won't fit into an EMACS_INT (at least on | 1935 address space, which won't fit into an EMACS_INT (at least on |
1936 32-bit systems with the current tagging scheme). --fx */ | 1936 32-bit systems with the current tagging scheme). --fx */ |
1937 BLOCK_INPUT; | |
1937 mallopt (M_MMAP_MAX, 0); | 1938 mallopt (M_MMAP_MAX, 0); |
1939 UNBLOCK_INPUT; | |
1938 #endif | 1940 #endif |
1939 | 1941 |
1940 b = (struct sblock *) lisp_malloc (size + GC_STRING_EXTRA, MEM_TYPE_NON_LISP); | 1942 b = (struct sblock *) lisp_malloc (size + GC_STRING_EXTRA, MEM_TYPE_NON_LISP); |
1941 | 1943 |
1942 #ifdef DOUG_LEA_MALLOC | 1944 #ifdef DOUG_LEA_MALLOC |
1943 /* Back to a reasonable maximum of mmap'ed areas. */ | 1945 /* Back to a reasonable maximum of mmap'ed areas. */ |
1946 BLOCK_INPUT; | |
1944 mallopt (M_MMAP_MAX, MMAP_MAX_AREAS); | 1947 mallopt (M_MMAP_MAX, MMAP_MAX_AREAS); |
1948 UNBLOCK_INPUT; | |
1945 #endif | 1949 #endif |
1946 | 1950 |
1947 b->next_free = &b->first_data; | 1951 b->next_free = &b->first_data; |
1948 b->first_data.string = NULL; | 1952 b->first_data.string = NULL; |
1949 b->next = large_sblocks; | 1953 b->next = large_sblocks; |
4681 | 4685 |
4682 /* Can't GC if pure storage overflowed because we can't determine | 4686 /* Can't GC if pure storage overflowed because we can't determine |
4683 if something is a pure object or not. */ | 4687 if something is a pure object or not. */ |
4684 if (pure_bytes_used_before_overflow) | 4688 if (pure_bytes_used_before_overflow) |
4685 return Qnil; | 4689 return Qnil; |
4690 | |
4691 CHECK_CONS_LIST (); | |
4686 | 4692 |
4687 /* Don't keep undo information around forever. | 4693 /* Don't keep undo information around forever. |
4688 Do this early on, so it is no problem if the user quits. */ | 4694 Do this early on, so it is no problem if the user quits. */ |
4689 { | 4695 { |
4690 register struct buffer *nextb = all_buffers; | 4696 register struct buffer *nextb = all_buffers; |
4875 #if GC_MARK_STACK == GC_USE_GCPROS_CHECK_ZOMBIES && 0 | 4881 #if GC_MARK_STACK == GC_USE_GCPROS_CHECK_ZOMBIES && 0 |
4876 dump_zombies (); | 4882 dump_zombies (); |
4877 #endif | 4883 #endif |
4878 | 4884 |
4879 UNBLOCK_INPUT; | 4885 UNBLOCK_INPUT; |
4886 | |
4887 CHECK_CONS_LIST (); | |
4880 | 4888 |
4881 /* clear_marks (); */ | 4889 /* clear_marks (); */ |
4882 gc_in_progress = 0; | 4890 gc_in_progress = 0; |
4883 | 4891 |
4884 consing_since_gc = 0; | 4892 consing_since_gc = 0; |