From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gateway34.websitewelcome.com (gateway34.websitewelcome.com [192.185.149.46]) by sourceware.org (Postfix) with ESMTPS id 4BE59385DC1F for ; Wed, 22 Apr 2020 21:03:54 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 4BE59385DC1F Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=tromey.com Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=tom@tromey.com Received: from cm12.websitewelcome.com (cm12.websitewelcome.com [100.42.49.8]) by gateway34.websitewelcome.com (Postfix) with ESMTP id 5C4DB31E3906 for ; Wed, 22 Apr 2020 16:03:50 -0500 (CDT) Received: from box5379.bluehost.com ([162.241.216.53]) by cmsmtp with SMTP id RMX8jRpdd1s2xRMX8j3zbB; Wed, 22 Apr 2020 16:03:50 -0500 X-Authority-Reason: nr=8 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=5y9OHYkv7liQ8mP7UeQfyvQs9vKpmA0DHAhZdW6AsYM=; b=e8Zx5BKCCKiLp4Hi40Z+Z/cmap 3+qFptz3wi+weR+K0jY/cn0SvKv/tLYcOT3A80eRNQEFoRoJbj3g/Niy0+RVXPDWfnSlsrlpkW5Sn C6ZTe2SoovdrJ8fXoRNZFuIPH; Received: from 184-96-229-138.hlrn.qwest.net ([184.96.229.138]:44650 helo=murgatroyd) by box5379.bluehost.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.92) (envelope-from ) id 1jRMX8-000aNJ-KF; Wed, 22 Apr 2020 15:03:50 -0600 From: Tom Tromey To: Andrew Burgess Cc: Bernd Edlinger , Tom Tromey , "gdb-patches@sourceware.org" Subject: Re: [PATCHv5] Fix range end handling of inlined subroutines References: <20200404220718.GA3917@embecosm.com> X-Attribution: Tom Date: Wed, 22 Apr 2020 15:03:49 -0600 In-Reply-To: <20200404220718.GA3917@embecosm.com> (Andrew Burgess's message of "Sat, 4 Apr 2020 23:07:18 +0100") Message-ID: <87pnbzqll6.fsf@tromey.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - box5379.bluehost.com X-AntiAbuse: Original Domain - sourceware.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - tromey.com X-BWhitelist: no X-Source-IP: 184.96.229.138 X-Source-L: No X-Exim-ID: 1jRMX8-000aNJ-KF X-Source: X-Source-Args: X-Source-Dir: X-Source-Sender: 184-96-229-138.hlrn.qwest.net (murgatroyd) [184.96.229.138]:44650 X-Source-Auth: tom+tromey.com X-Email-Count: 3 X-Source-Cap: ZWx5bnJvYmk7ZWx5bnJvYmk7Ym94NTM3OS5ibHVlaG9zdC5jb20= X-Local-Domain: yes X-Spam-Status: No, score=-5.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, JMQ_SPF_NEUTRAL, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS, SPF_NEUTRAL, TXREP autolearn=no autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 Apr 2020 21:03:56 -0000 >>>>> "Andrew" == Andrew Burgess writes: >> +void >> +buildsym_compunit::record_inline_range_end (CORE_ADDR end) >> +{ >> + /* The performance of this function is very important, >> + it shall be O(n*log(n)) therefore we do not use std::vector >> + here since some compilers, e.g. visual studio, do not >> + guarantee that for vector::push_back. */ Andrew> I think we're going to need more of a group discussion on this. Andrew> Simply saying std::vector is too slow doesn't I'm afraid convince me. Andrew> There seem to be lots of other places in GDB where both performance is Andrew> critical, and we use ::push_back. Andrew> Is your claim that we should move away from std::vector in all these Andrew> cases? Is this case somehow special? C++ documents push_back as having amortized constant complexity. If that's not the case for the MS compiler, that seems like a pretty serious bug there... I guess I'd like some documentation of some kind (a stackoverflow question, or maybe a test program that shows the vector growing linearly, or something like that). I didn't understand the relevance or target of the "n*log(n)" comment. Andrew> I don't think we should be doing this. This is defined quite clearly Andrew> in the DWARF spec as being an empty range. No code is associated with Andrew> this range. As such, it really shouldn't have an impact on how we Andrew> interpret the rest of the DWARF. Andrew> Again, I think you're trying too hard to work around GCC's broken Andrew> DWARF output. Do we know how long GCC has been generating this? And whether anybody is investigating a fix? I dislike adding workarounds for relatively modern versions of GCC... I'd prefer these things be fixed in GCC if possible. However, if that's not possible, I'm also flexible about it. Tom