aboutsummaryrefslogtreecommitdiff
path: root/gold
diff options
context:
space:
mode:
authorRafael Ávila de Espíndola <rafael.espindola@gmail.com>2015-04-06 15:45:37 -0400
committerRafael Ávila de Espíndola <rafael.espindola@gmail.com>2015-04-06 15:46:30 -0400
commit5368dcf2bae8f15e16cd14348bb7bd716bbc81cb (patch)
tree4953ccfb218e597677df1029bae7f5613beedea5 /gold
parent9dbb4b021df7015ab7a7dee40e30f72470afde6b (diff)
downloadgdb-5368dcf2bae8f15e16cd14348bb7bd716bbc81cb.zip
gdb-5368dcf2bae8f15e16cd14348bb7bd716bbc81cb.tar.gz
gdb-5368dcf2bae8f15e16cd14348bb7bd716bbc81cb.tar.bz2
Avoid a call to find by using the return value of insert.
Diffstat (limited to 'gold')
-rw-r--r--gold/ChangeLog5
-rw-r--r--gold/gc.cc11
2 files changed, 7 insertions, 9 deletions
diff --git a/gold/ChangeLog b/gold/ChangeLog
index 9eadf3b..25d4588 100644
--- a/gold/ChangeLog
+++ b/gold/ChangeLog
@@ -1,5 +1,10 @@
2015-04-06 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
+ * gc.cc (Garbage_collection::do_transitive_closure): Avoid a call
+ to find by using the return value of insert.
+
+2015-04-06 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
+
* gc.cc (Garbage_collection::do_transitive_closure): Avoid a copy
constructor call.
diff --git a/gold/gc.cc b/gold/gc.cc
index 95867c4..16bdb19 100644
--- a/gold/gc.cc
+++ b/gold/gc.cc
@@ -40,15 +40,8 @@ Garbage_collection::do_transitive_closure()
// one by one.
Section_id entry = this->worklist().front();
this->worklist().pop();
- if (this->referenced_list().find(entry)
- == this->referenced_list().end())
- {
- this->referenced_list().insert(entry);
- }
- else
- {
- continue;
- }
+ if (!this->referenced_list().insert(entry).second)
+ continue;
Garbage_collection::Section_ref::iterator find_it =
this->section_reloc_map().find(entry);
if (find_it == this->section_reloc_map().end())