Mercurial > hg > CbC > CbC_gcc
diff gcc/ggc-page.c @ 67:f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
author | nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 22 Mar 2011 17:18:12 +0900 |
parents | 77e2b8dfacca |
children | 04ced10e8804 |
line wrap: on
line diff
--- a/gcc/ggc-page.c Tue May 25 18:58:51 2010 +0900 +++ b/gcc/ggc-page.c Tue Mar 22 17:18:12 2011 +0900 @@ -1,6 +1,6 @@ /* "Bag-of-pages" garbage collector for the GNU compiler. - Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009 - Free Software Foundation, Inc. + Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, + 2010 Free Software Foundation, Inc. This file is part of GCC. @@ -25,9 +25,10 @@ #include "tree.h" #include "rtl.h" #include "tm_p.h" -#include "toplev.h" +#include "diagnostic-core.h" #include "flags.h" #include "ggc.h" +#include "ggc-internal.h" #include "timevar.h" #include "params.h" #include "tree-flow.h" @@ -38,26 +39,11 @@ file open. Prefer either to valloc. */ #ifdef HAVE_MMAP_ANON # undef HAVE_MMAP_DEV_ZERO - -# include <sys/mman.h> -# ifndef MAP_FAILED -# define MAP_FAILED -1 -# endif -# if !defined (MAP_ANONYMOUS) && defined (MAP_ANON) -# define MAP_ANONYMOUS MAP_ANON -# endif # define USING_MMAP - #endif #ifdef HAVE_MMAP_DEV_ZERO - -# include <sys/mman.h> -# ifndef MAP_FAILED -# define MAP_FAILED -1 -# endif # define USING_MMAP - #endif #ifndef USING_MMAP @@ -437,9 +423,9 @@ #ifdef GATHER_STATISTICS struct { - /* Total memory allocated with ggc_alloc. */ + /* Total GC-allocated memory. */ unsigned long long total_allocated; - /* Total overhead for memory to be allocated with ggc_alloc. */ + /* Total overhead for GC-allocated memory. */ unsigned long long total_overhead; /* Total allocations and overhead for sizes less than 32, 64 and 128. @@ -645,7 +631,7 @@ /* Prints the page-entry for object size ORDER, for debugging. */ -void +DEBUG_FUNCTION void debug_print_page_list (int order) { page_entry *p; @@ -689,7 +675,7 @@ G.bytes_mapped += size; /* Pretend we don't have access to the allocated pages. We'll enable - access to smaller pieces of the area in ggc_alloc. Discard the + access to smaller pieces of the area in ggc_internal_alloc. Discard the handle to avoid handle leak. */ VALGRIND_DISCARD (VALGRIND_MAKE_MEM_NOACCESS (page, size)); @@ -1074,13 +1060,13 @@ ggc_alloc_typed_stat (enum gt_types_enum type ATTRIBUTE_UNUSED, size_t size MEM_STAT_DECL) { - return ggc_alloc_stat (size PASS_MEM_STAT); + return ggc_internal_alloc_stat (size PASS_MEM_STAT); } /* Allocate a chunk of memory of SIZE bytes. Its contents are undefined. */ void * -ggc_alloc_stat (size_t size MEM_STAT_DECL) +ggc_internal_alloc_stat (size_t size MEM_STAT_DECL) { size_t order, word, bit, object_offset, object_size; struct page_entry *entry; @@ -1605,20 +1591,6 @@ G.save_in_use = XNEWVEC (unsigned long *, G.by_depth_max); } -/* Start a new GGC zone. */ - -struct alloc_zone * -new_ggc_zone (const char *name ATTRIBUTE_UNUSED) -{ - return NULL; -} - -/* Destroy a GGC zone. */ -void -destroy_ggc_zone (struct alloc_zone *zone ATTRIBUTE_UNUSED) -{ -} - /* Merge the SAVE_IN_USE_P and IN_USE_P arrays in P so that IN_USE_P reflects reality. Recalculate NUM_FREE_OBJECTS as well. */ @@ -2195,7 +2167,7 @@ } if (fwrite (x, size, 1, f) != 1) - fatal_error ("can't write PCH file: %m"); + fatal_error ("can%'t write PCH file: %m"); /* If SIZE is not the same as OBJECT_SIZE(order), then we need to pad the object out to OBJECT_SIZE(order). This happens for strings. */ @@ -2211,13 +2183,13 @@ if (padding <= sizeof(emptyBytes)) { if (fwrite (emptyBytes, 1, padding, f) != padding) - fatal_error ("can't write PCH file"); + fatal_error ("can%'t write PCH file"); } else { /* Larger than our buffer? Just default to fseek. */ if (fseek (f, padding, SEEK_CUR) != 0) - fatal_error ("can't write PCH file"); + fatal_error ("can%'t write PCH file"); } } @@ -2226,14 +2198,14 @@ && fseek (f, ROUND_UP_VALUE (d->d.totals[order] * OBJECT_SIZE (order), G.pagesize), SEEK_CUR) != 0) - fatal_error ("can't write PCH file: %m"); + fatal_error ("can%'t write PCH file: %m"); } void ggc_pch_finish (struct ggc_pch_data *d, FILE *f) { if (fwrite (&d->d, sizeof (d->d), 1, f) != 1) - fatal_error ("can't write PCH file: %m"); + fatal_error ("can%'t write PCH file: %m"); free (d); } @@ -2323,7 +2295,7 @@ /* Allocate the appropriate page-table entries for the pages read from the PCH file. */ if (fread (&d, sizeof (d), 1, f) != 1) - fatal_error ("can't read PCH file: %m"); + fatal_error ("can%'t read PCH file: %m"); for (i = 0; i < NUM_ORDERS; i++) { @@ -2383,3 +2355,12 @@ /* Update the statistics. */ G.allocated = G.allocated_last_gc = offs - (char *)addr; } + +struct alloc_zone +{ + int dummy; +}; + +struct alloc_zone rtl_zone; +struct alloc_zone tree_zone; +struct alloc_zone tree_id_zone;