From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26922 invoked by alias); 29 Apr 2009 21:12:06 -0000 Received: (qmail 26912 invoked by uid 22791); 29 Apr 2009 21:12:05 -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.33.17) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 29 Apr 2009 21:11:57 +0000 Received: from zps75.corp.google.com (zps75.corp.google.com [172.25.146.75]) by smtp-out.google.com with ESMTP id n3TLBrsM017031 for ; Wed, 29 Apr 2009 22:11:54 +0100 Received: from qw-out-1920.google.com (qwk4.prod.google.com [10.241.195.132]) by zps75.corp.google.com with ESMTP id n3TLB9p9005953 for ; Wed, 29 Apr 2009 14:11:51 -0700 Received: by qw-out-1920.google.com with SMTP id 4so1005968qwk.4 for ; Wed, 29 Apr 2009 14:11:51 -0700 (PDT) MIME-Version: 1.0 Received: by 10.229.73.141 with SMTP id q13mr916252qcj.15.1241039511382; Wed, 29 Apr 2009 14:11:51 -0700 (PDT) In-Reply-To: References: <20090420232900.2456B19C4F6@localhost> Date: Wed, 29 Apr 2009 21:12:00 -0000 Message-ID: <8ac60eac0904291411o4666b3eha30d95cc88811dd5@mail.gmail.com> Subject: Re: [rfc][patch] Eliminate quadratic slow-down on number of solibs. From: Paul Pluzhnikov To: tromey@redhat.com Cc: gdb-patches@sourceware.org Content-Type: multipart/mixed; boundary=00163646d7983a6c300468b8078f 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-04/txt/msg00799.txt.bz2 --00163646d7983a6c300468b8078f Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-length: 1129 On Mon, Apr 20, 2009 at 6:06 PM, Tom Tromey wrote: > 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, > > I wonder whether it should use the generic per-objfile data storage > stuff, rather than sticking ObjC-specific stuff directly into the > objfile. Thanks, this is probably a good idea. I'll work on that next. > Paul> =A0/* Re-set all breakpoints after symbols have been re-loaded. =A0= */ > Paul> =A0void > Paul> -breakpoint_re_set (void) > Paul> +breakpoint_re_set_objfile (struct objfile *objfile) > > The new argument needs a description in the function header. Done. OK to commit? Thanks, --=20 Paul Pluzhnikov 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. --00163646d7983a6c300468b8078f Content-Type: text/plain; charset=US-ASCII; name="gdb-breakpoint-20090429.txt" Content-Disposition: attachment; filename="gdb-breakpoint-20090429.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_fu4iufpq0 Content-length: 4075 SW5kZXg6IGJyZWFrcG9pbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJD UyBmaWxlOiAvY3ZzL3NyYy9zcmMvZ2RiL2JyZWFrcG9pbnQuaCx2CnJldHJp ZXZpbmcgcmV2aXNpb24gMS45MApkaWZmIC11IC1wIC11IC1yMS45MCBicmVh a3BvaW50LmgKLS0tIGJyZWFrcG9pbnQuaAkzMSBNYXIgMjAwOSAxNjo0NDox NyAtMDAwMAkxLjkwCisrKyBicmVha3BvaW50LmgJMjkgQXByIDIwMDkgMjE6 MDc6MDMgLTAwMDAKQEAgLTY4Nyw3ICs2ODcsNyBAQCBleHRlcm4gaW50IGJy ZWFrcG9pbnRfdGhyZWFkX21hdGNoIChDT1JFCiBleHRlcm4gdm9pZCB1bnRp bF9icmVha19jb21tYW5kIChjaGFyICosIGludCwgaW50KTsKIAogZXh0ZXJu IHZvaWQgYnJlYWtwb2ludF9yZV9zZXQgKHZvaWQpOwotCitleHRlcm4gdm9p ZCBicmVha3BvaW50X3JlX3NldF9vYmpmaWxlIChzdHJ1Y3Qgb2JqZmlsZSAq KTsKIGV4dGVybiB2b2lkIGJyZWFrcG9pbnRfcmVfc2V0X3RocmVhZCAoc3Ry dWN0IGJyZWFrcG9pbnQgKik7CiAKIGV4dGVybiBzdHJ1Y3QgYnJlYWtwb2lu dCAqc2V0X21vbWVudGFyeV9icmVha3BvaW50CkluZGV4OiBicmVha3BvaW50 LmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9zcmMv c3JjL2dkYi9icmVha3BvaW50LmMsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEu MzkyCmRpZmYgLXUgLXAgLXUgLXIxLjM5MiBicmVha3BvaW50LmMKLS0tIGJy ZWFrcG9pbnQuYwkyOSBBcHIgMjAwOSAxOTozMTo1OCAtMDAwMAkxLjM5Mgor KysgYnJlYWtwb2ludC5jCTI5IEFwciAyMDA5IDIxOjA3OjA0IC0wMDAwCkBA IC03NzA5LDkgKzc3MDksMTMgQEAgYnJlYWtwb2ludF9yZV9zZXRfb25lICh2 b2lkICpiaW50KQogICByZXR1cm4gMDsKIH0KIAotLyogUmUtc2V0IGFsbCBi cmVha3BvaW50cyBhZnRlciBzeW1ib2xzIGhhdmUgYmVlbiByZS1sb2FkZWQu ICAqLworLyogUmUtc2V0IGFsbCBicmVha3BvaW50cyBhZnRlciBzeW1ib2xz IGhhdmUgYmVlbiByZS1sb2FkZWQuCisKKyAgIElmIE9CSkZJTEUgaXMgbm9u LW51bGwsIGNyZWF0ZSBvdmVybGF5IGJyZWFrIHBvaW50IG9ubHkgaW4gT0JK RklMRQorICAgKHNwZWVkIG9wdGltaXphdGlvbikuICBPdGhlcndpc2UgcmVz Y2FuIGFsbCBsb2FkZWQgb2JqZmlsZXMuICAqLworCiB2b2lkCi1icmVha3Bv aW50X3JlX3NldCAodm9pZCkKK2JyZWFrcG9pbnRfcmVfc2V0X29iamZpbGUg KHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlKQogewogICBzdHJ1Y3QgYnJlYWtw b2ludCAqYiwgKnRlbXA7CiAgIGVudW0gbGFuZ3VhZ2Ugc2F2ZV9sYW5ndWFn ZTsKQEAgLTc3MzAsOCArNzczNCwxOSBAQCBicmVha3BvaW50X3JlX3NldCAo dm9pZCkKICAgfQogICBzZXRfbGFuZ3VhZ2UgKHNhdmVfbGFuZ3VhZ2UpOwog ICBpbnB1dF9yYWRpeCA9IHNhdmVfaW5wdXRfcmFkaXg7Ci0gIAotICBjcmVh dGVfb3ZlcmxheV9ldmVudF9icmVha3BvaW50ICgiX292bHlfZGVidWdfZXZl bnQiKTsKKworICBpZiAob2JqZmlsZSAhPSBOVUxMKQorICAgIGNyZWF0ZV9v dmVybGF5X2V2ZW50X2JyZWFrcG9pbnRfMSAoIl9vdmx5X2RlYnVnX2V2ZW50 Iiwgb2JqZmlsZSk7CisgIGVsc2UKKyAgICBjcmVhdGVfb3ZlcmxheV9ldmVu dF9icmVha3BvaW50ICgiX292bHlfZGVidWdfZXZlbnQiKTsKK30KKworLyog UmUtc2V0IGFsbCBicmVha3BvaW50cyBhZnRlciBzeW1ib2xzIGhhdmUgYmVl biByZS1sb2FkZWQuICAqLworCit2b2lkCiticmVha3BvaW50X3JlX3NldCAo dm9pZCkKK3sKKyAgYnJlYWtwb2ludF9yZV9zZXRfb2JqZmlsZSAoTlVMTCk7 CiB9CiAMCiAvKiBSZXNldCB0aGUgdGhyZWFkIG51bWJlciBvZiB0aGlzIGJy ZWFrcG9pbnQ6CkluZGV4OiBzeW1maWxlLmMKPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQpSQ1MgZmlsZTogL2N2cy9zcmMvc3JjL2dkYi9zeW1maWxlLmMsdgpy ZXRyaWV2aW5nIHJldmlzaW9uIDEuMjI0CmRpZmYgLXUgLXAgLXUgLXIxLjIy NCBzeW1maWxlLmMKLS0tIHN5bWZpbGUuYwk3IEFwciAyMDA5IDIwOjQzOjUx IC0wMDAwCTEuMjI0CisrKyBzeW1maWxlLmMJMjkgQXByIDIwMDkgMjE6MDc6 MDQgLTAwMDAKQEAgLTkyMiw3ICs5MjIsNyBAQCBuZXdfc3ltZmlsZV9vYmpm aWxlIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqCiAgICAgfQogICBlbHNlCiAgICAg ewotICAgICAgYnJlYWtwb2ludF9yZV9zZXQgKCk7CisgICAgICBicmVha3Bv aW50X3JlX3NldF9vYmpmaWxlIChvYmpmaWxlKTsKICAgICB9CiAKICAgLyog V2UncmUgZG9uZSByZWFkaW5nIHRoZSBzeW1ib2wgZmlsZTsgZmluaXNoIG9m ZiBjb21wbGFpbnRzLiAgKi8KSW5kZXg6IG9iamZpbGVzLmMKPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9zcmMvc3JjL2dkYi9vYmpm aWxlcy5jLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjgyCmRpZmYgLXUgLXAg LXUgLXIxLjgyIG9iamZpbGVzLmMKLS0tIG9iamZpbGVzLmMJMTEgTWFyIDIw MDkgMjA6MjY6MDIgLTAwMDAJMS44MgorKysgb2JqZmlsZXMuYwkyOSBBcHIg MjAwOSAyMTowNzowNCAtMDAwMApAQCAtNjc0LDcgKzY3NCw3IEBAIG9iamZp bGVfcmVsb2NhdGUgKHN0cnVjdCBvYmpmaWxlICpvYmpmaWwKICAgICB9CiAK ICAgLyogUmVsb2NhdGUgYnJlYWtwb2ludHMgYXMgbmVjZXNzYXJ5LCBhZnRl ciB0aGluZ3MgYXJlIHJlbG9jYXRlZC4gKi8KLSAgYnJlYWtwb2ludF9yZV9z ZXQgKCk7CisgIGJyZWFrcG9pbnRfcmVfc2V0X29iamZpbGUgKG9iamZpbGUp OwogfQogDAogLyogTWFueSBwbGFjZXMgaW4gZ2RiIHdhbnQgdG8gdGVzdCBq dXN0IHRvIHNlZSBpZiB3ZSBoYXZlIGFueSBwYXJ0aWFsCg== --00163646d7983a6c300468b8078f--