annotate src/s/aix4.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 943eaba38521
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1 #define AIX4
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3 #include "aix3-2-5.h"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5 /* AIX 4 does not have HFT any more. */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
6 #undef AIXHFT
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
7
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8 #ifndef NOT_C_CODE
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
9 #define _XFUNCS_H_ 1
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
10
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 499
diff changeset
11 /* #### we don't use either any more. some AIX user should delete the include
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 499
diff changeset
12 and see if anything breaks. --ben */
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
13 /* AIX is happier when bzero and strcasecmp are declared */
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
14 #include "strings.h"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
15
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
16 /* Forward declarations for xlc warning suppressions */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
17 struct ether_addr;
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
18 struct sockaddr_dl;
460
223736d75acb Import from CVS: tag r21-2-45
cvs
parents: 456
diff changeset
19
223736d75acb Import from CVS: tag r21-2-45
cvs
parents: 456
diff changeset
20 #ifdef __xlC__ /* "eXceLlent C compiler" ?! */
223736d75acb Import from CVS: tag r21-2-45
cvs
parents: 456
diff changeset
21 #if __xlC__ >= 1200
499
36b504cdc45f [xemacs-hg @ 2001-05-03 07:17:11 by martinb]
martinb
parents: 460
diff changeset
22 /* IBM's C compiler option `-O3' is too aggressive.
36b504cdc45f [xemacs-hg @ 2001-05-03 07:17:11 by martinb]
martinb
parents: 460
diff changeset
23 We recommend instead the combination `-O3 -qstrict', which seems safe.
36b504cdc45f [xemacs-hg @ 2001-05-03 07:17:11 by martinb]
martinb
parents: 460
diff changeset
24
36b504cdc45f [xemacs-hg @ 2001-05-03 07:17:11 by martinb]
martinb
parents: 460
diff changeset
25 cc -O3 miscompiles at least two functions. From IBM's docs:
36b504cdc45f [xemacs-hg @ 2001-05-03 07:17:11 by martinb]
martinb
parents: 460
diff changeset
26
36b504cdc45f [xemacs-hg @ 2001-05-03 07:17:11 by martinb]
martinb
parents: 460
diff changeset
27 IBM> -qstrict turns off the following optimizations:
460
223736d75acb Import from CVS: tag r21-2-45
cvs
parents: 456
diff changeset
28
499
36b504cdc45f [xemacs-hg @ 2001-05-03 07:17:11 by martinb]
martinb
parents: 460
diff changeset
29 IBM> Performing code motion and scheduling on computations such as loads
36b504cdc45f [xemacs-hg @ 2001-05-03 07:17:11 by martinb]
martinb
parents: 460
diff changeset
30 IBM> and floating-point computations that may trigger an exception.
460
223736d75acb Import from CVS: tag r21-2-45
cvs
parents: 456
diff changeset
31
499
36b504cdc45f [xemacs-hg @ 2001-05-03 07:17:11 by martinb]
martinb
parents: 460
diff changeset
32 Nevertheless, we try to work with these compiler options. */
460
223736d75acb Import from CVS: tag r21-2-45
cvs
parents: 456
diff changeset
33 #pragma option_override (bytecount_to_charcount, "opt(strict,yes)")
499
36b504cdc45f [xemacs-hg @ 2001-05-03 07:17:11 by martinb]
martinb
parents: 460
diff changeset
34 #pragma option_override (Fexpand_file_name, "opt(strict,yes)")
460
223736d75acb Import from CVS: tag r21-2-45
cvs
parents: 456
diff changeset
35 #endif /* recent IBM C compiler */
223736d75acb Import from CVS: tag r21-2-45
cvs
parents: 456
diff changeset
36 #endif /* IBM's C compiler */
223736d75acb Import from CVS: tag r21-2-45
cvs
parents: 456
diff changeset
37
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
38 #endif /* C code */
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
39
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
40 /* getaddrinfo is broken in AIX 4.3 as per IY04165.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
41 At this time (2/21/2000), there's no PTF available.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
42 -- Mike Sperber <mike@xemacs.org> */
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
43
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
44 #undef HAVE_GETADDRINFO