Chong Yidong
8d31e37330
* ralloc.c (relinquish): Use a long for excess space counter to
...
handle 64-bit case correctly.
2006-10-29 21:54:18 +00:00
Thien-Thi Nguyen
aaef169dc6
Update years in copyright notice; nfc.
2006-02-06 15:23:23 +00:00
Thien-Thi Nguyen
0b5538bd85
Update years in copyright notice; nfc.
2005-08-07 12:33:19 +00:00
Lute Kamstra
4fc5845fe8
Update FSF's address.
2005-07-04 16:49:24 +00:00
Jan Djärv
a4766fd5e6
#include blockinput also
2005-04-02 12:12:48 +00:00
Jan Djärv
1673df2e0d
* alloc.c (allocate_string_data): Call BLOCK_INPUT before calling
...
mallopt.
* ralloc.c (r_alloc_init): Ditto.
2005-04-02 12:05:38 +00:00
Miles Bader
ab5796a9f9
Add arch taglines
2003-09-01 15:45:59 +00:00
Juanma Barranquero
177c0ea743
Trailing whitespace deleted.
2003-02-04 14:56:31 +00:00
Gerd Moellmann
aeac019e2f
(__morecore) [!SYSTEM_MALLOC]: Move declaration
...
to the start of the file.
2001-02-19 12:20:08 +00:00
Dave Love
b1685c5fea
(__malloc_extra_blocks): Declare as __malloc_size_t.
2000-09-25 21:07:55 +00:00
Gerd Moellmann
02bb17d31c
Remove everything having to do with the use of mmap.
2000-09-14 15:14:28 +00:00
Gerd Moellmann
9824c4e39e
(mmap_enlarge): Don't return 0 if successful.
2000-09-10 11:19:00 +00:00
Gerd Moellmann
d1a0288150
(mmap_fd): Remove initializer which can make it
...
read-only in a dumped Emacs.
(mmap_fd_1): New variable.
(mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
restore it from there.
(r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
unconditionally so that mmap_fd can be initialized there.
(r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
(r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
(r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
2000-09-08 19:52:57 +00:00
Dave Love
d93c318653
(r_alloc_init_fd): Move. Fix conditional for pcc.
2000-09-08 16:31:11 +00:00
Dave Love
5ad25b24df
(r_alloc_init): Conditionalize on SYSTEM_MALLOC, not REL_ALLOC_MMAP.
2000-09-08 16:03:04 +00:00
Dave Love
423193c552
(r_alloc_init_fd): Conditionalize on MAP_ANON.
2000-09-08 14:10:31 +00:00
Dave Love
a2c23c923a
Don't include string.h (redundant).
...
(MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
[!MAP_ANON]: Include fcntl.h.
(mmap_fd) [REL_ALLOC_MMAP]: New variable.
(r_alloc, r_re_alloc, r_alloc_free)
(mmap_enlarge, mmap_set_vars): Use it.
(r_alloc_init_fd): New function.
(__morecore) [SYSTEM_MALLOC]: Don't declare.
(r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
malloc type.
2000-09-08 13:46:27 +00:00
Gerd Moellmann
91a211b50d
(obtain, relinquish, relinquish, r_alloc_size_in_use)
...
(get_bloc, relocate_blocs, update_heap_bloc_correspondence)
(resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
where necessary, in case POINTER_TYPE is `void'.
2000-09-07 19:24:42 +00:00
Gerd Moellmann
24f76fbf71
(mmap_find): Fix overlap computation.
...
(mmap_enlarge): Compute nbytes before trying to find an
overlapping region.
2000-09-07 16:10:38 +00:00
Gerd Moellmann
0a58f94648
(POINTER, SIZE) [emacs]: Define in terms of
...
POINTER_TYPE and size_t.
(struct mmap_region) [REL_ALLOC_MMAP]: New structure.
(mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
(ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
[REL_ALLOC_MMAP]: New macros.
(mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
(mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
[REL_ALLOC_MMAP]: New functions.
2000-09-06 21:25:49 +00:00
Andrew Innes
321ed47b16
Make real_morecore non-static.
2000-07-05 16:31:17 +00:00
Dave Love
642a173373
Maybe include unistd.h.
2000-06-23 17:33:37 +00:00
Karl Heuer
2153266750
(relinquish): When returning memory to the system,
...
watch out for the original data segment boundary.
1997-09-27 16:01:00 +00:00
Richard M. Stallman
dec414188f
(r_alloc_reinit): New function.
1997-07-12 07:04:43 +00:00
Richard M. Stallman
b0119c6825
(mallopt): Declare, if appropriate.
...
(r_alloc_init) [DOUG_LEA_MALLOC]: Call mallopt,
instead of setting __malloc_extra_blocks.
1997-05-16 05:35:04 +00:00
Richard M. Stallman
40f3f04b97
(r_alloc_check): Don't check alignment of h->start.
1996-04-07 16:44:38 +00:00
Erik Naggum
3b7ad313e0
Update FSF's address in the preamble.
1996-01-15 09:18:04 +00:00
Karl Heuer
8e6208c5d2
Comment fixes.
1996-01-05 10:03:17 +00:00
Richard M. Stallman
49f82b3d1a
(r_re_alloc): Correct realloc behavior--allow shrinking
...
of blocks while reallocating, if shrinking by more than one page.
(relocate_blocs, resize_blocs): Added failsafe to protect future
calling of these routines when in frozen state.
(r_alloc_thaw): Added call to r_alloc_init.
(relocate_blocks, resize_bloc, r_alloc_sbrk, r_alloc_thaw): Extended
functionality to let ralloc package work in frozen state, allowing
for the existence of unused blocks.
1995-03-28 17:43:24 +00:00
Richard M. Stallman
4908183440
(r_alloc_init): Set __malloc_extra_blocks.
1995-02-19 19:12:17 +00:00
Richard M. Stallman
44d3dec071
(r_alloc_check): Return void.
...
(r_alloc_freeze): Initialize if it hasn't been done.
(r_re_alloc, r_alloc_free, r_alloc_sbrk): Likewise.
1995-02-16 06:45:36 +00:00
Richard M. Stallman
6d16dd06fb
Whitespace fixes.
1995-02-16 06:36:19 +00:00
Richard M. Stallman
d5179accb2
(r_alloc_free): Call refill_memory_reserve only if emacs.
...
Include getpagesize.h unconditionally.
(free_bloc): Don't die if bloc->next or bloc->prev is null.
[!emacs] (bzero): New macro definition.
1995-02-14 14:27:18 +00:00
Richard M. Stallman
719b242f86
(r_alloc_size_in_use): New function.
...
(r_alloc_free): Call refill_memory_reserve.
1995-02-07 22:43:23 +00:00
Roland McGrath
187996a8fd
(r_alloc_init): Remove unused variable END.
1995-01-15 13:04:55 +00:00
Richard M. Stallman
47f13333c0
(struct heap): New fields first_bloc, last_bloc.
...
(struct bp): New field heap.
(get_bloc, free_bloc, obtain, r_alloc_sbrk): Update new fields.
(reorder_bloc): New function.
(update_heap_bloc_correspondence):
Renamed from update_heap_free_pointers. Update new fields.
(relinquish): Add error check for new fields.
1994-10-23 06:16:43 +00:00
Richard M. Stallman
abe9ff327f
(heap_base): Move static var to top level.
...
(struct heap): New slot `free'.
(obtain): Set `free' for new heap.
(get_bloc): Update `free'.
(find_heap): New function.
(update_heap_free_pointers): New function.
(resize_bloc, r_alloc_sbrk): Call update_heap_free_pointers.
1994-10-18 21:53:19 +00:00
Karl Heuer
e429caa215
Install Hiroshi Nakano's rewrite to allow multiple heaps, for implementations
...
where the C library makes calls to sbrk directly.
1994-10-12 00:48:03 +00:00
Karl Heuer
81bd58e880
(r_alloc_freeze_level): New variable.
...
(r_alloc_freeze, r_alloc_thaw): New functions.
(r_alloc_sbrk): Refuse to move blocs, if frozen.
1994-09-20 05:51:50 +00:00
Richard M. Stallman
0e93a7cf3f
(r_alloc_init): Explicitly use real_morecore
...
to allocate the entire incomplete page.
1993-11-18 09:26:05 +00:00
Roland McGrath
18160b98ce
Include <config.h> instead of "config.h".
1993-09-10 06:15:46 +00:00
Roland McGrath
f7a009a5c4
(ALIGNED, ROUNDUP): Use unsigned long int' instead of unsigned int' for
...
casting addresses and sizes. It matters on the 64-bit Alpha.
1993-07-22 18:59:43 +00:00
Jim Blandy
eb8c3be94e
Apply typo patches from Paul Eggert.
1993-06-09 11:59:12 +00:00
Richard M. Stallman
89ccd65a24
(r_alloc_sbrk): Declare already_available as long, not SIZE.
1993-05-26 20:38:52 +00:00
Richard M. Stallman
a8c0e5ea6b
(POINTER): Always use char *.
1993-05-26 03:49:40 +00:00
Jim Blandy
c6c5df7f76
Updated copyright years.
1993-05-22 21:34:42 +00:00
Roland McGrath
1df181b65f
[! emacs] [HAVE_CONFIG_H]: #include "config.h"
1992-12-29 21:58:10 +00:00
Jim Blandy
ad3bb3d260
* ralloc.c (relocate_some_blocs): Handle BLOC == NIL_BLOC.
...
(free_bloc): This can now be simplified.
* ralloc.c (r_alloc_sbrk): When we allocate new space for the
malloc heap, zero it out even if we don't have any blocs in the
free list.
1992-11-16 00:54:08 +00:00
Richard M. Stallman
7516b7d521
(relinquish): Adjust page_break_value by amount of memory actually given back.
...
(r_alloc_sbrk): Provide hysteresis in relocating the blocs.
(relinquish): Never free less than extra_bytes;
keep extra_bytes of empty space.
(obtain): Always get extra_bytes additional space.
(r_alloc_init): Set extra_bytes and page_size.
(ALIGNED, ROUNDUP, ROUND_TO_PAGE): Use page_size.
1992-10-24 04:39:49 +00:00
Richard M. Stallman
f275fd9a94
[emacs]: Define POINTER and SIZE.
...
[!emacs]: Delete definition of EXCEEDS_LISP_PTR.
1992-10-20 06:12:43 +00:00