summaryrefslogtreecommitdiff
path: root/gold/symtab.cc
diff options
context:
space:
mode:
authorRafael Ávila de Espíndola <rafael.espindola@gmail.com>2015-04-17 11:51:36 -0400
committerRafael Ávila de Espíndola <rafael.espindola@gmail.com>2015-04-17 11:51:36 -0400
commit4277535cdc6ce6998cdc273bbe454f9ca2c23037 (patch)
treec5205ed53cb26c0b0b76a9e756b84ef48165d7a8 /gold/symtab.cc
parenta4ea36c6cb13d100aacab3a90762597cef471b35 (diff)
Use LIFO instead of FIFO to implement gc's transitive closure.
FIFO is harder to implement and has less locality than LIFO. It is also not necessary to implement a transitive closure, a LIFO works just as well.
Diffstat (limited to 'gold/symtab.cc')
-rw-r--r--gold/symtab.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/gold/symtab.cc b/gold/symtab.cc
index 8ec8f73df7..d4f40c8d54 100644
--- a/gold/symtab.cc
+++ b/gold/symtab.cc
@@ -649,7 +649,7 @@ Symbol_table::gc_mark_symbol(Symbol* sym)
if (is_ordinary && shndx != elfcpp::SHN_UNDEF)
{
gold_assert(this->gc_!= NULL);
- this->gc_->worklist().push(Section_id(sym->object(), shndx));
+ this->gc_->worklist().push_back(Section_id(sym->object(), shndx));
}
parameters->target().gc_mark_symbol(this, sym);
}