From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28952 invoked by alias); 12 May 2009 08:48:13 -0000 Received: (qmail 28937 invoked by uid 22791); 12 May 2009 08:48:11 -0000 X-SWARE-Spam-Status: No, hits=-2.4 required=5.0 tests=AWL,BAYES_00 X-Spam-Check-By: sourceware.org Received: from rock.gnat.com (HELO rock.gnat.com) (205.232.38.15) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 12 May 2009 08:48:05 +0000 Received: from localhost (localhost.localdomain [127.0.0.1]) by filtered-rock.gnat.com (Postfix) with ESMTP id 14DBE2BABBD; Tue, 12 May 2009 04:48:04 -0400 (EDT) Received: from rock.gnat.com ([127.0.0.1]) by localhost (rock.gnat.com [127.0.0.1]) (amavisd-new, port 10024) with LMTP id S2F9cZB-I5Zo; Tue, 12 May 2009 04:48:04 -0400 (EDT) Received: from joel.gnat.com (localhost.localdomain [127.0.0.1]) by rock.gnat.com (Postfix) with ESMTP id BCB312BAAF2; Tue, 12 May 2009 04:48:03 -0400 (EDT) Received: by joel.gnat.com (Postfix, from userid 1000) id F18B3F5905; Tue, 12 May 2009 10:48:01 +0200 (CEST) Date: Tue, 12 May 2009 08:48:00 -0000 From: Joel Brobecker To: Paul Pluzhnikov Cc: tromey@redhat.com, gdb-patches@sourceware.org Subject: Re: [rfc][patch] Eliminate quadratic slow-down on number of solibs. Message-ID: <20090512084801.GA25263@adacore.com> References: <20090420232900.2456B19C4F6@localhost> <8ac60eac0904291411o4666b3eha30d95cc88811dd5@mail.gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <8ac60eac0904291411o4666b3eha30d95cc88811dd5@mail.gmail.com> User-Agent: Mutt/1.5.18 (2008-05-17) Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2009-05/txt/msg00239.txt.bz2 > 2009-04-29 Paul Pluzhnikov > > * breakpoint.h: Add breakpoint_re_set_objfile prototype. > > * breakpoint.c (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. Looks OK to me. Perhaps we could get rid of create_overlay_event_breakpoint entirely by inlining it at the only location where it remains in use, 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). -- Joel