]> git.eshelyaron.com Git - emacs.git/commit
Pure storage removal: Main part
authorPip Cet <pipcet@protonmail.com>
Tue, 20 Aug 2024 18:52:35 +0000 (18:52 +0000)
committerEshel Yaron <me@eshelyaron.com>
Mon, 3 Feb 2025 10:23:15 +0000 (11:23 +0100)
commita45dce05be8678c8bd31f06cdad03c6978ee7f44
tree42c456d27c9610b1362b3fa5579e8ceba9ca4609
parentb3c69f55bc7bf3f1ecaaedc2d96867c2886b15e9
Pure storage removal: Main part

* src/alloc.c (pure, PUREBEG, purebeg, pure_size)
(pure_bytes_used_before_overflow, pure_bytes_used_lisp)
(pure_bytes_used_non_lisp): Remove definitions.
(init_strings): Make empty strings impure.
(cons_listn): Drop 'cons' argument.
(pure_listn): Remove function.
(init_vectors): Allocate zero vector manually to avoid freelist issues.
(pure_alloc, check_pure_size, find_string_data_in_pure)
(make_pure_string, make_pure_c_string, pure_cons, make_pure_float)
(make_pure_bignum, make_pure_vector, purecopy_hash_table): Remove
functions.
(purecopy): Reduce to hash consing our argument.
(init_alloc_once_for_pdumper): Adjust to lack of pure space.
(pure-bytes-used): Adjust docstring to mark as obsolete.
(purify-flag): Keep for hash consing, but adjust docstring.
* src/bytecode.c:
* src/comp.c: Don't include "puresize.h".
* src/conf_post.h (SYSTEM_PURESIZE_EXTRA): Remove definition.
* src/data.c (pure_write_error): Remove function.
* src/deps.mk: Remove puresize.h dependency throughout.
* src/emacs.c:
* src/fns.c:
* src/intervals.c:
* src/keymap.c: Don't include "puresize.h".
* src/lisp.h (struct Lisp_Hash_Table): Adjust comment.
(pure_listn, pure_list, build_pure_c_string): Remove.
* src/w32heap.c (FREEABLE_P): Don't do use 'dumped_data'.
(malloc_before_dump, realloc_before_dump, free_before_dump): Remove
functions.
* src/w32heap.h: Adjust prototype.
* lisp/loadup.el:
* lisp/startup.el: Remove purespace code.

(cherry picked from commit f84ccff5a6275782a37534ed55b706db35f228ac)
15 files changed:
lisp/loadup.el
lisp/startup.el
src/alloc.c
src/bytecode.c
src/comp.c
src/conf_post.h
src/data.c
src/deps.mk
src/emacs.c
src/fns.c
src/intervals.c
src/keymap.c
src/lisp.h
src/w32heap.c
src/w32heap.h