summaryrefslogtreecommitdiff
path: root/gcc/ggc-none.c
diff options
context:
space:
mode:
authormmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>1999-09-04 18:25:41 +0000
committermmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>1999-09-04 18:25:41 +0000
commit05513b452c469f1b9600c9b2cca224a7dd32062d (patch)
tree068cd2859713068d2e717951d385915d6b99a4df /gcc/ggc-none.c
parent7086d72a013ca952df8d8d1aae2fb61e5a24d1a5 (diff)
downloadgcc-05513b452c469f1b9600c9b2cca224a7dd32062d.tar.gz
* Makefile.in (GGC, GGC_LIB): New.
(HOST_RTL): Include ggc-none.o. (ggc-simple.o): New target. (ggc-none.o): Likewise. * tree.h (tree_common): Add gc_mark. * rtl.h (struct rtx_def): Steal a bit from code to make gc_mark. (struct rtvec_def): Add gc_mark. * emit-rtl.c (global_rtl): Update static initializers to contain enough initializers. * ggc.h, ggc-none.c, ggc-simple.c: New files. * toplev.c (gc_time): New variable. (all_time): New variable. (compile_file): Print gc time. (print_time): Calculate percentage of the whole. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@29106 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ggc-none.c')
-rw-r--r--gcc/ggc-none.c58
1 files changed, 58 insertions, 0 deletions
diff --git a/gcc/ggc-none.c b/gcc/ggc-none.c
new file mode 100644
index 00000000000..5fff1045fab
--- /dev/null
+++ b/gcc/ggc-none.c
@@ -0,0 +1,58 @@
+/* Null garbage collection for the GNU compiler.
+ Copyright (C) 1998 Free Software Foundation, Inc.
+
+ This file is part of GNU CC.
+
+ GNU CC 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.
+
+ GNU CC 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 GNU CC; see the file COPYING. If not, write to
+ the Free Software Foundation, 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+/* This version is used by the gen* programs, where we don't really
+ need GC at all. This prevents problems with pulling in all the
+ tree stuff. */
+
+/* We are used by gengenrtl, before genrtl.h exists. But we don't
+ need it either. */
+#define NO_GENRTL_H
+
+#include "config.h"
+#include "system.h"
+#include "rtl.h"
+#include "ggc.h"
+
+rtx
+ggc_alloc_rtx (nslots)
+ int nslots;
+{
+ int size = sizeof(struct rtx_def) + (nslots - 1) * sizeof(rtunion);
+ rtx n;
+
+ n = (rtx) xmalloc (size);
+ bzero ((char *) n, size);
+
+ return n;
+}
+
+rtvec
+ggc_alloc_rtvec (nelt)
+ int nelt;
+{
+ int size = sizeof (struct rtvec_def) + (nelt - 1) * sizeof (rtunion);
+ rtvec v;
+
+ v = (rtvec) xmalloc (size);
+ bzero ((char *) v, size);
+
+ return v;
+}