This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [patch][gold] Use LIFO instead of FIFO to implement gc's transitive closure
- From: Cary Coutant <ccoutant at gmail dot com>
- To: Rafael EspÃndola <rafael dot espindola at gmail dot com>
- Cc: Binutils <binutils at sourceware dot org>, Sriraman Tallam <tmsriram at google dot com>
- Date: Wed, 8 Apr 2015 11:11:01 -0700
- Subject: Re: [patch][gold] Use LIFO instead of FIFO to implement gc's transitive closure
- Authentication-results: sourceware.org; auth=none
- References: <CAG3jReLe3cxiUEMF29fjntb8se=eZjm+55p_JPaM93RVhxCpKg at mail dot gmail dot com>
> 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.
>
> The attached patch then switches the structure used for GC. It
> produces identical binaries for chromium and the linking time goes
> from 6.216024688 to 6.177238463 seconds.
I passed this by Sri (the original author of the --gc-sections code)
to see if he had any objections, and he's fine with it.
This is OK, with a ChangeLog entry. Please try to remember to include
ChangeLog entries with your patches (but not as *part* of the patches
-- including it with the plain text of the message helps the reviewer,
whereas including it in the patch makes merges messy).
Thanks!
-cary