f75709c6f8
* statistics.h (ALONE_PASS_MEM_STAT, ALONE_MEM_STAT_INFO, ALONE_MEM_STAT_DECL): New macros. * bitmap.h: Include statistics.h (struct bitmap_head_def): Add variant with pointer to bitmap descriptor. (bitmap_initialize_stat): Rename from bitmap_initialize; add statistics. (bitmap_obstack_alloc_stat, bitmap_gc_alloc_stat): Declare. * bitmap.c: Include hashtab.h (bitmap_descriptor): New. (bitmap_hash): New static variable (hash_descriptor, eq_descriptor, bitmap_descriptor, register_overhead): New static functions. (bitmap_register): New. (bitmap_element_free, bitmap_element_allocate, bitmap_elt_clear_from, bitmap_obstack_release): Do accounting. (bitmap_obstack_alloc_stat): Rename from bitmap_obstack_alloc ; do accounting. (bitmap_gc_alloc_stat): Likewise. (bitmap_obstack_free, bitmap_find_bit): Do statictics. (print_statistics, dump_bitmap_statistics): New functions. * toplev.c (finalize): Dump bitmap statistics. From-SVN: r119573
41 lines
1.6 KiB
C
41 lines
1.6 KiB
C
/* Memory statistics helpers.
|
|
Copyright (C) 2004
|
|
Free Software Foundation, Inc.
|
|
Contributed by Cygnus Solutions.
|
|
|
|
This file is part of GCC.
|
|
|
|
GCC 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.
|
|
|
|
GCC 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 GCC; see the file COPYING. If not, write to the Free
|
|
the Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
|
|
MA 02110-1301, USA. */
|
|
|
|
#ifndef GCC_STATISTICS
|
|
#define GCC_STATISTICS
|
|
#ifdef GATHER_STATISTICS
|
|
#define MEM_STAT_DECL , const char * ARG_UNUSED (_loc_name), int ARG_UNUSED (_loc_line), const char * ARG_UNUSED (_loc_function)
|
|
#define ALONE_MEM_STAT_DECL const char * ARG_UNUSED (_loc_name), int ARG_UNUSED (_loc_line), const char * ARG_UNUSED (_loc_function)
|
|
#define PASS_MEM_STAT , _loc_name, _loc_line, _loc_function
|
|
#define ALONE_PASS_MEM_STAT _loc_name, _loc_line, _loc_function
|
|
#define MEM_STAT_INFO , __FILE__, __LINE__, __FUNCTION__
|
|
#define ALONE_MEM_STAT_INFO __FILE__, __LINE__, __FUNCTION__
|
|
#else
|
|
#define MEM_STAT_DECL
|
|
#define ALONE_MEM_STAT_DECL void
|
|
#define PASS_MEM_STAT
|
|
#define ALONE_PASS_MEM_STAT
|
|
#define MEM_STAT_INFO
|
|
#define ALONE_MEM_STAT_INFO
|
|
#endif
|
|
#endif
|