gcc/libcpp
Tom Tromey b9bd6f7438 Reduce memory waste due to non-power-of-2 allocs
This patch basically arranges for the allocation size of line_map
buffers to be as close as possible to a power of two.  This
*significantly* decreases peak memory consumption as (macro) maps are
numerous and stay live during all the compilation.

The patch adds a new ggc_round_alloc_size interface to the ggc
allocator.  In each of the two main allocator implementations ('page'
and 'zone') the function has been extracted from the main allocation
function code and returns the actual size of the allocated memory
region, thus giving a chance to the caller to maximize the amount of
memory it actually uses from the allocated memory region.  In the
'none' allocator implementation (that uses xmalloc) the
ggc_round_alloc_size just returns the requested allocation size.

Co-Authored-By: Dodji Seketeli <dodji@redhat.com>

From-SVN: r180086
2011-10-17 12:00:07 +02:00
..
include Reduce memory waste due to non-power-of-2 allocs 2011-10-17 12:00:07 +02:00
po be.po, [...]: Update. 2011-07-08 20:29:04 +01:00
ChangeLog Reduce memory waste due to non-power-of-2 allocs 2011-10-17 12:00:07 +02:00
Makefile.in Update Copyright years for files modified in 2010. 2011-01-03 21:52:22 +01:00
aclocal.m4 Undo inadvertent commit in rev 160105. 2010-06-01 10:20:24 -04:00
charset.c Update Copyright years for files modified in 2010. 2011-01-03 21:52:22 +01:00
config.in re PR bootstrap/45538 (--enable-build-with-cxx compiling gcc/libcpp/charset.c) 2010-11-18 07:35:34 +00:00
configure Set need_64bit_hwint to yes for x86 targets. 2011-07-28 07:29:38 -07:00
configure.ac Set need_64bit_hwint to yes for x86 targets. 2011-07-28 07:29:38 -07:00
directives-only.c LINEMAP_POSITION_FOR_COLUMN had the exact same effect as linemap_position_for_column... 2011-08-15 20:35:58 +00:00
directives.c Generate virtual locations for tokens 2011-10-17 11:59:12 +02:00
errors.c Update Copyright years for files modified in 2010. 2011-01-03 21:52:22 +01:00
expr.c Make UNSPEC/UNSPECV constants use the enum; Fix 48192; Add test case for 48053 2011-03-21 16:21:30 +00:00
files.c Linemap infrastructure for virtual locations 2011-10-17 11:58:56 +02:00
identifiers.c Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
init.c Generate virtual locations for tokens 2011-10-17 11:59:12 +02:00
internal.h Generate virtual locations for tokens 2011-10-17 11:59:12 +02:00
lex.c Generate virtual locations for tokens 2011-10-17 11:59:12 +02:00
line-map.c Reduce memory waste due to non-power-of-2 allocs 2011-10-17 12:00:07 +02:00
macro.c Add line map statistics to -fmem-report output 2011-10-17 11:59:52 +02:00
makeucnid.c Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
mkdeps.c files.c (file_hash_eq): Use filename_cmp instead of strcmp. 2011-03-25 20:11:26 +01:00
pch.c remove useless if-before-free tests 2011-04-20 18:19:03 +00:00
symtab.c directives.c (do_linemarker, do_line): Use CPP_STRING for ignored enum value. 2009-07-18 03:22:16 +00:00
system.h system.h [...]: Wrap C function declarations in extern "C". 2011-07-25 14:26:58 +00:00
traditional.c Generate virtual locations for tokens 2011-10-17 11:59:12 +02:00
ucnid.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
ucnid.tab Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00