From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 112562 invoked by alias); 8 Mar 2019 22:21:01 -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 112551 invoked by uid 89); 8 Mar 2019 22:21:00 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-9.4 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS autolearn=ham version=3.3.1 spammy=minsym, sk:objfile, jhbfreebsdorg, jhb@freebsd.org X-HELO: gateway22.websitewelcome.com Received: from gateway22.websitewelcome.com (HELO gateway22.websitewelcome.com) (192.185.47.168) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 08 Mar 2019 22:20:58 +0000 Received: from cm13.websitewelcome.com (cm13.websitewelcome.com [100.42.49.6]) by gateway22.websitewelcome.com (Postfix) with ESMTP id 8F9A81DC50 for ; Fri, 8 Mar 2019 16:20:57 -0600 (CST) Received: from box5379.bluehost.com ([162.241.216.53]) by cmsmtp with SMTP id 2NrNhZDZbYTGM2NrNhoLai; Fri, 08 Mar 2019 16:20:57 -0600 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tromey.com; s=default; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=FI+REZcjXlVqV0/z33AzbN3vuaj/+G3qY/wFaA84O6c=; b=bewcRmKgmSudvmr0fhlUZolRIF 1MLarR/6rSZ23nxamz8jIkX88Gn6ZPbxAydNY3JOa8F8QXP5xTig6/QbCImn/p+bALx16UtHib81a 9EU1dBi7HWDe+ZLU4cTJz1bVG; Received: from 75-166-85-218.hlrn.qwest.net ([75.166.85.218]:36726 helo=bapiya) by box5379.bluehost.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.91) (envelope-from ) id 1h2NrN-003pbC-AN; Fri, 08 Mar 2019 16:20:57 -0600 From: Tom Tromey To: John Baldwin Cc: Tom Tromey , gdb-patches@sourceware.org Subject: Re: [PATCH 2/9] Introduce and use language_set References: <20190307205709.21919-1-tom@tromey.com> <20190307205709.21919-3-tom@tromey.com> <6387c828-db23-3e49-fb76-699f5fc9e82b@FreeBSD.org> Date: Fri, 08 Mar 2019 22:21:00 -0000 In-Reply-To: <6387c828-db23-3e49-fb76-699f5fc9e82b@FreeBSD.org> (John Baldwin's message of "Thu, 7 Mar 2019 15:04:38 -0800") Message-ID: <87ftrxdn3r.fsf@tromey.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1.91 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-SW-Source: 2019-03/txt/msg00198.txt.bz2 >>>>> "John" == John Baldwin writes: John> On 3/7/19 12:57 PM, Tom Tromey wrote: >> I noticed that objfile_per_bfd_storage::demangled_hash_languages is a >> std::vector, which seemed quite large for something that, >> fundamentally, can be represented as a bit-set. This patch >> reimplements it as a bit-set. John> Hmm, did you consider using std::bitset for langauge_set? You'd John> still have to write your own iterator class, so it wouldn't save much in terms John> of lines of code. It just seems a bit odd to write a bitset class from scratch? I didn't really consider it. I looked now and on my machine, std::bitset is 8 bytes, whereas langauge_set is just 4. So, with the custom implementation, I could pack it into a hole in objfile_per_bfd_storage. That said, due to the minsym arrays, objfile_per_bfd_storage is enormous, so saving 4 bytes probably isn't important. So, I'll redo this. Tom