diff options
author | Rafael Ávila de Espíndola <rafael.espindola@gmail.com> | 2015-04-17 11:51:36 -0400 |
---|---|---|
committer | Rafael Ávila de Espíndola <rafael.espindola@gmail.com> | 2015-04-17 11:51:36 -0400 |
commit | 4277535cdc6ce6998cdc273bbe454f9ca2c23037 (patch) | |
tree | c5205ed53cb26c0b0b76a9e756b84ef48165d7a8 /gold/symtab.cc | |
parent | a4ea36c6cb13d100aacab3a90762597cef471b35 (diff) | |
download | fsf-binutils-gdb-4277535cdc6ce6998cdc273bbe454f9ca2c23037.zip fsf-binutils-gdb-4277535cdc6ce6998cdc273bbe454f9ca2c23037.tar.gz fsf-binutils-gdb-4277535cdc6ce6998cdc273bbe454f9ca2c23037.tar.bz2 |
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.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gold/symtab.cc b/gold/symtab.cc index 8ec8f73..d4f40c8 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); } |