http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53880

Steven Bosscher <steven at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|WAITING                     |NEW
      Known to work|                            |4.7.1
      Known to fail|                            |4.8.0

--- Comment #25 from Steven Bosscher <steven at gcc dot gnu.org> 2012-07-30 
12:03:25 UTC ---
AFAICT, the only way that gt_pch_p_9line_maps can be called, is from
ggc-common.c:gt_pch_save (via note_ptr_fn). The "op" argument will be
relocate_ptrs, so all calls are for pointer-rewriting and there are so many of
them simply because the linemaps structure is so big if we're tracking macro
expansions on a library as big as Boost.

It looks like this is the only note_ptr_fn callback left (if there were any
others to begin with) so a first simple speed-up could be to rip out this
callback stuff and just call relocate_ptrs directly. That would eliminate
millions of costly indirect calls.

Even better would be to reduce the size of line_maps, but I don't see how.

Reply via email to