Commit 8bb6373a by Martin Liska Committed by Martin Liska

Change use to type-based pool allocator in

	* sel-sched-ir.c (alloc_sched_pools): Use new type-based pool allocator.
	(free_sched_pools): Likewise.
	* sel-sched-ir.h (_list_alloc): Likewise.
	(_list_remove): Likewise.

From-SVN: r223959
parent 5f844697
2015-06-01 Martin Liska <mliska@suse.cz> 2015-06-01 Martin Liska <mliska@suse.cz>
* sel-sched-ir.c (alloc_sched_pools): Use new type-based pool allocator.
(free_sched_pools): Likewise.
* sel-sched-ir.h (_list_alloc): Likewise.
(_list_remove): Likewise.
2015-06-01 Martin Liska <mliska@suse.cz>
* stmt.c (add_case_node): Use new type-based pool allocator. * stmt.c (add_case_node): Use new type-based pool allocator.
(expand_case): Likewise. (expand_case): Likewise.
(expand_sjlj_dispatch_table): Likewise. (expand_sjlj_dispatch_table): Likewise.
......
...@@ -70,7 +70,7 @@ vec<sel_region_bb_info_def> ...@@ -70,7 +70,7 @@ vec<sel_region_bb_info_def>
sel_region_bb_info = vNULL; sel_region_bb_info = vNULL;
/* A pool for allocating all lists. */ /* A pool for allocating all lists. */
alloc_pool sched_lists_pool; pool_allocator<_list_node> sched_lists_pool ("sel-sched-lists", 500);
/* This contains information about successors for compute_av_set. */ /* This contains information about successors for compute_av_set. */
struct succs_info current_succs; struct succs_info current_succs;
...@@ -5030,9 +5030,6 @@ alloc_sched_pools (void) ...@@ -5030,9 +5030,6 @@ alloc_sched_pools (void)
succs_info_pool.size = succs_size; succs_info_pool.size = succs_size;
succs_info_pool.top = -1; succs_info_pool.top = -1;
succs_info_pool.max_top = -1; succs_info_pool.max_top = -1;
sched_lists_pool = create_alloc_pool ("sel-sched-lists",
sizeof (struct _list_node), 500);
} }
/* Free the pools. */ /* Free the pools. */
...@@ -5041,7 +5038,7 @@ free_sched_pools (void) ...@@ -5041,7 +5038,7 @@ free_sched_pools (void)
{ {
int i; int i;
free_alloc_pool (sched_lists_pool); sched_lists_pool.release ();
gcc_assert (succs_info_pool.top == -1); gcc_assert (succs_info_pool.top == -1);
for (i = 0; i <= succs_info_pool.max_top; i++) for (i = 0; i <= succs_info_pool.max_top; i++)
{ {
......
...@@ -364,12 +364,12 @@ struct _list_node ...@@ -364,12 +364,12 @@ struct _list_node
/* _list_t functions. /* _list_t functions.
All of _*list_* functions are used through accessor macros, thus All of _*list_* functions are used through accessor macros, thus
we can't move them in sel-sched-ir.c. */ we can't move them in sel-sched-ir.c. */
extern alloc_pool sched_lists_pool; extern pool_allocator<_list_node> sched_lists_pool;
static inline _list_t static inline _list_t
_list_alloc (void) _list_alloc (void)
{ {
return (_list_t) pool_alloc (sched_lists_pool); return sched_lists_pool.allocate ();
} }
static inline void static inline void
...@@ -395,7 +395,7 @@ _list_remove (_list_t *lp) ...@@ -395,7 +395,7 @@ _list_remove (_list_t *lp)
_list_t n = *lp; _list_t n = *lp;
*lp = _LIST_NEXT (n); *lp = _LIST_NEXT (n);
pool_free (sched_lists_pool, n); sched_lists_pool.remove (n);
} }
static inline void static inline void
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment