]> git.eshelyaron.com Git - emacs.git/commit
Add macros to allocate temporary Lisp objects with alloca.
authorDmitry Antipov <dmantipov@yandex.ru>
Tue, 9 Sep 2014 03:44:06 +0000 (07:44 +0400)
committerDmitry Antipov <dmantipov@yandex.ru>
Tue, 9 Sep 2014 03:44:06 +0000 (07:44 +0400)
commitc7dfea947eba1980fe3a23ad13f04dd40c6c0d68
tree3927b309d9773c54a06d7590e0dd6017a8c3bfc8
parent80465f41d7fc67d40f0a233504e295b127ad2c6b
Add macros to allocate temporary Lisp objects with alloca.
Respect MAX_ALLOCA and fall back to regular GC for large objects.
* character.h (parse_str_as_multibyte): Move prototype to ...
* lisp.h (parse_str_as_multibyte): ... here.
(struct Lisp_Cons): Add GCALIGNED attribute if supported.
(scoped_cons, scoped_list2, build_local_vector, build_local_string):
New macros.
(scoped_cons_init, pointer_valid_for_lisp_object, local_vector_init)
(local_string_init): New functions.
* alloc.c (verify_alloca) [ENABLE_CHECKING]: New function.
(init_alloc_once): Call it.
src/ChangeLog
src/alloc.c
src/character.h
src/lisp.h