Mercurial > hg > xemacs-beta
view etc/MAILINGLISTS @ 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 | 3ecd8885ac67 |
children |
line wrap: on
line source
XEmacs Electronic Mailing Lists. Last Modified: 1999-11-08 XEmacs has its own mailing lists and newsgroup which are distinct from the FSF GNU Emacs mailing lists and newsgroups. The mailing lists are: xemacs@xemacs.org comp.emacs.xemacs bi-directional gateway. xemacs is an open list for discussion and bug reporting for XEmacs. This mailing list is bi-directionally gatewayed with the USENET newsgroup comp.emacs.xemacs. xemacs-announce@xemacs.org XEmacs Announcements. xemacs-announce is a read-only, low volume list for announcements concerning the XEmacs project and new releases of the XEmacs software. xemacs-beta@xemacs.org XEmacs Beta Testers. xemacs-beta is an open list for bug reports and general communication about beta versions of XEmacs. xemacs-build-reports@xemacs.org XEmacs Build Report Submissions. xemacs-build-reports is an open list for submission of build-reports on beta versions of XEmacs. For information on what the build-reports should contain, please see the `etc/BETA' file which is included in each beta distribution. xemacs-cvs@xemacs.org XEmacs CVS Commit Notices. xemacs-cvs is a read-only list for notices and information on what has been committed to the XEmacs CVS trees, by whom, and for what. (For more information on the XEmacs CVS Archive: http://cvs.xemacs.org/.) xemacs-mule@xemacs.org XEmacs International Extensions. xemacs-mule is an open mailing list for discussion of International extensions to XEmacs including Mule, XIM, I18n issues, etc, and is not confined to developmental issues. This list is not restricted to English, postings in all languages are welcome. xemacs-nt@xemacs.org XEmacs on Windows NT/98/95. xemacs-nt is a developer's only mailing list and is intended for people who wish to work actively on the porting of XEmacs to Microsoft Windows NT and Microsoft Windows 98/95. xemacs-patches@xemacs.org XEmacs Patch Submissions. xemacs-patches is an open, moderated list for submission of patches to the XEmacs distribution and its packages. Anyone may subscribe or submit to xemacs-patches, but all submissions are reviewed by the list moderator before they are distributed to the list. Discussion is not appropriate on xemacs-patches. xemacs-users-ja@xemacs.org XEmacs (Japanese). xemacs-users-ja is an open list for discussion and bug reporting for XEmacs. Japanese is the preferred language of discussion. It is not gated to comp.emacs.xemacs or the xemacs list. For fastest response, bugs not specifically related to Japanese or Mule features should be reported on xemacs (in English). xemacs-beta-ja@xemacs.org XEmacs Beta (Japanese). xemacs-beta-ja is an open list for bug reports and general communication about beta versions of XEmacs, especially features related to Mule and Japanese-handling. Japanese is the preferred language of discussion. Bugs not specifically related to Japanese or Mule features should be reported on xemacs-beta (in English). Please consider sending bug reports on Mule to xemacs-mule, in English. The most up to date information on the mailing lists can always be found at http://www.xemacs.org/. Subscriptions: Subscription to all the lists is accomplished by sending an e-mail message to LISTNAME-request@xemacs.org with `subscribe' (without the quotes) as the BODY of the message. To unsubscribe, send an e-mail to LISTNAME-request@xemacs.org with `unsubscribe' (without the quotes) as the BODY of the message. List Archives: A browsable and searchable archive of these lists is available at http://www.xemacs.org/list-archives/. Problems: Any comments, questions, or complaints about the lists should be brought to the attention of the XEmacs Mailing List Manager <list-manager@xemacs.org>. ----------------------------------------------------------------------- GNU Project Electronic Mailing Lists and gnUSENET Newsgroups: The XEmacs project is separate from and not managed by the GNU project. The latest information about the GNU project mailing lists can be found at ftp://ftp.gnu.org/gnu/GNUinfo/MAILINGLISTS Please do NOT send messages about problems with XEmacs to the FSF GNU Emacs newsgroups and mailing lists unless you are sure that the problem you are reporting is a problem with both versions of GNU Emacs. People who aren't subscribed to the XEmacs mailing list most likely are not interested in hearing about problems with it.