]> git.eshelyaron.com Git - emacs.git/commit
Improve performance when a string's byte count changes
authorPaul Eggert <eggert@Penguin.CS.UCLA.EDU>
Sat, 18 Jan 2020 07:59:51 +0000 (23:59 -0800)
committerPaul Eggert <eggert@cs.ucla.edu>
Sat, 18 Jan 2020 08:02:12 +0000 (00:02 -0800)
commitc1b6d5c5b9f8eee8aa3a8071292e8b3281ecf28a
treef484fd77b1eec8659d17531c39e1bff1301c5b33
parentbce3d89a6042da8830199d912c3b26aefaf7288c
Improve performance when a string's byte count changes

* src/alloc.c (allocate_string_data): Now static.
Remove code for when Faset calls this function when S
already has data assigned, as that can no longer happen.
(resize_string_data): New function, which avoids relocation in
more cases than the old code did, by not bothering to relocate
when the size changes falls within the alignment slop.
* src/data.c (Faset): Use resize_string_data.
Change a while to a do-while since it must iterate at least once.
src/alloc.c
src/data.c
src/lisp.h