Marcus Crestani <crestani(a)informatik.uni-tuebingen.de> writes:
APPROVE COMMIT 21.5
>>>>>"APA" == Adrian Aichner <adrian(a)xemacs.org> writes:
APA> Marcus, following variation of your Dynarr_add patch builds and
APA> runs.
Thanks for working on this, Adrian. I've committed this patch.
Thanks Marcus!
I can confirm that XEmacs works great with this patch!
The face-cachel growth is completely gone, stays at 20-40KB for days!
T-Online has eaten the past two days of my incoming e-mails.
Did you see any bounces for my address?
This instance of XEmacs, started at
08:56:04 2006-03-29 CET DST
has only recently (last evening) grown big.
Here is some data:
I don't have gc-stats, because this XEmacs was built with optimization
on and error checking off to get acceptable performance for everyday
use.
Please note that the buffer name for
M-x show-mc-alloc-memory-usage
should be renamed from *memory usage* to avoid clashing with output of
M-x show-memory-usage
I manually renamed it above to be able to attach both buffers to this
email.
Best regards,
Adrian
src/ChangeLog addition:
2006-03-30 Adrian Aichner <adrian(a)xemacs.org>
* lisp.h (Dynarr_add): Add local variable imp to avoid VC6
internal compiler error.
manual-newgc-xemacs-21.5 source patch:
Diff command: cvs -q diff -u
Files affected: src/lisp.h
Index: src/lisp.h
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/src/lisp.h,v
retrieving revision 1.140
diff -u -r1.140 lisp.h
--- src/lisp.h 26 Mar 2006 14:33:39 -0000 1.140
+++ src/lisp.h 30 Mar 2006 23:07:00 -0000
@@ -1612,14 +1612,14 @@
#ifdef NEW_GC
#define Dynarr_add(d, el) \
do { \
+ const struct lrecord_implementation *imp = (d)->lisp_imp; \
if (Dynarr_verify_mod (d)->cur >= (d)->max) \
Dynarr_resize ((d), (d)->cur+1); \
((d)->base)[(d)->cur] = (el); \
\
- if ((d)->lisp_imp) \
+ if (imp) \
set_lheader_implementation \
- ((struct lrecord_header *)&(((d)->base)[(d)->cur]), \
- (d)->lisp_imp); \
+ ((struct lrecord_header *)&(((d)->base)[(d)->cur]), imp); \
\
(d)->cur++; \
if ((d)->cur > (d)->largest) \
--
Adrian Aichner
mailto:adrian@xemacs.org
http://www.xemacs.org/