annotate nt/site.def @ 1292:f3437b56874d

[xemacs-hg @ 2003-02-13 09:57:04 by ben] profile updates profile.c: Major reworking. Keep track of new information -- total function timing (includes descendants), GC usage, total GC usage (includes descendants). New functions to be called appropriately from eval.c, alloc.c to keep track of this information. Keep track of when we're actually in a function vs. in its profile, for more accurate timing counts. Track profile overhead separately. Create new mechanism for specifying "internal sections" that are tracked just like regular Lisp functions and even appear in the backtrace if `backtrace-with-internal-sections' is non-nil (t by default for error-checking builds). Add some KKCC information for the straight (non-Elisp) hash table used by profile, which contains Lisp objects in its keys -- but not used yet. Remove old ad-hoc methods for tracking garbage collection, redisplay (which was incorrect anyway when Lisp was called within these sections). Don't record any tick info when blocking under MS Windows, since the timer there is in real time rather than in process time. Make `start-profiling', `stop-profiling' interactive. Be consistent wrt. recursive functions and functions currently on the stack when starting or stopping -- together these make implementing the `total' values extremely difficult. When we start profiling, we act as if we just entered all the functions currently on the stack. Likewise when exiting. Create vars in_profile for tracking time spent inside of profiling, and profiling_lock for setting exclusive access to the main hash table when reading from it or modifying it. (protects against getting screwed up by the signal handle going off at the same time. profile.h: New file. Create macros for declaring internal profiling sections. lisp.h: Move profile-related stuff to profile.h. alloc.c: Keep track of total consing, for profile. Tell profile when we are consing. Use new profile-section method for noting garbage-collection. alloc.c: Abort if we attempt to call the allocator reentrantly. backtrace.h, eval.c: Add info for use by profile in the backtrace frame and transfer PUSH_BACKTRACE/POP_BACKTRACE from eval.c, for use with profile. elhash.c: Author comment. eval.c, lisp.h: New Lisp var `backtrace-with-internal-sections'. Set to t when error-checking is on. eval.c: When unwinding, eval.c: Report to profile when we are about-to-call and just-called wrt. a function. alloc.c, eval.c: Allow for "fake" backtrace frames, for internal sections (used by profile and `backtrace-with-internal-sections'. event-Xt.c, event-gtk.c, event-msw.c, event-tty.c: Record when we are actually blocking on an event, for profile's sake. event-stream.c: Record internal profiling sections for getting, dispatching events. extents.c: Record internal profiling sections for map_extents. hash.c, hash.h: Add pregrow_hash_table_if_necessary(). (Used in profile code since the signal handler is the main grower but can't allow a realloc(). We make sure, at critical points, that the table is large enough.) lread.c: Create internal profiling sections for `load' (which may be triggered internally by autoload, etc.). redisplay.c: Remove old profile_redisplay_flag. Use new macros to declare internal profiling section for redisplay. text.c: Use new macros to declare internal profiling sections for char-byte conversion and internal-external conversion. SEMI-UNRELATED CHANGES: ----------------------- text.c: Update the long comments.
author ben
date Thu, 13 Feb 2003 09:57:08 +0000
parents 43dd3413c7c7
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
155
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
1 XCOMM site: $XConsortium: site.def /main/revisionist/3 1996/10/15 09:31:04 swick $
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
2
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
3 /***************************************************************************
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
4 * *
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
5 * SITE-SPECIFIC DEFINITIONS *
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
6 * *
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
7 * This file contains two halves, one included before the vendor-specific *
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
8 * configuration file (.cf file), and one included after the .cf file. *
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
9 * The before-half should be protected by #ifdef BeforeVendorCF, and the *
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
10 * after-half should be protected by #ifdef AfterVendorCF. *
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
11 * *
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
12 * The before-half should only set things that the .cf file depends on. *
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
13 * For the .cf files shipped in this release, the main variables in this *
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
14 * category are HasGcc, HasGcc2, HasCplusplus, OSMajorVersion, *
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
15 * OSMinorVersion, and OSTeenyVersion. *
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
16 * *
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
17 * The after-half should contain all other definitions. For example, *
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
18 * place your ProjectRoot definition here. *
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
19 * *
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
20 * OS Major and Minor version numbers should be changed directly in the *
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
21 * .cf file, not overridden in site.def. *
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
22 * *
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
23 ***************************************************************************/
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
24
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
25 /* if you want host-specific customization, this is one way to do it */
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
26 /*
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
27 #ifndef SiteIConfigFiles
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
28 #define SiteIConfigFiles $(IRULESRC)/host.def
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
29 #define LocalConfigFiles host.def
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
30 #endif
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
31 */
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
32
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
33
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
34 #ifdef BeforeVendorCF
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
35
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
36 /* #include <host.def> */
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
37
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
38 /* On systems where cpp doesn't expand correctly macros in include directives
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
39 * the two following macros need to be defined directly (where "X11" is
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
40 * really whatever the TopLevelProject macro is defined to be).
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
41 */
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
42 # ifndef ProjectRulesFile
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
43 # define ProjectRulesFile <X11.rules>
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
44 # endif
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
45 # ifndef ProjectTmplFile
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
46 # define ProjectTmplFile <X11.tmpl>
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
47 # endif
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
48
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
49 /*
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
50 #ifndef HasGcc2
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
51 #define HasGcc2 YES
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
52 #endif
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
53 */
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
54
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
55 #endif /* BeforeVendorCF */
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
56
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
57 #ifdef AfterVendorCF
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
58
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
59 #define ProjectRoot f:/utils/X11R6
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
60
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
61 /* Only set HasXdmAuth to YES if you have a Wraphelp.c file. */
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
62 /* #define HasXdmAuth YES */
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
63
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
64 /* #define PreIncDir /usr/local/lib/gcc-lib/sparc-sun-solaris2.4/2.7.2/include */
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
65
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
66 /*
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
67 #if defined(SunArchitecture) && defined(SparcArchitecture)
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
68 #define HasCodeCenter YES
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
69 #ifndef SVR4Architecture
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
70 #define HasTestCenter YES
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
71 #endif
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
72 #endif
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
73 */
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
74
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
75 /*
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
76 #ifdef __hp9000s800
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
77 #define HasCodeCenter YES
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
78 #endif
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
79 */
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
80
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
81 /*
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
82 #if defined(SunArchitecture) && defined(SparcArchitecture) && !defined(SVR4Architecture)
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
83 #define HasPurify YES
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
84 #endif
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
85 */
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
86
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
87 /*
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
88 #define HasSentinel YES
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
89 */
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
90
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
91 /*
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
92 #undef DefaultUserPath
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
93 #define DefaultUserPath /bin:/usr/bin:$(BINDIR):/usr/ucb:/usr/local/bin
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
94 */
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
95
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
96
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
97 /* You do NOT need SetUID if you only run the server under xdm */
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
98 /* You MAY need SetUID if users run the server by hand or under xinit */
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
99 /* Consult your system administrator before making the X server setuid */
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
100 /*
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
101 #if defined(SunArchitecture) && OSMajorVersion > 4
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
102 #define InstallXserverSetUID YES
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
103 #endif
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
104 */
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
105
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
106 /* You do NOT need SetUID if you only run the server under xdm */
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
107 /* You MAY need SetUID if users run the server by hand or under xinit */
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
108 /* Consult your system administrator before making the X server setuid */
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
109 /*
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
110 #ifdef XFree86Version
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
111 #define InstallXserverSetUID YES
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
112 #endif
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
113 */
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
114
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
115 #ifndef XnestServer
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
116 #undef BuildServer
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
117 #define BuildServer YES
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
118 #define XnestServer YES
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
119 #endif
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
120
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
121 /* #include <host.def> */
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
122
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
123 #endif /* AfterVendorCF */