From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by sourceware.org (Postfix) with ESMTPS id CB3F43858C27 for ; Mon, 11 Apr 2022 21:28:08 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org CB3F43858C27 Received: from mail-yw1-f200.google.com (mail-yw1-f200.google.com [209.85.128.200]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-483-Y4P092dCNfGyspZupU7f9A-1; Mon, 11 Apr 2022 17:28:07 -0400 X-MC-Unique: Y4P092dCNfGyspZupU7f9A-1 Received: by mail-yw1-f200.google.com with SMTP id 00721157ae682-2ebfdbe01f6so52172577b3.10 for ; Mon, 11 Apr 2022 14:28:07 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=h+oUnP81p/dNazS2kpwYUIBWIdL89EsauGVR6ymsq4g=; b=sEchvxGFFoah60rTbxNAzNM6YZg9gFb/Yi20pBxIRoIQhrlXspDKMvoIVkB4R9M0aw PHjDw7FFiCpDMKr1k+Od2Bqk1+594+PsHdjirILC0SU9SqR4fntWGGbToyLk0JCZM4XV KawwDHerZaOhuQTKqdb8RdVKFBof9TnT9wBUEpXYxuJoi6Mng01KnELUzjDZRtagaWGG WpVWh33TDmcZ+cFMPDFkH3KzURRPyVgIzi+HTMZNPk3cGAlR/CR71KHUxsPZ9WBwfJOx tNF3zBRvhy7yY8fFI4Ko+HgxkI2YrSmk/NGaNVKvI59mUAirvy70tP94MYeS8dxCfuQk YjWw== X-Gm-Message-State: AOAM530Ngca/A4db6+Jbe6IoO7GOgkH61vO9g7MNgZtiIpbxULwzsosE UPB8XC3WT0sdTYdOM9NhB7Jt8VI+b+JueLaJrxpxUA9vWUW15yGeCrvOJfkwX7zeSsDu9FvSVuc s8yTZOJa3RR2qT+cuadT392/lAEv5yqc= X-Received: by 2002:a05:690c:9:b0:2dd:1de0:7b13 with SMTP id bc9-20020a05690c000900b002dd1de07b13mr29798824ywb.450.1649712486590; Mon, 11 Apr 2022 14:28:06 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz3VVHrzAOtvJjfzC2RCb0MN81LSXOkvbMQJ9DHnAw8n47SO+FSiQlpbwEJA0HClcq+n+LjOKKFmsZta2JOXns= X-Received: by 2002:a05:690c:9:b0:2dd:1de0:7b13 with SMTP id bc9-20020a05690c000900b002dd1de07b13mr29798803ywb.450.1649712486299; Mon, 11 Apr 2022 14:28:06 -0700 (PDT) MIME-Version: 1.0 References: <20220411170124.169564-1-jwakely@redhat.com> In-Reply-To: <20220411170124.169564-1-jwakely@redhat.com> From: Jonathan Wakely Date: Mon, 11 Apr 2022 22:27:55 +0100 Message-ID: Subject: Re: [committed] libstdc++: Improve behaviour of std::stacktrace::current To: Jonathan Wakely Cc: "libstdc++" , gcc Patches X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: multipart/mixed; boundary="000000000000ba751305dc679e5d" X-Spam-Status: No, score=-14.2 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_NONE, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libstdc++@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libstdc++ mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Apr 2022 21:28:10 -0000 --000000000000ba751305dc679e5d Content-Type: text/plain; charset="UTF-8" On Mon, 11 Apr 2022 at 18:03, Jonathan Wakely via Libstdc++ wrote: > // Precondition: _M_frames == nullptr > pointer > _M_allocate(allocator_type& __alloc, size_type __n) noexcept > { > __try > { > - _M_frames = __n ? __alloc.allocate(__n) : nullptr; > - _M_capacity = __n; > + if (0 < __n && __n <= _S_max_size(__alloc)) [[unlikely]] I originally changed this to return early if the size isn't OK: if (unlikely condition) return nullptr; but in the version I pushed it's: if (likely condition) // do allocation but forgot to change the attribute to match. Fixed by the attached. Tested x86_64-linux and pushed to trunk. I have further improvements to stacktrace::current coming tomorrow. --000000000000ba751305dc679e5d Content-Type: text/plain; charset="US-ASCII"; name="patch.txt" Content-Disposition: attachment; filename="patch.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l1v830ae0 Y29tbWl0IGIxMTI0NjQ4ZmY4ZjY1NTMwN2YyNjRkN2IzNTNmZDY4ZTNiMDNlOWMKQXV0aG9yOiBK b25hdGhhbiBXYWtlbHkgPGp3YWtlbHlAcmVkaGF0LmNvbT4KRGF0ZTogICBNb24gQXByIDExIDIw OjEzOjQ0IDIwMjIKCiAgICBsaWJzdGRjKys6IEZpeCBpbmNvcnJlY3QgYnJhbmNoIHByZWRpY3Rp b24gaGludCBpbiBzdGQ6OnN0YWNrdHJhY2UKICAgIAogICAgbGlic3RkYysrLXYzL0NoYW5nZUxv ZzoKICAgIAogICAgICAgICAgICAqIGluY2x1ZGUvc3RkL3N0YWNrdHJhY2UgKGJhc2ljX3N0YWNr dHJhY2U6Ol9JbXBsOjpfTV9hbGxvY2F0ZSk6CiAgICAgICAgICAgIENoYW5nZSBbW3VubGlrZWx5 XV0gYXR0cmlidXRlIHRvIFtbbGlrZWx5XV0uCgpkaWZmIC0tZ2l0IGEvbGlic3RkYysrLXYzL2lu Y2x1ZGUvc3RkL3N0YWNrdHJhY2UgYi9saWJzdGRjKystdjMvaW5jbHVkZS9zdGQvc3RhY2t0cmFj ZQppbmRleCBkZDc4YzcxYzVkYy4uNzkwMzhlODAzZjIgMTAwNjQ0Ci0tLSBhL2xpYnN0ZGMrKy12 My9pbmNsdWRlL3N0ZC9zdGFja3RyYWNlCisrKyBiL2xpYnN0ZGMrKy12My9pbmNsdWRlL3N0ZC9z dGFja3RyYWNlCkBAIC01NzksNyArNTc5LDcgQEAgX0dMSUJDWFhfQkVHSU5fTkFNRVNQQUNFX1ZF UlNJT04KIAl7CiAJICBfX3RyeQogCSAgICB7Ci0JICAgICAgaWYgKDAgPCBfX24gJiYgX19uIDw9 IF9TX21heF9zaXplKF9fYWxsb2MpKSBbW3VubGlrZWx5XV0KKwkgICAgICBpZiAoMCA8IF9fbiAm JiBfX24gPD0gX1NfbWF4X3NpemUoX19hbGxvYykpIFtbbGlrZWx5XV0KIAkJewogCQkgIF9NX2Zy YW1lcyA9IF9fYWxsb2MuYWxsb2NhdGUoX19uKTsKIAkJICBfTV9jYXBhY2l0eSA9IF9fbjsK --000000000000ba751305dc679e5d--