Mercurial > hg > xemacs-beta
comparison src/profile.c @ 1598:ac1be85b4a5f
[xemacs-hg @ 2003-07-31 13:32:24 by crestani]
2003-07-29 Marcus Crestani <crestani@informatik.uni-tuebingen.de>
Markus Kaltenbach <makalten@informatik.uni-tuebingen.de>
* README.kkcc: Aligned to the changes.
* alloc.c: Implemented the kkcc_gc_stack.
(kkcc_gc_stack_init):
(kkcc_gc_stack_free):
(kkcc_gc_stack_realloc):
(kkcc_gc_stack_full):
(kkcc_gc_stack_empty):
(kkcc_gc_stack_push):
(kkcc_gc_stack_pop):
(kkcc_gc_stack_push_lisp_object):
(mark_object_maybe_checking_free): Push objects on kkcc stack instead
of marking.
(mark_struct_contents): Push objects on kkcc stack instead of marking.
(kkcc_marking): KKCC mark algorithm using the kkcc_gc_stack.
(mark_object): Removed KKCC ifdefs.
(garbage_collect_1): Push objects on kkcc stack instead of marking.
* data.c: Added XD_FLAG_NO_KKCC to ephemeron_description and to
weak_list_description.
* data.c (finish_marking_weak_lists): Push objects on kkcc stack
instead of marking.
(continue_marking_ephemerons): Push objects on kkcc stack instead
of marking.
(finish_marking_ephemerons): Push objects on kkcc stack instead
of marking.
* elhash.c (finish_marking_weak_hash_tables): Push objects on kkcc
stack instead of marking.
* eval.c: Added XD_FLAG_NO_KKCC to subr_description.
* lisp.h: Added prototype for kkcc_gc_stack_push_lisp_object.
* profile.c (mark_profiling_info_maphash): Push keys on kkcc stack
instead of marking.
author | crestani |
---|---|
date | Thu, 31 Jul 2003 13:32:26 +0000 |
parents | 01c57eb70ae9 |
children | 04bc9d2f42c7 |
comparison
equal
deleted
inserted
replaced
1597:4b6ee17c5f37 | 1598:ac1be85b4a5f |
---|---|
670 static int | 670 static int |
671 mark_profiling_info_maphash (const void *void_key, | 671 mark_profiling_info_maphash (const void *void_key, |
672 void *void_val, | 672 void *void_val, |
673 void *void_closure) | 673 void *void_closure) |
674 { | 674 { |
675 #ifdef USE_KKCC | |
676 kkcc_gc_stack_push_lisp_object (VOID_TO_LISP (void_key)); | |
677 #else /* NOT USE_KKCC */ | |
675 mark_object (VOID_TO_LISP (void_key)); | 678 mark_object (VOID_TO_LISP (void_key)); |
679 #endif /* NOT USE_KKCC */ | |
676 return 0; | 680 return 0; |
677 } | 681 } |
678 | 682 |
679 void | 683 void |
680 mark_profiling_info (void) | 684 mark_profiling_info (void) |