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)