Mercurial > hg > xemacs-beta
view modules/sample/internal/Makefile.in.in @ 5160:ab9ee10a53e4
fix various problems with allocation statistics, track overhead properly
-------------------- ChangeLog entries follow: --------------------
lisp/ChangeLog addition:
2010-03-20 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 showing the overhead used with each type,
and add it into the grand total memory usage.
src/ChangeLog addition:
2010-03-20 Ben Wing <ben@xemacs.org>
* alloc.c:
* alloc.c (init_lrecord_stats):
* alloc.c (free_normal_lisp_object):
* alloc.c (struct):
* alloc.c (clear_lrecord_stats):
* alloc.c (tick_lrecord_stats):
* alloc.c (COUNT_FROB_BLOCK_USAGE):
* alloc.c (COPY_INTO_LRECORD_STATS):
* alloc.c (sweep_strings):
* alloc.c (UNMARK_string):
* alloc.c (gc_sweep_1):
* alloc.c (finish_object_memory_usage_stats):
* alloc.c (object_memory_usage_stats):
* alloc.c (object_dead_p):
* alloc.c (fixed_type_block_overhead):
* alloc.c (lisp_object_storage_size):
* emacs.c (main_1):
* lisp.h:
* lrecord.h:
Export lisp_object_storage_size() and malloced_storage_size() even
when not MEMORY_USAGE_STATS, to get the non-MEMORY_USAGE_STATS
build to compile.
Don't export fixed_type_block_overhead() any more.
Some code cleanup, rearrangement, add some section headers.
Clean up various bugs especially involving computation of overhead
and double-counting certain usage in total_gc_usage. Add
statistics computing the overhead used by all types. Don't add a
special entry for string headers in the object-memory-usage-stats
because it's already present as just "string". But do count the
overhead used by long strings. Don't try to call the
memory_usage() methods when NEW_GC because there's nowhere obvious
in the sweep stage to make the calls.
* marker.c (compute_buffer_marker_usage):
Just use lisp_object_storage_size() rather than trying to
reimplement it.
author | Ben Wing <ben@xemacs.org> |
---|---|
date | Sat, 20 Mar 2010 20:20:30 -0500 |
parents | 74b2ea269eb5 |
children | 308d34e9f07d |
line wrap: on
line source
## Makefile for the sample module in XEmacs. ## Copyright (C) 2002 Jerry James. ## This file is part of XEmacs. ## XEmacs is free software; you can redistribute it and/or modify it ## under the terms of the GNU General Public License as published by the ## Free Software Foundation; either version 2, or (at your option) any ## later version. ## XEmacs is distributed in the hope that it will be useful, but WITHOUT ## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ## for more details. ## You should have received a copy of the GNU General Public License ## along with XEmacs; see the file COPYING. If not, write to ## the Free Software Foundation, Inc., 59 Temple Place - Suite 330, ## Boston, MA 02111-1307, USA. ## Synched up with: Not synched with FSF. ## This is more complicated than would normally be the case, as this makefile ## has been tailored to work both inside and independently of the XEmacs ## source tree, and to support both module and non-module building inside the ## source tree. ### Specialize this part for your module MODNAME=sample MODVER=0.0.1 MODTITLE="Sample module for XEmacs" LDFLAGS=@LDFLAGS@ @sample_libs@ SRCS=sample.c ### You should not need to modify anything below this line SHELL=/bin/sh RM=rm -f PROGNAME=@PROGNAME@ CFLAGS=@CFLAGS@ INSTALL=@INSTALL@ version=@version@ prefix=@prefix@ exec_prefix=@exec_prefix@ libdir=@libdir@ instvardir=@instvardir@ configuration=@configuration@ moduledir=@moduledir@ with_modules=@with_modules@ srcdir=@srcdir@ VPATH=@srcdir@ SRC_SRCS=$(SRCS:%=$(srcdir)/%) OBJS=$(SRCS:.c=.o) CC=@MOD_CC@ MODARCHDIR=@MODARCHDIR@ MAKE_DOCFILE=@MAKE_DOCFILE@ MODCFLAGS=@MODCFLAGS@ INSTALLPATH=@INSTALLPATH@ INSTALL_PROGRAM=@MOD_INSTALL_PROGRAM@ OBJECT_TO_BUILD=@OBJECT_TO_BUILD@ .PHONY: clean distclean install all: $(OBJECT_TO_BUILD) .c.o: $(CC) $(MODCFLAGS) -c $< $(MODNAME).ell: $(OBJS) $(MODNAME)_i.o $(CC) --mode=link --mod-output=$@ $(OBJS) $(MODNAME)_i.o $(LDFLAGS) $(MODNAME)_i.c: $(SRCS) ELLMAKEDOC=$(MAKE_DOCFILE) $(CC) --mode=init --mod-output=$@ \ --mod-name=$(MODNAME) --mod-version=$(MODVER) \ --mod-title=$(MODTITLE) $(SRC_SRCS) clean: $(RM) $(MODNAME).ell $(OBJS) $(MODNAME)_i.* *~ distclean: clean $(RM) Makefile config.* configure install: $(OBJECT_TO_BUILD) $(INSTALL_PROGRAM) $< $(INSTALLPATH)