From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17404 invoked by alias); 21 Apr 2009 01:06:31 -0000 Received: (qmail 17394 invoked by uid 22791); 21 Apr 2009 01:06:30 -0000 X-SWARE-Spam-Status: No, hits=-2.3 required=5.0 tests=AWL,BAYES_00,SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: sourceware.org Received: from mx2.redhat.com (HELO mx2.redhat.com) (66.187.237.31) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 21 Apr 2009 01:06:25 +0000 Received: from int-mx2.corp.redhat.com (int-mx2.corp.redhat.com [172.16.27.26]) by mx2.redhat.com (8.13.8/8.13.8) with ESMTP id n3L16Ki8020748; Mon, 20 Apr 2009 21:06:20 -0400 Received: from ns3.rdu.redhat.com (ns3.rdu.redhat.com [10.11.255.199]) by int-mx2.corp.redhat.com (8.13.1/8.13.1) with ESMTP id n3L16JIZ024816; Mon, 20 Apr 2009 21:06:19 -0400 Received: from opsy.redhat.com (vpn-13-111.rdu.redhat.com [10.11.13.111]) by ns3.rdu.redhat.com (8.13.8/8.13.8) with ESMTP id n3L16I8n004401; Mon, 20 Apr 2009 21:06:18 -0400 Received: by opsy.redhat.com (Postfix, from userid 500) id 96B1C37829A; Mon, 20 Apr 2009 19:06:17 -0600 (MDT) To: ppluzhnikov@google.com (Paul Pluzhnikov) Cc: gdb-patches@sourceware.org Subject: Re: [rfc][patch] Eliminate quadratic slow-down on number of solibs. References: <20090420232900.2456B19C4F6@localhost> From: Tom Tromey Reply-To: tromey@redhat.com Date: Tue, 21 Apr 2009 01:06:00 -0000 In-Reply-To: <20090420232900.2456B19C4F6@localhost> (Paul Pluzhnikov's message of "Mon\, 20 Apr 2009 16\:29\:00 -0700 \(PDT\)") Message-ID: User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii 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-04/txt/msg00551.txt.bz2 >>>>> "Paul" == Paul Pluzhnikov 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