From 6cd4d135d77f9a649bf83b94915130981d60de95 Mon Sep 17 00:00:00 2001 From: David Malcolm Date: Tue, 20 Aug 2013 15:51:18 +0000 Subject: Revert my last two changes, r201865 and r201864 2013-08-20 David Malcolm Revert my last two changes, r201865 and r201864: Revert r201865: 2013-08-20 David Malcolm Make opt_pass and gcc::pass_manager be GC-managed, so that pass instances can own GC refs. * Makefile.in (GTFILES): Add pass_manager.h and tree-pass.h. * context.c (gcc::context::gt_ggc_mx): Traverse passes_. (gcc::context::gt_pch_nx): Likewise. (gcc::context::gt_pch_nx): Likewise. * ggc.h (gt_ggc_mx ): New. (gt_pch_nx_with_op ): New. (gt_pch_nx ): New. * passes.c (opt_pass::gt_ggc_mx): New. (opt_pass::gt_pch_nx): New. (opt_pass::gt_pch_nx_with_op): New. (pass_manager::gt_ggc_mx): New. (pass_manager::gt_pch_nx): New. (pass_manager::gt_pch_nx_with_op): New. (pass_manager::operator new): Use ggc_internal_cleared_alloc_stat rather than xcalloc. * pass_manager.h (class pass_manager): Add GTY((user)) marking. (pass_manager::gt_ggc_mx): New. (pass_manager::gt_pch_nx): New. (pass_manager::gt_pch_nx_with_op): New. * tree-pass.h (class opt_pass): Add GTY((user)) marking. (opt_pass::operator new): New. (opt_pass::gt_ggc_mx): New. (opt_pass::gt_pch_nx): New. (opt_pass::gt_pch_nx_with_op): New. Revert r201864: 2013-08-20 David Malcolm * Makefile.in (GTFILES): Add context.h. * context.c (gcc::context::operator new): New. (gcc::context::gt_ggc_mx): New. (gcc::context::gt_pch_nx): New. (gcc::context::gt_pch_nx): New. * context.h (gcc::context): Add GTY((user)) marking. (gcc::context::operator new): New. (gcc::context::gt_ggc_mx): New. (gcc::context::gt_pch_nx): New. (gcc::context::gt_pch_nx): New. (g): Add GTY marking. (gt_ggc_mx (gcc::context *)): New. (gt_pch_nx (gcc::context *)): New. (gt_pch_nx (gcc::context *ctxt, gt_pointer_operator op, void *cookie)): New. * gengtype.c (open_base_files) : Add context.h. From-SVN: r201887 --- gcc/context.c | 26 -------------------------- 1 file changed, 26 deletions(-) (limited to 'gcc/context.c') diff --git a/gcc/context.c b/gcc/context.c index 698cc57..b515241 100644 --- a/gcc/context.c +++ b/gcc/context.c @@ -27,33 +27,7 @@ along with GCC; see the file COPYING3. If not see /* The singleton holder of global state: */ gcc::context *g; -void * -gcc::context::operator new (std::size_t size) -{ - return ggc_internal_cleared_alloc_stat (size MEM_STAT_INFO); -} - gcc::context::context() { passes_ = new gcc::pass_manager (this); } - -/* Functions relating to the garbage collector. */ -void -gcc::context::gt_ggc_mx () -{ - ::gt_ggc_mx (passes_); -} - -void -gcc::context::gt_pch_nx () -{ - ::gt_pch_nx (passes_); -} - -void -gcc::context::gt_pch_nx (gt_pointer_operator op ATTRIBUTE_UNUSED, - void *cookie ATTRIBUTE_UNUSED) -{ - op (&passes_, cookie); -} -- cgit v1.1