This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH, C++] Move a vector out of GC space


I noticed that we had a vector in the C++ front-end which we knew the
life time of the vector.  We also know that we cannot mark the vector
as being still in use as the structure which contains this vector
is not even marked as GC and it also only exists on the stack.

This patch moves this vector to the heap which should help compile
time but I did not measure any difference for PR 13677 (aka ir.cc).
I also just moved the definition of the vector from tree-flow.h
to tree.h so we can use it more places.

OK? Bootstrapped and tested on powerpc-darwin with no regressions.

Thanks,
Andrew Pinski

ChangeLog:

	* tree-flow.h (tree_on_heap): Remove.
	Remove the VEC(tree_on_heap) definition.
	* tree.h (tree_on_heap): Define.
	Add VEC(tree_on_heap) definition.

cp/ChangeLog:
	* class.c (find_final_overrider_data): Change path to be
	VEC(tree_on_heap).
	(dfs_find_final_overrider_1): Change to use to
	VEC(tree_on_heap) for path.
	(dfs_find_final_overrider_pre): Likewise.
	(dfs_find_final_overrider_post): Likewise.
	(find_final_overrider): Likewise.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]