This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [rfc][patch] Eliminate quadratic slow-down on number of solibs.


On Tue, May 12, 2009 at 1:48 AM, Joel Brobecker <brobecker@adacore.com> wrote:

> Perhaps we could get rid of create_overlay_event_breakpoint entirely
> by inlining it at the only location where it remains in use,

There were two locations ...

> and then
> we can rename create_overlay_event_breakpoint_1 back to
> create_overlay_event_breakpoint. Just thinking out loud, not that
> it matters very much; it's just that, if it is potentially expensive
> to call create_overlay_event_breakpoint because it iterates over
> all objfiles, it might be beneficial to make this apparent by forcing
> the caller to do the iteration (one line of code).

Sounds like a good idea.

Revised patch attached (there is a bit of code movement to eliminate
the need for forward prototypes).

Tested on Linux/x86_64 with no regressions.

Thanks,
-- 
Paul Pluzhnikov

2009-05-12  Paul Pluzhnikov  <ppluzhnikov@google.com>

	* breakpoint.h: Add breakpoint_re_set_objfile prototype.

	* breakpoint.c (create_overlay_event_breakpoint): Renamed
	from create_overlay_event_breakpoint_1, old
	create_overlay_event_breakpoint deleted.
	(breakpoint_re_set_objfile): Don't rescan all objfiles
	unnecessarily.
	(breakpoint_re_set): New function.

	* symfile.c (new_symfile_objfile): Call breakpoint_re_set_objfile
	instead of breakpoint_re_set.

	* objfiles.c (objfile_relocate): Likewise.

Attachment: gdb-breakpoint-20090512.txt
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]