From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id iGCDKmf+PGAGJAAAWB0awg (envelope-from ) for ; Mon, 01 Mar 2021 09:47:03 -0500 Received: by simark.ca (Postfix, from userid 112) id A91361EF7E; Mon, 1 Mar 2021 09:47:03 -0500 (EST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,MAILING_LIST_MULTI,MSGID_FROM_MTA_HEADER,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.2 Received: from sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id DEF291EF64 for ; Mon, 1 Mar 2021 09:46:58 -0500 (EST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 68144393A416; Mon, 1 Mar 2021 14:46:57 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 68144393A416 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1614610017; bh=5EwoAeo85GtgalMBkbxCXLpnNHgoSehu+1UgP2DgFEY=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=buiGfb7y7hCih4dsctxptNhnY2scWvMyrVMYfe54W9+CcS+TWyQEPEJWXvlDPrch7 ryv7NesNNPXsFEGSRpmbyy3f0DWSxS9qtRvtIGxCCZDbjrvkan9JZkga3YtzFAfHCt ePMi+5hHoNfWhYK1ouhpHAeRxJoNoTa+TVvR1ktg= Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2062.outbound.protection.outlook.com [40.107.244.62]) by sourceware.org (Postfix) with ESMTPS id 834CF3939C32 for ; Mon, 1 Mar 2021 14:46:53 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 834CF3939C32 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ddBJCA+tGwC4krrdCnboz/LxBgtsuV/1qaxMvm2UPA2f4fmrfAMfS7IYSGcrIEHB+E+FnSfDM3f6qTRsz1L+W/6ZFpJEIADJ2n7W19ifpGhfZyBy9mOCkw6oMdyfdUW7VGRrr7qwpJaOKNXOyZEUxNtODjNTZtEi9ZKNyq3ui+r3OFM/gjFFWFGqO9RIxSs6Q6MhXCU7rZXyoLwweuMvohwFeF+9KYN0PJpkmUEl/geDT+lyb1VN7EEYKpyTVbJSuY2Z7d0QmxLc8M0j4K0e3Ax2O7pfxMYRLM8352W0fnDvKY3QW3UmM9WLtvr0ouijj7i15CgsdeH/aplTmv+T2Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=5EwoAeo85GtgalMBkbxCXLpnNHgoSehu+1UgP2DgFEY=; b=YefTMXpfr7Go0vMXn2QhzHQyDLf0h4UfvtAapa1jc9nZHZXH6FWe12I2t4lv5icmP/95EWyb8hAr+taaWwd8yH1/el6/Oanee6XTQFqeKoqsAUQEBV2vtiknTal+0z9I6hejTNXkqVV2i0t54RxkXOSyUzIvBYnBX+nI2yimF55s2K+VqGJlD7UbdOiLj/F14XTi9TOsMog2WHEzL/59ZxHHT+b/cJgiZxcrQqFsYnXMM+xY9+Zk4ficoRgQw/EbJrlJXVYiHprXk0sOrd1fF63v1q+Ha3ybxa0NT3fJfLHAJE/+hpNBFN/A4geMpOU7nYjYVGnfO+4+gNDxoOdmfg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none Received: from DM6PR12MB2762.namprd12.prod.outlook.com (2603:10b6:5:45::15) by DM6PR12MB3676.namprd12.prod.outlook.com (2603:10b6:5:1c7::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3890.19; Mon, 1 Mar 2021 14:46:51 +0000 Received: from DM6PR12MB2762.namprd12.prod.outlook.com ([fe80::31d8:f503:f7b2:f44]) by DM6PR12MB2762.namprd12.prod.outlook.com ([fe80::31d8:f503:f7b2:f44%3]) with mapi id 15.20.3868.033; Mon, 1 Mar 2021 14:46:51 +0000 To: gdb-patches@sourceware.org Subject: [PATCH 11/43] Remove empty frame and full evaluators Date: Mon, 1 Mar 2021 14:45:48 +0000 Message-Id: <20210301144620.103016-12-Zoran.Zaric@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20210301144620.103016-1-Zoran.Zaric@amd.com> References: <20210301144620.103016-1-Zoran.Zaric@amd.com> Content-Type: text/plain X-Originating-IP: [2a00:23c7:5a85:6801:b4ed:fe7b:8064:d4d] X-ClientProxiedBy: AM0PR04CA0073.eurprd04.prod.outlook.com (2603:10a6:208:be::14) To DM6PR12MB2762.namprd12.prod.outlook.com (2603:10b6:5:45::15) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from localhost.localdomain (2a00:23c7:5a85:6801:b4ed:fe7b:8064:d4d) by AM0PR04CA0073.eurprd04.prod.outlook.com (2603:10a6:208:be::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3890.19 via Frontend Transport; Mon, 1 Mar 2021 14:46:50 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 0b13849e-1284-48eb-b420-08d8dcc0d97b X-MS-TrafficTypeDiagnostic: DM6PR12MB3676: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:5516; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Q0ulXOwk13qkn9XMIMbX0s2PQrcRABsA9HEF/qwSqAcEsYpN8rQexPqbr16RthCS++HgpTY5ltXC0hn2MRGERNqmqNGIFGPsC2K5TQxDrkrZo3ysgP85kr/2PlQmWba2BEK2MAlv9wrFyhfUoaKTtwFUJKZKS59HjiJ6VdT9q6/hpx+saQfE158/U11EZ9iZ9APZUu2es2pg1irl6H9V0nIyW216et4rv8vDqo0srloFUOEJiiMZv2VDBFwV1k64l1ZHn+Zj8m/96lA7Y5coBkihfUwKGeuSjtMgszbjULCN381O6Gbxgxo961H7xqUQyHDAyZ9jkrWyh390cpxG/9nY9ahD+Djs965K3Klqk57g/+gFao1SRyforXi+iOxvrGGMmy6DIa8KAepMiBM6t6czsouA9gk2kF1tG2KAHNFdSbveijLHhkGz/s7PN8Obs9ndYen5aZQqnzb7Y+yVz9glRh8TRu67/fQ5r+20Fn42J7kK+eOp33Ifq9mLO1WWX7/PS988scnCCgBwo0Q4CAK6+dyj5b4Xj1vOBNjIPOvzx8k2FbFVh2RWyc1vgwvs9LvdRJ/uvX6tTp5zAvx4kg== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR12MB2762.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(366004)(396003)(346002)(136003)(39860400002)(16526019)(1076003)(83380400001)(2616005)(69590400012)(2906002)(186003)(36756003)(66946007)(316002)(66476007)(8936002)(52116002)(86362001)(6506007)(478600001)(5660300002)(4326008)(6486002)(8676002)(6916009)(6512007)(66556008); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: =?us-ascii?Q?i6CXXKNH4/Zi+sLZiHO9V7tMYEtg/8x8qMouMRLunHBhBYBSGQbWHF02imP+?= =?us-ascii?Q?ptYaTTJVt588OiwDOIGg2fOXnidt5kcvJRmPKkSseS1wCzBXBoj/iA1FJl4M?= =?us-ascii?Q?jpY5lwd/mVgX85AUrUASR3jR+I3k3Gpi30cN6MuYnAZwi2AzdfCmNHiI1g3H?= =?us-ascii?Q?ZTWX0u+x24Jgo1qkoXAccdBb5p3fj0WySEsF+ibJtwudeAnPfM8r1+rezZnM?= =?us-ascii?Q?bT1DNHhpkrBxlZaPtndfuV8JbzUZrEPVEjPY0Pt50NPMwNwvUodLvrX/jtXJ?= =?us-ascii?Q?MTXeBv3ipO1qgZa9Zj2ZM0vdWifz34I9YdV125ECp4lDxvnnmHBmApwMdVjQ?= =?us-ascii?Q?7ZGfExUsytIwVtT9RIS4HCW/7+RPZXm/jqkY8oE6rlXSMd9r4nbu+4nTtTNR?= =?us-ascii?Q?nFyZDJNOrCrjdeWyPmQNpvhDIxb7kctBp2HlOC1AvhJyI/KybediwC0FhlJT?= =?us-ascii?Q?bigSUswqHlersJGKCSudEyCqBZjM0sXTgSk70fX7nR5O1+zWu+jztvZZgO3e?= =?us-ascii?Q?FNiBh8z3G+nEV73fWyFREdVKAJNuMeJjMCLUo/pQyRG0/cc0VewOIxItl/3g?= =?us-ascii?Q?X3hIINgrc1WkNQaV3CtpBkAxzO5a20RGcDfHpi7JmleBoBgmhDFU68kvVdfe?= =?us-ascii?Q?zSEDlMEwnu+ztgYoQ0mC44DA6VCuoKo3l1aAEdZKdfqZ1nZL3MzpQBb4Md3f?= =?us-ascii?Q?XHWu3O7ZQgnpXO+yjlgP0mvVnS4sRk/l2EmemAMNCUEMf8Q1pK5N+7dTNC7J?= =?us-ascii?Q?gGibN6uDgm5KaXhjAV2X17AcNrEe7fOjEy5v0ZBSiCV6ZlXxZdMT6Jv8VwCx?= =?us-ascii?Q?QtF2xRwynSJXZ0mgFhrVCCNvJbjHL5mxv4ZBRDcY8GnvEWDbInny/SEohzKO?= =?us-ascii?Q?sOKlJOsY/y7gYju0/fzsBLJ86t9eeDB82vQ6uEz5G5kTYvQ15jnOPCcfznVG?= =?us-ascii?Q?9KFUDHlwRQH8l4OfebnhZrWrrlVH0d4G7Qnhaw4z0QGN61Z712UCGXOkfn4v?= =?us-ascii?Q?OF4wrTqH2XVLp48fAEIFxYMh8c2M6SUqrBXp1+XMTHgGuAxV+tEp9x4gbWyp?= =?us-ascii?Q?dklMf0mXVJ+nVFGQKuO+1E6rXRf5fZQ+VnrqzEffa2PdupzlmeaHbO4Gi8At?= =?us-ascii?Q?moNf02WyPK3jQhkx3WGGqVLclAw5NlTITYG+m6CcIQqru7SwmPwDs0oXUnEd?= =?us-ascii?Q?ZKf4KWJdra0RgTvSSAy9+EoeGOTlcjJ9YTCjWbfUz3ARshzQsh1KEbrKNQMN?= =?us-ascii?Q?O1y+MZp7pn1oUlq7NnVCNdrU3P7915nMjlmrXJKq0+XnXOT+XuqYE1uqyc/I?= =?us-ascii?Q?gJW/Lonuf94coor7lKDNsisKrEQU0s0kdBfIreqwKi0txd1HHvNBqh49onyv?= =?us-ascii?Q?9dO5eBBZKj5q7g2fWE0xkAXSCvBn?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0b13849e-1284-48eb-b420-08d8dcc0d97b X-MS-Exchange-CrossTenant-AuthSource: DM6PR12MB2762.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Mar 2021 14:46:51.4858 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 78AbUn8VH5smjdAcj58N9mdkeqctCUS0GBXC7jtAl3yPk2l0wJqVZSskLZ27S7WQ5s5FkEfyy0jkubFtE6TIKw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB3676 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: , From: Zoran Zaric via Gdb-patches Reply-To: Zoran Zaric Errors-To: gdb-patches-bounces@sourceware.org Sender: "Gdb-patches" From: Zoran Zaric There are no virtual methods that require different specialization in dwarf_expr_context class. This means that derived classes dwarf_expr_executor and dwarf_evaluate_loc_desc are not needed any more. As a result of this, the evaluate_for_locexpr_baton class base class is now the dwarf_expr_context class. There might be a need for a better class hierarchy when we know more about the direction of the future DWARF versions and gdb extensions, but that is out of the scope of this patch series. gdb/ChangeLog: * dwarf2/frame.c (class dwarf_expr_executor): Remove class. (execute_stack_op): Instantiate dwarf_expr_context instead of dwarf_evaluate_loc_desc class. * dwarf2/loc.c (class dwarf_evaluate_loc_desc): Remove class. (dwarf2_evaluate_loc_desc_full): Instantiate dwarf_expr_context instead of dwarf_evaluate_loc_desc class. (struct evaluate_for_locexpr_baton): Derive from dwarf_expr_context. --- gdb/dwarf2/frame.c | 18 +----------------- gdb/dwarf2/loc.c | 16 ++++------------ 2 files changed, 5 insertions(+), 29 deletions(-) diff --git a/gdb/dwarf2/frame.c b/gdb/dwarf2/frame.c index abbd24b8ed0..8faadeb3469 100644 --- a/gdb/dwarf2/frame.c +++ b/gdb/dwarf2/frame.c @@ -223,22 +223,6 @@ register %s (#%d) at %s"), } } -class dwarf_expr_executor : public dwarf_expr_context -{ -public: - - dwarf_expr_executor (dwarf2_per_objfile *per_objfile) - : dwarf_expr_context (per_objfile) - {} - - private: - - void invalid (const char *op) ATTRIBUTE_NORETURN - { - error (_("%s is invalid in this context"), op); - } -}; - static CORE_ADDR execute_stack_op (const gdb_byte *exp, ULONGEST len, int addr_size, struct frame_info *this_frame, CORE_ADDR initial, @@ -246,7 +230,7 @@ execute_stack_op (const gdb_byte *exp, ULONGEST len, int addr_size, { CORE_ADDR result; - dwarf_expr_executor ctx (per_objfile); + dwarf_expr_context ctx (per_objfile); scoped_value_mark free_values; ctx.frame = this_frame; diff --git a/gdb/dwarf2/loc.c b/gdb/dwarf2/loc.c index 1779241d9dc..bd3f7d4d46a 100644 --- a/gdb/dwarf2/loc.c +++ b/gdb/dwarf2/loc.c @@ -618,14 +618,6 @@ sect_variable_value (sect_offset sect_off, type, true); } -class dwarf_evaluate_loc_desc : public dwarf_expr_context -{ -public: - dwarf_evaluate_loc_desc (dwarf2_per_objfile *per_objfile) - : dwarf_expr_context (per_objfile) - {} -}; - /* See dwarf2loc.h. */ unsigned int entry_values_debug = 0; @@ -2029,7 +2021,7 @@ dwarf2_evaluate_loc_desc_full (struct type *type, struct frame_info *frame, if (size == 0) return allocate_optimized_out_value (subobj_type); - dwarf_evaluate_loc_desc ctx (per_objfile); + dwarf_expr_context ctx (per_objfile); ctx.frame = frame; ctx.per_cu = per_cu; ctx.obj_address = 0; @@ -2229,16 +2221,16 @@ dwarf2_evaluate_loc_desc (struct type *type, struct frame_info *frame, per_objfile, NULL, 0); } -/* A specialization of dwarf_evaluate_loc_desc that is used by +/* A specialization of dwarf_expr_context that is used by dwarf2_locexpr_baton_eval. This subclass exists to handle the case where a caller of dwarf2_locexpr_baton_eval passes in some data, but with the address being 0. In this situation, we arrange for memory reads to come from the passed-in buffer. */ -struct evaluate_for_locexpr_baton : public dwarf_evaluate_loc_desc +struct evaluate_for_locexpr_baton : public dwarf_expr_context { evaluate_for_locexpr_baton (dwarf2_per_objfile *per_objfile) - : dwarf_evaluate_loc_desc (per_objfile) + : dwarf_expr_context (per_objfile) {} /* The data that was passed in. */ -- 2.17.1