From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3477 invoked by alias); 22 Jul 2009 19:05:25 -0000 Received: (qmail 3464 invoked by uid 22791); 22 Jul 2009 19:05:24 -0000 X-SWARE-Spam-Status: No, hits=-1.8 required=5.0 tests=AWL,BAYES_00,SARE_MSGID_LONG40,SPF_PASS X-Spam-Check-By: sourceware.org Received: from smtp-out.google.com (HELO smtp-out.google.com) (216.239.45.13) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 22 Jul 2009 19:05:17 +0000 Received: from spaceape8.eur.corp.google.com (spaceape8.eur.corp.google.com [172.28.16.142]) by smtp-out.google.com with ESMTP id n6MJ5Etp005458 for ; Wed, 22 Jul 2009 12:05:15 -0700 Received: from qw-out-1920.google.com (qwf5.prod.google.com [10.241.194.69]) by spaceape8.eur.corp.google.com with ESMTP id n6MJ5Bii028222 for ; Wed, 22 Jul 2009 12:05:12 -0700 Received: by qw-out-1920.google.com with SMTP id 5so206390qwf.22 for ; Wed, 22 Jul 2009 12:05:11 -0700 (PDT) MIME-Version: 1.0 Received: by 10.229.86.145 with SMTP id s17mr288744qcl.10.1248289510991; Wed, 22 Jul 2009 12:05:10 -0700 (PDT) In-Reply-To: <200907221934.34211.pedro@codesourcery.com> References: <8ac60eac0907161724v40e5bd8bg7877d8901b8d7b6e@mail.gmail.com> <8ac60eac0907221016j410f890ald54ac66c7c3291f9@mail.gmail.com> <8ac60eac0907221110v6ac9bc32u4cb17765e2cb170e@mail.gmail.com> <200907221934.34211.pedro@codesourcery.com> Date: Wed, 22 Jul 2009 19:34:00 -0000 Message-ID: <8ac60eac0907221205r2dcc27c1l598cd1d9a064f45b@mail.gmail.com> Subject: Re: [patch] Speed up find_pc_section From: Paul Pluzhnikov To: Pedro Alves Cc: tromey@redhat.com, gdb-patches@sourceware.org Content-Type: multipart/mixed; boundary=001636427251e12c2e046f500c18 X-System-Of-Record: true X-IsSubscribed: yes 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-07/txt/msg00565.txt.bz2 --001636427251e12c2e046f500c18 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-length: 846 On Wed, Jul 22, 2009 at 11:34 AM, Pedro Alves wrote: > A new function objfiles.c:objfiles_changed that is called > from reread_symbols, would still be better, that abusing that > observer, IMHO. I agree. Try #4 tested and attached. Thanks, -- Paul Pluzhnikov 2009-07-22 Paul Pluzhnikov * objfiles.h (objfiles_changed): New prototype. * objfiles.c (objfiles_updated_p): Rename to objfiles_changed_p. (allocate_objfile, free_objfile): Must rebuild section map. (objfile_relocate): Likewise. (update_section_map, find_pc_section): Adjust. (set_objfiles_updated_on_exe_change): Remove. (set_objfiles_updated_on_solib_activity): Remove. (_initialize_objfiles): Remove. (objfiles_changed): New function. * symfile.c (reread_symbols): Call objfiles_changed. --001636427251e12c2e046f500c18 Content-Type: text/plain; charset=US-ASCII; name="gdb-find_pc_section-20090722-4.txt" Content-Disposition: attachment; filename="gdb-find_pc_section-20090722-4.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_fxgf52gs0 Content-length: 5995 SW5kZXg6IG9iamZpbGVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1Mg ZmlsZTogL2N2cy9zcmMvc3JjL2dkYi9vYmpmaWxlcy5oLHYKcmV0cmlldmlu ZyByZXZpc2lvbiAxLjU5CmRpZmYgLXUgLXAgLXUgLXIxLjU5IG9iamZpbGVz LmgKLS0tIG9iamZpbGVzLmgJMTUgSmFuIDIwMDkgMTY6MzU6MjIgLTAwMDAJ MS41OQorKysgb2JqZmlsZXMuaAkyMiBKdWwgMjAwOSAxODo0ODozNiAtMDAw MApAQCAtNDgyLDYgKzQ4Miw4IEBAIGV4dGVybiBpbnQgaGF2ZV9wYXJ0aWFs X3N5bWJvbHMgKHZvaWQpOwogCiBleHRlcm4gaW50IGhhdmVfZnVsbF9zeW1i b2xzICh2b2lkKTsKIAorZXh0ZXJuIHZvaWQgb2JqZmlsZXNfY2hhbmdlZCAo dm9pZCk7CisKIC8qIFRoaXMgb3BlcmF0aW9uIGRlbGV0ZXMgYWxsIG9iamZp bGUgZW50cmllcyB0aGF0IHJlcHJlc2VudCBzb2xpYnMgdGhhdAogICAgd2Vy ZW4ndCBleHBsaWNpdGx5IGxvYWRlZCBieSB0aGUgdXNlciwgdmlhIGUuZy4s IHRoZSBhZGQtc3ltYm9sLWZpbGUKICAgIGNvbW1hbmQuCkluZGV4OiBvYmpm aWxlcy5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMv c3JjL3NyYy9nZGIvb2JqZmlsZXMuYyx2CnJldHJpZXZpbmcgcmV2aXNpb24g MS44NgpkaWZmIC11IC1wIC11IC1yMS44NiBvYmpmaWxlcy5jCi0tLSBvYmpm aWxlcy5jCTIxIEp1bCAyMDA5IDIwOjU0OjMwIC0wMDAwCTEuODYKKysrIG9i amZpbGVzLmMJMjIgSnVsIDIwMDkgMTg6NDg6MzYgLTAwMDAKQEAgLTY4LDcg KzY4LDcgQEAgc3RydWN0IG9iamZpbGUgKnJ0X2NvbW1vbl9vYmpmaWxlOwkv KiBGbwogLyogUmVjb3JkcyB3aGV0aGVyIGFueSBvYmpmaWxlcyBhcHBlYXJl ZCBvciBkaXNhcHBlYXJlZCBzaW5jZSB3ZSBsYXN0IHVwZGF0ZWQKICAgIGFk ZHJlc3MgdG8gb2JqIHNlY3Rpb24gbWFwLiAgKi8KIAotc3RhdGljIGludCBv YmpmaWxlc191cGRhdGVkX3A7CitzdGF0aWMgaW50IG9iamZpbGVzX2NoYW5n ZWRfcDsKIAogLyogTG9jYXRlIGFsbCBtYXBwYWJsZSBzZWN0aW9ucyBvZiBh IEJGRCBmaWxlLiAKICAgIG9iamZpbGVfcF9jaGFyIGlzIGEgY2hhciAqIHRv IGdldCBpdCB0aHJvdWdoCkBAIC0yMzUsNiArMjM1LDggQEAgYWxsb2NhdGVf b2JqZmlsZSAoYmZkICphYmZkLCBpbnQgZmxhZ3MpCiAgIC8qIFNhdmUgcGFz c2VkIGluIGZsYWcgYml0cy4gKi8KICAgb2JqZmlsZS0+ZmxhZ3MgfD0gZmxh Z3M7CiAKKyAgb2JqZmlsZXNfY2hhbmdlZF9wID0gMTsgIC8qIFJlYnVpbGQg c2VjdGlvbiBtYXAgbmV4dCB0aW1lIHdlIG5lZWQgaXQuICAqLworCiAgIHJl dHVybiAob2JqZmlsZSk7CiB9CiAKQEAgLTUwMSw2ICs1MDMsNyBAQCBmcmVl X29iamZpbGUgKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlKQogICBvYnN0YWNr X2ZyZWUgKCZvYmpmaWxlLT5vYmpmaWxlX29ic3RhY2ssIDApOwogICB4ZnJl ZSAob2JqZmlsZSk7CiAgIG9iamZpbGUgPSBOVUxMOworICBvYmpmaWxlc19j aGFuZ2VkX3AgPSAxOyAgLyogUmVidWlsZCBzZWN0aW9uIG1hcCBuZXh0IHRp bWUgd2UgbmVlZCBpdC4gICovCiB9CiAKIHN0YXRpYyB2b2lkCkBAIC02ODIs NiArNjg1LDcgQEAgb2JqZmlsZV9yZWxvY2F0ZSAoc3RydWN0IG9iamZpbGUg Km9iamZpbAogCiAgIC8qIFJlbG9jYXRlIGJyZWFrcG9pbnRzIGFzIG5lY2Vz c2FyeSwgYWZ0ZXIgdGhpbmdzIGFyZSByZWxvY2F0ZWQuICovCiAgIGJyZWFr cG9pbnRfcmVfc2V0ICgpOworICBvYmpmaWxlc19jaGFuZ2VkX3AgPSAxOyAg LyogUmVidWlsZCBzZWN0aW9uIG1hcCBuZXh0IHRpbWUgd2UgbmVlZCBpdC4g ICovCiB9CiAMCiAvKiBNYW55IHBsYWNlcyBpbiBnZGIgd2FudCB0byB0ZXN0 IGp1c3QgdG8gc2VlIGlmIHdlIGhhdmUgYW55IHBhcnRpYWwKQEAgLTc5OCw3 ICs4MDIsNyBAQCB1cGRhdGVfc2VjdGlvbl9tYXAgKHN0cnVjdCBvYmpfc2Vj dGlvbiAqCiAgIHN0cnVjdCBvYmpfc2VjdGlvbiAqcywgKiptYXA7CiAgIHN0 cnVjdCBvYmpmaWxlICpvYmpmaWxlOwogCi0gIGdkYl9hc3NlcnQgKG9iamZp bGVzX3VwZGF0ZWRfcCAhPSAwKTsKKyAgZ2RiX2Fzc2VydCAob2JqZmlsZXNf Y2hhbmdlZF9wICE9IDApOwogCiAgIG1hcCA9ICpwbWFwOwogICB4ZnJlZSAo bWFwKTsKQEAgLTg1NywxMyArODYxLDEzIEBAIGZpbmRfcGNfc2VjdGlvbiAo Q09SRV9BRERSIHBjKQogICBpZiAocykKICAgICByZXR1cm4gczsKIAotICBp ZiAob2JqZmlsZXNfdXBkYXRlZF9wICE9IDApCisgIGlmIChvYmpmaWxlc19j aGFuZ2VkX3AgIT0gMCkKICAgICB7CiAgICAgICB1cGRhdGVfc2VjdGlvbl9t YXAgKCZzZWN0aW9ucywgJm51bV9zZWN0aW9ucyk7CiAKICAgICAgIC8qIERv bid0IG5lZWQgdXBkYXRlcyB0byBzZWN0aW9uIG1hcCB1bnRpbCBvYmpmaWxl cyBhcmUgYWRkZWQKICAgICAgICAgIG9yIHJlbW92ZWQuICAqLwotICAgICAg b2JqZmlsZXNfdXBkYXRlZF9wID0gMDsKKyAgICAgIG9iamZpbGVzX2NoYW5n ZWRfcCA9IDA7CiAgICAgfQogCiAgIHNwID0gKHN0cnVjdCBvYmpfc2VjdGlv biAqKikgYnNlYXJjaCAoJnBjLCBzZWN0aW9ucywgbnVtX3NlY3Rpb25zLApA QCAtOTg5LDI4ICs5OTMsMTEgQEAgb2JqZmlsZV9kYXRhIChzdHJ1Y3Qgb2Jq ZmlsZSAqb2JqZmlsZSwgYwogICByZXR1cm4gb2JqZmlsZS0+ZGF0YVtkYXRh LT5pbmRleF07CiB9CiAKLS8qIFNldCBvYmpmaWxlc191cGRhdGVkX3Agc28g c2VjdGlvbiBtYXAgd2lsbCBiZSByZWJ1aWx0IG5leHQgdGltZSBpdAotICAg aXMgdXNlZC4gIENhbGxlZCBieSBleGVjdXRhYmxlX2NoYW5nZWQgb2JzZXJ2 ZXIuICAqLwotCi1zdGF0aWMgdm9pZAotc2V0X29iamZpbGVzX3VwZGF0ZWRf b25fZXhlX2NoYW5nZSAodm9pZCkKLXsKLSAgb2JqZmlsZXNfdXBkYXRlZF9w ID0gMTsgIC8qIFJlYnVpbGQgc2VjdGlvbiBtYXAgbmV4dCB0aW1lIHdlIG5l ZWQgaXQuICAqLwotfQotCi0vKiBTZXQgb2JqZmlsZXNfdXBkYXRlZF9wIHNv IHNlY3Rpb24gbWFwIHdpbGwgYmUgcmVidWlsdCBuZXh0IHRpbWUgaXQKLSAg IGlzIHVzZWQuICBDYWxsZWQgYnkgc29saWJfbG9hZGVkL3VubG9hZGVkIG9i c2VydmVyLiAgKi8KLQotc3RhdGljIHZvaWQKLXNldF9vYmpmaWxlc191cGRh dGVkX29uX3NvbGliX2FjdGl2aXR5IChzdHJ1Y3Qgc29fbGlzdCAqc29fbGlz dCkKLXsKLSAgb2JqZmlsZXNfdXBkYXRlZF9wID0gMTsgIC8qIFJlYnVpbGQg c2VjdGlvbiBtYXAgbmV4dCB0aW1lIHdlIG5lZWQgaXQuICAqLwotfQorLyog U2V0IG9iamZpbGVzX2NoYW5nZWRfcCBzbyBzZWN0aW9uIG1hcCB3aWxsIGJl IHJlYnVpbHQgbmV4dCB0aW1lIGl0CisgICBpcyB1c2VkLiAgQ2FsbGVkIGJ5 IHJlcmVhZF9zeW1ib2xzLiAgKi8KIAogdm9pZAotX2luaXRpYWxpemVfb2Jq ZmlsZXMgKHZvaWQpCitvYmpmaWxlc19jaGFuZ2VkICh2b2lkKQogewotICBv YnNlcnZlcl9hdHRhY2hfZXhlY3V0YWJsZV9jaGFuZ2VkIChzZXRfb2JqZmls ZXNfdXBkYXRlZF9vbl9leGVfY2hhbmdlKTsKLSAgb2JzZXJ2ZXJfYXR0YWNo X3NvbGliX2xvYWRlZCAoc2V0X29iamZpbGVzX3VwZGF0ZWRfb25fc29saWJf YWN0aXZpdHkpOwotICBvYnNlcnZlcl9hdHRhY2hfc29saWJfdW5sb2FkZWQg KHNldF9vYmpmaWxlc191cGRhdGVkX29uX3NvbGliX2FjdGl2aXR5KTsKKyAg b2JqZmlsZXNfY2hhbmdlZF9wID0gMTsgIC8qIFJlYnVpbGQgc2VjdGlvbiBt YXAgbmV4dCB0aW1lIHdlIG5lZWQgaXQuICAqLwogfQpJbmRleDogc3ltZmls ZS5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvc3Jj L3NyYy9nZGIvc3ltZmlsZS5jLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjIz NwpkaWZmIC11IC1wIC11IC1yMS4yMzcgc3ltZmlsZS5jCi0tLSBzeW1maWxl LmMJMiBKdWwgMjAwOSAxNzoyNTo1OCAtMDAwMAkxLjIzNworKysgc3ltZmls ZS5jCTIyIEp1bCAyMDA5IDE4OjQ4OjM3IC0wMDAwCkBAIC0yNDU3LDggKzI0 NTcsMTAgQEAgcmVyZWFkX3N5bWJvbHMgKHZvaWQpCiAgICAgICAvKiBBdCBs ZWFzdCBvbmUgb2JqZmlsZSBoYXMgY2hhbmdlZCwgc28gd2UgY2FuIGNvbnNp ZGVyIHRoYXQKICAgICAgICAgIHRoZSBleGVjdXRhYmxlIHdlJ3JlIGRlYnVn Z2luZyBoYXMgY2hhbmdlZCB0b28uICAqLwogICAgICAgb2JzZXJ2ZXJfbm90 aWZ5X2V4ZWN1dGFibGVfY2hhbmdlZCAoKTsKKworICAgICAgLyogTm90aWZ5 IG9iamZpbGVzIHRoYXQgd2UndmUgbW9kaWZpZWQgb2JqZmlsZSBzZWN0aW9u cy4gICovCisgICAgICBvYmpmaWxlc19jaGFuZ2VkICgpOwogICAgIH0KLSAg ICAgIAogfQogCiAK --001636427251e12c2e046f500c18--