diff src/ChangeLog @ 3263:d674024a8674

[xemacs-hg @ 2006-02-27 16:29:00 by crestani] - Introduce a fancy asynchronous finalization strategy on C level. - Merge the code conditioned on MC_ALLOC into the code conditioned on NEW_GC. - Remove the possibility to free objects manually outside garbage collections when the new collector is enabled.
author crestani
date Mon, 27 Feb 2006 16:29:29 +0000
parents 59f24c2a31ac
children a0de8be91f1b
line wrap: on
line diff
--- a/src/ChangeLog	Sun Feb 26 22:51:04 2006 +0000
+++ b/src/ChangeLog	Mon Feb 27 16:29:29 2006 +0000
@@ -1,3 +1,78 @@
+2006-02-22  Marcus Crestani  <crestani@xemacs.org>
+
+	Asynchronous finalization:
+	
+	* Makefile.in.in: Remove mc-alloc, replace with newgc.
+	* alloc.c (alloc_lrecord): Add object that has a finalizer
+	to Vall_finalizable_objs.
+	* alloc.c (noseeum_alloc_lrecord): Add object that has a finalizer
+	to Vall_finalizable_objs.
+	* alloc.c (alloc_lrecord_array): Add object that has a finalizer
+	to Vall_finalizable_objs.
+	* alloc.c (free_lrecord): Disable manual free.
+	* dumper.c (pdump_register_object): Objects with finalizers cannot
+	be dumped.
+	* eval.c (Ffuncall): Add call to run_finalizers.
+	* gc.c (finalize_elem): New.
+	* gc.c (add_finalizable_object): New.
+	* gc.c (register_for_finalization): New.
+	* gc.c (gc_finalize): Call register_for_finalization.
+	* gc.c (gc_1): Move kkcc_gc_stack_free after finalization. 
+	* gc.c (common_init_gc_early): Add asynchronous finalization
+	variables.
+	* gc.c (init_gc_early): Add asynchronous finalization variables.
+	* gc.c (vars_of_gc): Add asynchronous finalization variables.
+	* gc.h: Add asynchronous finalization prototypes.
+	* mc-alloc.c (finalize_heap): Remove.
+	* mc-alloc.c (mc_free): Disable manual free.
+
+	* elhash.c (finalize_hash_table): Remove unneeded finalizer for
+	NEW_GC
+	* extents.c (finalize_extent_info): Remove unneeded finalizer for
+	NEW_GC.
+	* file-coding.c (finalize_coding_system): Remove unneeded
+	finalizer for NEW_GC.
+	* gui.c (finalize_gui_item): Remove unneeded finalizer.
+	* specifier.c (finalize_specifier): Remove unneeded finalizer for
+	NEW_GC.
+
+        Merge #ifdef MC_ALLOC into #ifdef NEW_GC, remove no longer needed
+	MC_ALLOC specific code in all files: 
+	* alloc.c:
+	* buffer.c:
+	* bytecode.c:
+	* bytecode.h:
+	* config.h.in:
+	* console-stream.c:
+	* console.c:
+	* dumper.c:
+	* dumper.h:
+	* elhash.c:
+	* emacs.c:
+	* event-msw.c:
+	* event-stream.c:
+	* extents.c:
+	* extents.c:
+	* faces.h:
+	* file-coding.c:
+	* gc.c:
+	* glyphs.h:
+	* lisp.h:
+	* lrecord.h:
+	* lstream.c:
+	* marker.c:
+	* mc-alloc.c:
+	* mc-alloc.h:
+	* opaque.c:
+	* print.c:
+	* ralloc.c:
+	* specifier.c:
+	* symbols.c:
+	* symeval.h:
+	* symsinit.h:
+	* tests.c:
+	* xemacs.def.in.in:
+
 2006-02-26  Stephen J. Turnbull  <stephen@xemacs.org>
 
 	* XEmacs 21.5.25 "eggplant" is released.