From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 52659 invoked by alias); 24 Feb 2020 19:18:50 -0000 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 Received: (qmail 52651 invoked by uid 89); 24 Feb 2020 19:18:49 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-7.7 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_1,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.1 spammy=brain, impacts X-HELO: simark.ca Received: from simark.ca (HELO simark.ca) (158.69.221.121) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 24 Feb 2020 19:18:48 +0000 Received: from [172.16.0.95] (192-222-181-218.qc.cable.ebox.net [192.222.181.218]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPSA id AE8F61E5FA; Mon, 24 Feb 2020 14:18:46 -0500 (EST) Subject: Re: [PATCH 00/14] Share DWARF partial symtabs between objfiles To: Tom Tromey Cc: gdb-patches@sourceware.org References: <20200215165444.32653-1-tom@tromey.com> <87y2ss5019.fsf@tromey.com> <8b11c5f6-771f-69b5-c98c-94ced592132f@simark.ca> <87r1ykn0o7.fsf@tromey.com> <87lfosmzy4.fsf@tromey.com> From: Simon Marchi Message-ID: Date: Mon, 24 Feb 2020 19:18:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1 MIME-Version: 1.0 In-Reply-To: <87lfosmzy4.fsf@tromey.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-SW-Source: 2020-02/txt/msg00927.txt.bz2 On 2020-02-23 10:22 p.m., Tom Tromey wrote: > Tom> Take a look at my branch, t/reorganize-dwarf-code-sharing-3. > Tom> I rearranged it to move all the "unshared" stuff to the end, so there > Tom> should be less to fix up (though I see now I neglected to move the baton > Tom> patch earlier). > > I made this change, so now the branch looks like (order is reversed from > how git send-email would send it): > > 0 eeeb07c1120 Share DWARF partial symtabs > 1 597fab7df48 Move signatured_type::type to unshareable object > 2 9ec85b37d88 Split type_unit_group > 3 f4d2c85a250 Introduce dwarf2_enter_objfile and use it > 4 afcc2a6d028 Remove symtab links from dwarf2_psymtab and dwarf2_per_cu_quick_data > 5 11fad00951b Introduce dwarf2_unshareable and move die_type_hash > 6 49fe37ffefb Add objfile member to DWARF batons > 7 842794fd4d9 Add dwarf2_per_cu_data::index > 8 cbf63c32179 Fix a memory leak and remove an unused member > 9 fe38cf467e1 Add "objfile" parameter to two partial_symtab methods > 10 e0e096e6956 Convert IS_TYPE_UNIT_GROUP to method > 11 ad71f2eb272 Introduce dwarf2_per_objfile::obstack > 12 4a127c55a71 Simplify setting of reading_partial_symbols > > > Basically I think switching the sharing would start at patch #5, and > then parts of patch #0 would be salvaged, but not most of the rest of > patches #1-#5. Ok, thanks for doing this. I don't undersatnd why you say that patches #1-#5 won't be salvaged, I think they will still be necessary. For example, #1 and #2 are still necessary to take out objfile-specific parts from dwarf2_per_cu_data, aren't they? I would just replace patch #4 (with probably a few consecutive patches), and probably alter patch #5 to maybe change the naming. Naming-wise, I'm planning to use: objfile -> dwarf2_per_objfile -> dwarf2_shared_between_objfiles I find the last one a bit long, although it's clear. I'm open to any suggestions. I am also thinking of renaming dwarf2_per_cu_data to just dwarf2_per_cu. I think it would be coherent with dwarf2_per_objfile. > Also I have another patch here that adds a subclass of partial_symtab > for DWARF includes. I *think* this solves the need to wrap the > compunit_symtab pointer in an optional<>, though it remains hard to be > completely certain. I'll send that sometime soon, I think it could go > in separately. I don't really know about that and the current work uses enough of my brain cycles, so I could take a look, but only once we are done with the current series (unless you think it impacts the current series). Simon