Mercurial > hg > xemacs-beta
view src/m/pmax.h @ 2775:05d62157e048
[xemacs-hg @ 2005-05-15 16:37:52 by crestani]
New allocator improvements
lisp/ChangeLog addition:
2005-05-15 Marcus Crestani <crestani@xemacs.org>
* diagnose.el: Lrecord and string data statistics.
* diagnose.el (show-memory-usage): Add output for additional
lrecord statistics (currently only string data).
* diagnose.el (show-lrecord-stats): New. Print detailed lrecord
statistics.
src/ChangeLog addition:
2005-05-15 Marcus Crestani <crestani@xemacs.org>
* alloc.c: Add string data statistics.
* alloc.c (dec_lrecord_stats): Use size of lrecord for statistics
and cons counter bookkeeping.
* alloc.c (finalize_string): Add string data statistics.
* alloc.c (make_uninit_string): Add string data statistics.
* alloc.c (make_string_nocopy): Add string data statistics.
* alloc.c (kkcc_marking): Move break out of #ifdef.
* alloc.c (Flrecord_stats): New. Collect lrecord statistics.
* alloc.c (Fgarbage_collect): Use Flrecord_stats.
* alloc.c (syms_of_alloc): Add Flrecord_stats.
* dumper.c: Fix hash table.
* dumper.c (pdump_make_hash): Fix hash table.
* dumper.c (pdump_get_mc_addr): Fix hash table.
* dumper.c (pdump_put_mc_addr): Fix hash table.
* dumper.c (pdump_reloc_one_mc): Fix indentation.
* dumper.c (pdump_load_finish): Add lrecord statistics
bookkeeping.
* lrecord.h: Add string data statistics.
* mc-alloc.c (remove_cell): Lrecord statistics, fix indentation.
* mule-charset.c: Marking through *_unicode_description not
needed.
* symbols.c (init_symbols_once_early): Bump lrecord statistics.
* window.c: Marking through line_start_cache not needed.
* xemacs.def.in.in: Fix typo.
author | crestani |
---|---|
date | Sun, 15 May 2005 16:38:14 +0000 |
parents | ecf1ebac70d8 |
children |
line wrap: on
line source
/* Synched up with: FSF 19.31. */ /* Machine description file for DEC MIPS machines. */ #include "mips.h" /* The following line tells the configuration script what sort of operating system this machine is likely to run. USUAL-OPSYS="note" NOTE-START Use -opsystem=osf1 for OSF/1, and -opsystem=bsd4-3 otherwise. NOTE-END */ #undef LIB_STANDARD #undef START_FILES #undef COFF #undef TERMINFO #define MAIL_USE_FLOCK #ifdef MACH #define START_FILES "pre-crt0.o /usr/lib/crt0.o" #else /* This line starts being needed with ultrix 4.0. */ /* You must delete it for version 3.1. */ #define START_FILES "pre-crt0.o /usr/lib/cmplrs/cc/crt0.o" #endif /* Supposedly the following will overcome a kernel bug. */ #undef LD_SWITCH_MACHINE #undef DATA_START #define DATA_START 0x10000000 #if 0 /* I don't see any such conflict in Ultrix 4.2, 4.2a, or 4.3. And the relocating allocator is a real win. -JimB */ /* In Ultrix 4.1, XvmsAlloc.o in libX11.a seems to insist on defining malloc itself. This should avoid conflicting with it. */ #define SYSTEM_MALLOC #endif /* Override what mips.h says about this. */ #undef LINKER /* Ultrix 4.2 (perhaps also 4.1) implements O_NONBLOCK but it doesn't work right; and it causes hanging in read_process_output. */ #define BROKEN_O_NONBLOCK /* mcc@timessqr.gc.cuny.edu says this makes Emacs work with DECnet. */ #ifdef HAVE_LIBDNET #define LIBS_MACHINE "-ldnet" #endif /* mcc@timessqr.gc.cuny.edu says it is /vmunix on Ultrix 4.2a. */ #undef KERNEL_FILE #define KERNEL_FILE "/vmunix" #ifndef MACH /* Jim Wilson writes: [...] The X11 include files that Dec distributes with Ultrix are bogus. When __STDC__ is defined (which is true with gcc), the X11 include files try to define prototypes. The prototypes however use types which haven't been defined yet, and thus we get syntax/parse errors. You can not fix this by changing the include files, because the prototypes create circular dependencies, in particular Xutil.h depends on types defined in Xlib.h, and Xlib.h depends on types defined in Xutil.h. So, no matter which order you try to include them in, it will still fail. Compiling with -DNeedFunctionPrototypes=0 will solve the problem by directly inhibiting the bad prototypes. This could perhaps just be put in an a Ultrix configuration file. Using the MIT X11 distribution instead of the one provided by Dec will also solve the problem, but I doubt you can convince everyone to do this. */ /* Addendum: the MIT X11 distribution neglects to define certain symbols when NeedFunctionPrototypes is 0, but still tries to use them when NeedVarargsPrototypes is 1 (which is its default value). So if we're going to disable non-variadic prototypes, we also need to disable variadic prototypes. --kwzh@gnu.ai.mit.edu */ #define C_SWITCH_X_MACHINE "-DNeedFunctionPrototypes=0 -DNeedVarargsPrototypes=0" #endif /* XEmacs: the following does nothing at all any more due to cleanup of the create_process() code. */ /* Enable a fix in process.c. */ #define SET_CHILD_PTY_PGRP