view nt/paths.h @ 5170:5ddbab03b0e6

various fixes to memory-usage stats -------------------- ChangeLog entries follow: -------------------- lisp/ChangeLog addition: 2010-03-25 Ben Wing <ben@xemacs.org> * diagnose.el (show-memory-usage): * diagnose.el (show-object-memory-usage-stats): Further changes to correspond with changes in the C code; add an additional column in show-object-memory-usage-stats showing the ancillary Lisp overhead used with each type; shrink columns for windows in show-memory-usage to get it to fit in 79 chars. src/ChangeLog addition: 2010-03-25 Ben Wing <ben@xemacs.org> * alloc.c: * alloc.c (struct): * alloc.c (finish_object_memory_usage_stats): * alloc.c (object_memory_usage_stats): * alloc.c (Fobject_memory_usage): * alloc.c (lisp_object_memory_usage_full): * alloc.c (compute_memusage_stats_length): * lrecord.h: * lrecord.h (struct lrecord_implementation): Add fields to the `lrecord_implementation' structure to list an offset into the array of extra statistics in a `struct generic_usage_stats' and a length, listing the first slice of ancillary Lisp-object memory. Compute automatically in compute_memusage_stats_length(). Use to add an entry `FOO-lisp-ancillary-storage' for object type FOO. Don't crash when an int or char is given to object-memory-usage, signal an error instead. Add functions lisp_object_memory_usage_full() and lisp_object_memory_usage() to compute the total memory usage of an object (sum of object, non-Lisp attached, and Lisp ancillary memory). * array.c: * array.c (gap_array_memory_usage): * array.h: Add function to return memory usage of a gap array. * buffer.c (struct buffer_stats): * buffer.c (compute_buffer_usage): * buffer.c (vars_of_buffer): * extents.c (compute_buffer_extent_usage): * marker.c: * marker.c (compute_buffer_marker_usage): * extents.h: * lisp.h: Remove `struct usage_stats' arg from compute_buffer_marker_usage() and compute_buffer_extent_usage() -- these are ancillary Lisp objects and don't get accumulated into `struct usage_stats'; change the value of `memusage_stats_list' so that `markers' and `extents' memory is in Lisp-ancillary, where it belongs. In compute_buffer_marker_usage(), use lisp_object_memory_usage() rather than lisp_object_storage_size(). * casetab.c: * casetab.c (case_table_memory_usage): * casetab.c (vars_of_casetab): * emacs.c (main_1): Add memory usage stats for case tables. * lisp.h: Add comment explaining the `struct generic_usage_stats' more, as well as the new fields in lrecord_implementation. * console-impl.h: * console-impl.h (struct console_methods): * scrollbar-gtk.c: * scrollbar-gtk.c (gtk_compute_scrollbar_instance_usage): * scrollbar-msw.c: * scrollbar-msw.c (mswindows_compute_scrollbar_instance_usage): * scrollbar-x.c: * scrollbar-x.c (x_compute_scrollbar_instance_usage): * scrollbar.c: * scrollbar.c (struct scrollbar_instance_stats): * scrollbar.c (compute_all_scrollbar_instance_usage): * scrollbar.c (scrollbar_instance_memory_usage): * scrollbar.c (scrollbar_objects_create): * scrollbar.c (vars_of_scrollbar): * scrollbar.h: * symsinit.h: * window.c: * window.c (find_window_mirror_maybe): * window.c (struct window_mirror_stats): * window.c (compute_window_mirror_usage): * window.c (window_mirror_memory_usage): * window.c (compute_window_usage): * window.c (window_objects_create): * window.c (syms_of_window): * window.c (vars_of_window): Redo memory-usage associated with windows, window mirrors, and scrollbar instances. Should fix crash in find_window_mirror, among other things. Properly assign memo ry to object memory, non-Lisp extra memory, and Lisp ancillary memory. For example, redisplay structures are non-Lisp memory hanging off a window mirror, not a window; make it an ancillary Lisp-object field. Window mirrors and scrollbar instances have their own statistics, among other things.
author Ben Wing <ben@xemacs.org>
date Thu, 25 Mar 2010 06:07:25 -0500
parents 4be1180a9e89
children
line wrap: on
line source

/* Hey Emacs, this is -*- C -*- code! */

/* Synched up with: Not synched with FSF. */

/* Think twice before editing this file.  Generated automatically by configure.

 The file startup.el guesses at reasonable values for load-path, exec-path,
 and lock-directory.  This means that if you move emacs and its associated
 sub-tree to a different place in the filesystem, or to a different machine,
 you won't have to do anything for it to work.

 If you define the paths in this file then they will take precedence over
 any value generated by the heuristic in startup.el.  The hardcoded paths
 will be checked to see if they are valid, in which case they will be used.
 Otherwise the editor will attempt to make its normal guess.

 See the NEWS file for a description of the heuristic used to locate the lisp
 and exec directories at startup time.  If you are looking at this file
 because you are having trouble, then you would be much better off arranging
 for those heuristics to succeed than defining the paths in this file.

   **  Let me say that again.  If you're editing this file, you're making
   **  a mistake.  Re-read the section on installation in ../etc/NEWS.

 If it defines anything, this file should define some subset of the following:

   PATH_PREFIX		The default value of `prefix-directory'.  This is the
   			default root for everything.

   PATH_LOADSEARCH	The default value of `load-path'.

   PATH_EXEC		The default value of `exec-directory' and `exec-path'.
			(exec-path also contains the value of whatever is in
			the PATH environment variable.)

   PATH_DATA		The default value of `data-directory'.  This
			is where architecture-independent files are
			searched for.

   PATH_LOCK		The name of the directory that contains lock files
			with which we record what files are being modified in 
			Emacs.  This directory should be writable by everyone.
			If this is specified, the string must end with a slash!

   PATH_SUPERLOCK	The name of the file !!!SuperLock!!! in the lock 
			directory.  You probably should let this default...

   PATH_INFO		The default value of `Info-directory-list'.
			This is where info files are searched for. */