Mark fo_head, finalize_now with a single GC_push_all call
authorIvan Maidanski <ivmai@mail.ru>
Wed, 19 Aug 2015 07:23:36 +0000 (10:23 +0300)
committerIvan Maidanski <ivmai@mail.ru>
Wed, 26 Aug 2015 08:47:48 +0000 (11:47 +0300)
commit8320da593dcc8fa9e99e63bc9c6d4857fc4367ae
tree7d7f8652a4cf091bd8927e153a76d128d72f04b1
parent9676e68e4086948002a00faccfe2b5b6b164f011
Mark fo_head, finalize_now with a single GC_push_all call
(code refactoring)

* finalize.c (GC_fnlz_roots): New static variable.
* finalize.c (GC_fo_head, GC_finalize_now): Move into GC_fnlz_roots
(remove "GC_" prefix for field names).
* finalize.c (GC_push_finalizer_structures): Replace GC_ASSERT and
GC_PUSH_ALL_SYM for GC_fo_head, GC_finalize_now with a single
GC_ASSERT and GC_PUSH_ALL_SYM for GC_fnlz_roots.
* finalize.c (GC_register_finalizer_inner,
GC_register_finalizer_unreachable, GC_finalize,
GC_should_invoke_finalizers, GC_invoke_finalizers,
GC_notify_or_invoke_finalizers): Replace access to GC_fo_head,
GC_finalize_now with access to the corresponding field of
GC_fnlz_roots.
finalize.c