From patchwork Fri Apr 7 15:25:39 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Tromey X-Patchwork-Id: 67501 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 7EC713853814 for ; Fri, 7 Apr 2023 15:26:20 +0000 (GMT) X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from gproxy1-pub.mail.unifiedlayer.com (gproxy1-pub.mail.unifiedlayer.com [69.89.25.95]) by sourceware.org (Postfix) with ESMTPS id 502123858C1F for ; Fri, 7 Apr 2023 15:25:42 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 502123858C1F Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=tromey.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=tromey.com Received: from cmgw14.mail.unifiedlayer.com (unknown [10.0.90.129]) by progateway3.mail.pro1.eigbox.com (Postfix) with ESMTP id 8949210047D80 for ; Fri, 7 Apr 2023 15:25:41 +0000 (UTC) Received: from box5379.bluehost.com ([162.241.216.53]) by cmsmtp with ESMTP id kny9pbB6hzLqskny9ph3zM; Fri, 07 Apr 2023 15:25:41 +0000 X-Authority-Reason: nr=8 X-Authority-Analysis: v=2.4 cv=M+SIlw8s c=1 sm=1 tr=0 ts=643035f5 a=ApxJNpeYhEAb1aAlGBBbmA==:117 a=ApxJNpeYhEAb1aAlGBBbmA==:17 a=dLZJa+xiwSxG16/P+YVxDGlgEgI=:19 a=IkcTkHD0fZMA:10:nop_charset_1 a=dKHAf1wccvYA:10:nop_rcvd_month_year a=Qbun_eYptAEA:10:endurance_base64_authed_username_1 a=3lNPh8f3RqoXguu8mcoA:9 a=QEXdDO2ut3YA:10:nop_charset_2 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tromey.com; s=default; h=To:In-Reply-To:References:Message-Id:Content-Transfer-Encoding: Content-Type:MIME-Version:Subject:Date:From:Sender:Reply-To:Cc: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=tzPck+U+Zon8x4/5meb3BoRlSZWU7OcK5I/dWLpivi8=; b=nPkc/8GvLtdDbP8x0DTrm+bR1m v2RPsUuyd2Ndx/ydrmLe1GKaiWXVheO3qfU+WQbb440u1W9+/MMMnfe8ROB5jevhDgjZdZLB5l0sJ zQuPVh4X/xi4eH1tdvxmi+dWp; Received: from 75-166-159-36.hlrn.qwest.net ([75.166.159.36]:60392 helo=[192.168.0.21]) by box5379.bluehost.com with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.95) (envelope-from ) id 1pkny9-001hDU-Cq for gdb-patches@sourceware.org; Fri, 07 Apr 2023 09:25:41 -0600 From: Tom Tromey Date: Fri, 07 Apr 2023 09:25:39 -0600 Subject: [PATCH 07/19] Convert breakpoint.c to new hash table MIME-Version: 1.0 Message-Id: <20230407-t-robin-hood-hash-v1-7-900d93ef1510@tromey.com> References: <20230407-t-robin-hood-hash-v1-0-900d93ef1510@tromey.com> In-Reply-To: <20230407-t-robin-hood-hash-v1-0-900d93ef1510@tromey.com> To: gdb-patches@sourceware.org X-Mailer: b4 0.12.1 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: 75.166.159.36 X-Source-L: No X-Exim-ID: 1pkny9-001hDU-Cq X-Source: X-Source-Args: X-Source-Dir: X-Source-Sender: 75-166-159-36.hlrn.qwest.net ([192.168.0.21]) [75.166.159.36]:60392 X-Source-Auth: tom+tromey.com X-Email-Count: 8 X-Source-Cap: ZWx5bnJvYmk7ZWx5bnJvYmk7Ym94NTM3OS5ibHVlaG9zdC5jb20= X-Local-Domain: yes X-Spam-Status: No, score=-3026.4 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, JMQ_SPF_NEUTRAL, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) 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: , Errors-To: gdb-patches-bounces+patchwork=sourceware.org@sourceware.org Sender: "Gdb-patches" This converts breakpoint.c to use the new hash table. --- gdb/breakpoint.c | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c index ebe97940f54..3e380a1fd0b 100644 --- a/gdb/breakpoint.c +++ b/gdb/breakpoint.c @@ -20,7 +20,6 @@ #include "defs.h" #include "arch-utils.h" #include -#include "hashtab.h" #include "symtab.h" #include "frame.h" #include "breakpoint.h" @@ -81,6 +80,7 @@ #include "progspace-and-thread.h" #include "gdbsupport/array-view.h" #include "gdbsupport/gdb_optional.h" +#include "gdbsupport/hash-table.h" /* Prototypes for local functions. */ @@ -12489,25 +12489,21 @@ static bool ambiguous_names_p (struct bp_location *loc) { struct bp_location *l; - htab_up htab (htab_create_alloc (13, htab_hash_string, htab_eq_string, NULL, - xcalloc, xfree)); + + using traits = gdb::libiberty_traits; + gdb::traited_hash_table htab; for (l = loc; l != NULL; l = l->next) { - const char **slot; const char *name = l->function_name.get (); /* Allow for some names to be NULL, ignore them. */ if (name == NULL) continue; - slot = (const char **) htab_find_slot (htab.get (), (const void *) name, - INSERT); - /* NOTE: We can assume slot != NULL here because xcalloc never - returns NULL. */ - if (*slot != NULL) + if (!htab.insert (name).second) return true; - *slot = name; } return false;