re PR tree-optimization/65538 (Memory leak of ipa_node_params_sum elements)
Fix PR65538. PR tree-optimization/65538 * symbol-summary.h (function_summary::~function_summary): Relese memory for allocated summaries. (function_summary::release): New function. From-SVN: r221658
This commit is contained in:
parent
2b91aea838
commit
fdbdc4b562
|
@ -1,3 +1,10 @@
|
||||||
|
2015-03-25 Martin Liska <mliska@suse.cz>
|
||||||
|
|
||||||
|
PR tree-optimization/65538
|
||||||
|
* symbol-summary.h (function_summary::~function_summary):
|
||||||
|
Relese memory for allocated summaries.
|
||||||
|
(function_summary::release): New function.
|
||||||
|
|
||||||
2015-03-25 Jakub Jelinek <jakub@redhat.com>
|
2015-03-25 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
PR lto/65515
|
PR lto/65515
|
||||||
|
|
|
@ -81,6 +81,11 @@ public:
|
||||||
m_symtab_insertion_hook = NULL;
|
m_symtab_insertion_hook = NULL;
|
||||||
m_symtab_removal_hook = NULL;
|
m_symtab_removal_hook = NULL;
|
||||||
m_symtab_duplication_hook = NULL;
|
m_symtab_duplication_hook = NULL;
|
||||||
|
|
||||||
|
/* Release all summaries. */
|
||||||
|
typedef typename hash_map <int, T *, summary_hashmap_traits>::iterator map_iterator;
|
||||||
|
for (map_iterator it = m_map.begin (); it != m_map.end (); ++it)
|
||||||
|
release ((*it).second);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Traverses all summarys with a function F called with
|
/* Traverses all summarys with a function F called with
|
||||||
|
@ -106,6 +111,18 @@ public:
|
||||||
return m_ggc ? new (ggc_alloc <T> ()) T() : new T () ;
|
return m_ggc ? new (ggc_alloc <T> ()) T() : new T () ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Release an item that is stored within map. */
|
||||||
|
void release (T *item)
|
||||||
|
{
|
||||||
|
if (m_ggc)
|
||||||
|
{
|
||||||
|
item->~T ();
|
||||||
|
ggc_free (item);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
delete item;
|
||||||
|
}
|
||||||
|
|
||||||
/* Getter for summary callgraph node pointer. */
|
/* Getter for summary callgraph node pointer. */
|
||||||
T* get (cgraph_node *node)
|
T* get (cgraph_node *node)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue