1 /* Null garbage collection for the GNU compiler. 2 Copyright (C) 1998, 1999, 2000, 2003, 2004, 2005, 2007, 2010 3 Free Software Foundation, Inc. 4 5 This file is part of GCC. 6 7 GCC is free software; you can redistribute it and/or modify it 8 under the terms of the GNU General Public License as published by 9 the Free Software Foundation; either version 3, or (at your option) 10 any later version. 11 12 GCC is distributed in the hope that it will be useful, but WITHOUT 13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 14 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public 15 License for more details. 16 17 You should have received a copy of the GNU General Public License 18 along with GCC; see the file COPYING3. If not see 19 <http://www.gnu.org/licenses/>. */ 20 21 /* This version is used by the gen* programs and certain language-specific 22 targets (such as java), where we don't really need GC at all. 23 This prevents problems with pulling in all the tree stuff. */ 24 25 #ifdef GENERATOR_FILE 26 #include "bconfig.h" 27 #else 28 #include "config.h" 29 #endif 30 31 #include "system.h" 32 #include "coretypes.h" 33 #include "ggc.h" 34 35 void * 36 ggc_alloc_typed_stat (enum gt_types_enum ARG_UNUSED (gte), size_t size 37 MEM_STAT_DECL) 38 { 39 return xmalloc (size); 40 } 41 42 /* For a given size of memory requested for allocation, return the 43 actual size that is going to be allocated. */ 44 45 size_t 46 ggc_round_alloc_size (size_t requested_size) 47 { 48 return requested_size; 49 } 50 51 void * 52 ggc_internal_alloc_stat (size_t size MEM_STAT_DECL) 53 { 54 return xmalloc (size); 55 } 56 57 void * 58 ggc_internal_cleared_alloc_stat (size_t size MEM_STAT_DECL) 59 { 60 return xcalloc (size, 1); 61 } 62 63 void * 64 ggc_realloc_stat (void *x, size_t size MEM_STAT_DECL) 65 { 66 return xrealloc (x, size); 67 } 68 69 void 70 ggc_free (void *p) 71 { 72 free (p); 73 } 74 75 struct alloc_zone 76 { 77 int dummy; 78 }; 79 80 struct alloc_zone rtl_zone; 81 struct alloc_zone tree_zone; 82 struct alloc_zone tree_id_zone; 83 84 #if defined (GGC_ZONE) && !defined (GENERATOR_FILE) 85 86 void * 87 ggc_internal_alloc_zone_stat (size_t size, 88 struct alloc_zone * ARG_UNUSED(z) MEM_STAT_DECL) 89 { 90 return xmalloc (size); 91 } 92 93 void * 94 ggc_internal_cleared_alloc_zone_stat (size_t size, 95 struct alloc_zone * ARG_UNUSED(z) 96 MEM_STAT_DECL) 97 { 98 return xcalloc (size, 1); 99 } 100 101 #endif 102