This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [rfc][patch] Eliminate quadratic slow-down on number of solibs.
- From: Tom Tromey <tromey at redhat dot com>
- To: ppluzhnikov at google dot com (Paul Pluzhnikov)
- Cc: gdb-patches at sourceware dot org
- Date: Mon, 20 Apr 2009 19:06:17 -0600
- Subject: Re: [rfc][patch] Eliminate quadratic slow-down on number of solibs.
- References: <20090420232900.2456B19C4F6@localhost>
- Reply-to: tromey at redhat dot com
>>>>> "Paul" == Paul Pluzhnikov <ppluzhnikov@google.com> writes:
Paul> We have a test case which uses ~2800 shared libraries.
Awesome.
Paul> To address the repeated scanning for objective-c, I propose adding
Paul> n_objc_syms to the struct objstats, initializing that field to ~0,
Paul> and counting them in find_methods the first time we encounter a given
Paul> objfile. If we see that objfile again, and n_objc_syms == 0, find_methods
Paul> could return immediately.
This seems reasonable.
I wonder whether it should use the generic per-objfile data storage
stuff, rather than sticking ObjC-specific stuff directly into the
objfile.
Paul> Comments?
This look reasonable enough to me, though I'd prefer someone more
familiar with breakpoints take a look.
Paul> /* Re-set all breakpoints after symbols have been re-loaded. */
Paul> void
Paul> -breakpoint_re_set (void)
Paul> +breakpoint_re_set_objfile (struct objfile *objfile)
The new argument needs a description in the function header.
Paul> +void
Paul> +breakpoint_re_set (void)
This needs a function header; I think you can just copy the old one.
Tom