From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 4934 invoked by alias); 4 Feb 2011 20:17:36 -0000 Received: (qmail 4923 invoked by uid 22791); 4 Feb 2011 20:17:34 -0000 X-SWARE-Spam-Status: No, hits=-6.8 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_HI,SPF_HELO_PASS,TW_BJ,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 04 Feb 2011 20:17:29 +0000 Received: from int-mx02.intmail.prod.int.phx2.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id p14KHIXV030394 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Fri, 4 Feb 2011 15:17:18 -0500 Received: from ns3.rdu.redhat.com (ns3.rdu.redhat.com [10.11.255.199]) by int-mx02.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id p14KHHZB023606; Fri, 4 Feb 2011 15:17:18 -0500 Received: from opsy.redhat.com (ovpn01.gateway.prod.ext.phx2.redhat.com [10.5.9.1]) by ns3.rdu.redhat.com (8.13.8/8.13.8) with ESMTP id p14KHG5d029608; Fri, 4 Feb 2011 15:17:16 -0500 Received: by opsy.redhat.com (Postfix, from userid 500) id 013763784E1; Fri, 4 Feb 2011 13:17:15 -0700 (MST) From: Tom Tromey To: Paul Pluzhnikov Cc: gdb-patches@sourceware.org, pedro@codesourcery.com, vegorov@chromium.org Subject: Re: [patch 2/2] Speed up JIT support References: <20110203214614.5FD74190A4E@elbrus2.mtv.corp.google.com> Date: Fri, 04 Feb 2011 20:17:00 -0000 In-Reply-To: (Paul Pluzhnikov's message of "Thu, 3 Feb 2011 13:58:06 -0800") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.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: 2011-02/txt/msg00094.txt.bz2 >>>>> "Paul" == Paul Pluzhnikov writes: Paul> 2010-02-03 Paul Pluzhnikov Paul> * breakpoint.c (longjmp_names): New variable. Paul> (struct breakpoint_objfile_data): New type. Paul> (breakpoint_objfile_key): New variable. Paul> (get_breakpoint_objfile_data): New function. Paul> (create_overlay_event_breakpoint): Adjust. Paul> (create_longjmp_master_breakpoint): Adjust. Paul> (create_std_terminate_master_breakpoint): Adjust. Paul> (create_exception_master_breakpoint): Adjust. Paul> (_initialize_breakpoint): Adjust. >From what I can tell, the cache is never invalidated. But, if objfile_relocate was called, then I think the cache ought to be invalidated, or the addresses relocated. Maybe the cache could point to the symbols themselves. I think that would fix the problem and be both safe and efficient. Paul> create_exception_master_breakpoint (void) Paul> { Paul> struct objfile *objfile; Paul> + const char *const func_name = "_Unwind_DebugHook"; Paul> ALL_OBJFILES (objfile) Paul> { I don't really know why the other functions loop over ALL_PSPACES but this one does not. It is my fault, seeing as I wrote this... but I still don't understand. Tom