From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id yNIwOQP+ImAxbAAAWB0awg (envelope-from ) for ; Tue, 09 Feb 2021 16:26:27 -0500 Received: by simark.ca (Postfix, from userid 112) id E77B51EF4F; Tue, 9 Feb 2021 16:26:27 -0500 (EST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on simark.ca X-Spam-Level: X-Spam-Status: No, score=0.2 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,MAILING_LIST_MULTI,MSGID_FROM_MTA_HEADER,RDNS_NONE, URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.2 Received: from sourceware.org (unknown [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 833331E590 for ; Tue, 9 Feb 2021 16:26:27 -0500 (EST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id AFF6438708A8; Tue, 9 Feb 2021 21:26:26 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org AFF6438708A8 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1612905986; bh=K4aIAbht+EFPtfwQHdAsbLt5rTTBsUKgQm2Nk+mFp8w=; h=Subject:To:References:Date:In-Reply-To:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=XjOLTpiWfArvhBfRN14oKmYjHTyJMIVFZrIwZHtxv4bYhTyT4jvqHlTS51KOMAvpS 6UpHk+t0tm/haFeGMbytxSuoQwMgI/+OwrQEaobPDN7D5WphooI/oawHD0lYuo2xrt htPSWnn8odGIg68T1Z1mOmZYZG/Wcb2/dNQjCy/Q= Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-eopbgr770075.outbound.protection.outlook.com [40.107.77.75]) by sourceware.org (Postfix) with ESMTPS id B1F983860C33 for ; Tue, 9 Feb 2021 21:26:24 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org B1F983860C33 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EwkZqQlERQQbVYeVyYWqaHd+eotojkW0FIprTcOa365rkW0T/VTgeeii7FQ4nMTZUb/Rv4icvIKqyFRMYuOe3XC1FDE4TAwm1vEQbbkv2a/EQwzvdtHUMzTAtcbmr162urCf41RMZLglYjZpIYpfnMp2wuAKtFyjloKsxMY3QwbU0NSycucsdUqE6+ggdYi9yo1hHJSI7LwDui91sVb3dTbgjRq3vjlgVDZBUrQN+Eh6ZsNxDfEXPfDqnh9yatVcQopm4r0HmudlRi69Yth3N4V+CVCAqmP1cNJ21FQiJOmJh8mfEw0gea6HgKGcT6i4C+HIM7N2cqh7d60S72mWpQ== 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=K4aIAbht+EFPtfwQHdAsbLt5rTTBsUKgQm2Nk+mFp8w=; b=HlOoi3SHGctBKwI533ZkGjuk9kQEyBY42FKY8lo1CtKAqvhLC2HnncVoxq4SJ6Yr4JkG4+YlCknYdILPUb0JokxBlytWad3VgiuqbLN3FDwOrDtJk5yVDaFZFLjnPJ5kdnFqmSGlDacKJuksVC5/n6Z+bEjmK7hITRKhewfnT0Ms5j6iyvKjZ9btrVh7+OTmTMAQh4OkKzehwXebzT8I7lbo3xVpw6q39S6Nm5doDvQJ+uZPP+XG7itwELB0b0vSF/ZhLjy8+z1kSvOmop3knh9Ek9WKK/8GollCGX9SzXVQFRstR5UUa26x86A1isc+EhL0XYIVUOrJgpF0vj+BGw== 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 DM6PR12MB3001.namprd12.prod.outlook.com (2603:10b6:5:116::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3825.30; Tue, 9 Feb 2021 21:26:20 +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.3825.030; Tue, 9 Feb 2021 21:26:20 +0000 Subject: Re: [PATCH 18/30] Add new classes that model DWARF stack element To: Tom Tromey References: <20201207190031.13341-1-Zoran.Zaric@amd.com> <20201207190031.13341-19-Zoran.Zaric@amd.com> <87blcudy4c.fsf@tromey.com> <877dnhashm.fsf@tromey.com> <87tuql9cgn.fsf@tromey.com> Message-ID: <8f4e14d8-4ed8-1ae6-9eed-a1b82e4688b8@amd.com> Date: Tue, 9 Feb 2021 21:26:16 +0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.7.1 In-Reply-To: <87tuql9cgn.fsf@tromey.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Originating-IP: [2a00:23c7:5a85:6801:b142:b2da:a877:6c3] X-ClientProxiedBy: AM4PR0202CA0024.eurprd02.prod.outlook.com (2603:10a6:200:89::34) To DM6PR12MB2762.namprd12.prod.outlook.com (2603:10b6:5:45::15) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from [IPv6:2a00:23c7:5a85:6801:b142:b2da:a877:6c3] (2a00:23c7:5a85:6801:b142:b2da:a877:6c3) by AM4PR0202CA0024.eurprd02.prod.outlook.com (2603:10a6:200:89::34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3846.25 via Frontend Transport; Tue, 9 Feb 2021 21:26:19 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: c35d7d73-3d54-4a2f-2c0f-08d8cd4157eb X-MS-TrafficTypeDiagnostic: DM6PR12MB3001: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:10000; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: a1itcRuvkofJIj+tLfXfNTf+ivPzCwInm+W0eErja3kn++dr0qZtewHgxJyPSRZksTGejacjjsUERV0QlAUgD0X3Nv791XUIXiKKh0yGzk6i6uf0qqMylxWitz5NkeSqvrrqMNFnKEwOI0KqI/9YNJ/UCOe9vsPTLbbfKjQVZ/Bvyxb9dD3iyx+lE7oMmT39fNDGipAQsotWVeULLmX8wUZHmfLRT4I+0V/lxlz5C6GSQBjSzFNUZh5uuk8O5p2ZVO7IupykmzLYsoyO92jfuqzLulw5uefATrjetUtsEFCRt33ppmyv2R1UAsZ1K76JwnOSx5BweLChd4I0u+1LBt44ghlvmqfvotSPo3UY/qlVPxpvyGhx/Wr/38LB82iYiTvdQtc1A9ykE4+3Zi9b1zI1s2pjiiHlXT1i9Rnw7nbTph9I0nD/qa6Hu1WtnBkUU1sIazyOE2xQj4nurHT2npXXAt3dbCP+bjPawvbUV28qls4LNltTWUiPjFpl0bMkK/2hcW6rUYsdg31X2V4DkF6s2w0OZDuGHVnBcKafiFVYFnKH9V1CxQ6yS2ChQRfozTTg2LFBuOujtwTSh1Lm6LsGK3C7/21Wyd/0FU/yGqA= 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)(136003)(39860400002)(346002)(376002)(396003)(366004)(2906002)(5660300002)(66556008)(83380400001)(478600001)(6486002)(6666004)(66476007)(316002)(16526019)(186003)(8936002)(2616005)(8676002)(31696002)(31686004)(4326008)(66946007)(52116002)(6916009)(86362001)(36756003)(43740500002)(45980500001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: =?utf-8?B?U1pCR1FzZHBEcmRCaHd0Yk15SzNKa0ZZR1BOTk9WRlV4MDJSQjd0VTQzdi9S?= =?utf-8?B?T2JSSEl2SUtsa2VkM1hDczFuRTZweEJ5Y29XWmpWVFEzRGdxR2dsSVEvZVhI?= =?utf-8?B?OU51UkxxdG9rVmNVQ0YyMGpxU2h3aWlxb1h4YktlTlRwMmZyaDNnNk1Id2tt?= =?utf-8?B?VFZaSXJTb3h4dHdRbmZ3SHVXTGRuRjB3MGRlRGMrZjlPZVdIWmVPZUR5Q3Ax?= =?utf-8?B?Qm1ieTR4UjgvYithaGlsYXp6NjhvTDlhdUZmTmdzM3N6RVVmUGExWXF2TVZu?= =?utf-8?B?V3FPODQyWTMrS29oU1JIc0Z5RnNPZ2N6SkwyWDVjN2tQSTVZS2xLVVVhcXg2?= =?utf-8?B?YWJnUjI5VE9HWTgrQ3N3WjhYYXZNOXhPZ3B1TjRhaUpHbFd1bVNlKzhwTTF1?= =?utf-8?B?b0w2UzQ1dG45dVFGY2sySE9SWFhxODc2d0RwaFRDREl0VlBGU201cEFaMWpm?= =?utf-8?B?OWxFTXpJU2VQQmtSRWc5SUtZMkF4bUdlZEJDWk82SkpMWS9abm5lKzFsMVdt?= =?utf-8?B?YktxaW1pV2xoV2hzVmtVLzhiamZjaFlDZm9admlHV0ZIbitxenFIMjZHTWtB?= =?utf-8?B?VUxQVTdaNUowWHJOMkIzOStQUExCVkZXTU42MnhNVGprYW9nRkwyTXFnV3c4?= =?utf-8?B?MFJxOGxmQW16K0lIYTJvNmU4NHZSbmFrakpGKzVwb2hmY3lhRFdDUG1qa0x4?= =?utf-8?B?UzNzR3BWS1JQcW5kRTFxLzVleWlURGR4ZFNVdU5Ea2dzSG8zTFNKVmVtMEZu?= =?utf-8?B?NzhldUpNTFY4SUF6YmVISGM5Yk5lbXh0VkpFOGtUY0ZpRmpWamR0T0FvZTJx?= =?utf-8?B?b3hUT3RNUmdpMXZnNWFJRjZoLzZ0d2JLK21admd3MkZYMmE2cVFtck1RTU5n?= =?utf-8?B?S1krZlVqUWlJWHVoVStaWHR1RVlzU09FemdpdzY4SmVFYnFOSmZuaVAxVEJn?= =?utf-8?B?cXpGenNoRXBuOVRoSUNEdDE0WXFISHdlRUVIVS9BUEljOFAzbTZRQjBrRTdM?= =?utf-8?B?MlVtNEJ0ZGxQM3N6Y3ZGSSt0NmwrWFpQMTlZMkp1dXd6czNRckdqNnMyY3Z5?= =?utf-8?B?T1FuSzZrR2h5ZCtrR093a3dRSXRoaExVdlBESDVlUHcxTmxXWXN1b01mRUdo?= =?utf-8?B?dUpYTS81ZUlOZ2lLdE84Z29sRzhwaGhEOW5ndCtybVJUWUZvSHcxTE1UUWd3?= =?utf-8?B?RklqKytWTXg4dnVyeEM0SmZwcER4RmpKbnpSa0g1OWxCVnd1NFFSVEg4Y21D?= =?utf-8?B?OUJqa2hteFY0ellycmlKamJhaVNLVEVsS25qZEtzU0dVR2c3S21TYUpOcUZD?= =?utf-8?B?Yll4ay9CV3VuTkVWQ0NQaHI5cDNGNzkzWTlGOU1vU0FEU0ZkTkt2QkVKN0Yy?= =?utf-8?B?eSs4NkxidGZpWWN0ajBNR29oci9SSGowQWV1OEtZeDcva3lxa1YrSzZQdm9F?= =?utf-8?B?aWg2QkhXZ0o4bjlPWU9BQWlEV2hlY2xHVm0zZmc5eGhPdlVkMmNWT0VEZXFs?= =?utf-8?B?UER2WjFTQmlNZStENjEvb1A2NHRrT3VMTUFYRnhzcW01NFdIa0grcGlXNWNU?= =?utf-8?B?VmYxbEVrRTU2OXZBR3VwWDdKVXdTZ1ZPb3NMSzNZdUxzUTBiYU0vRGRWbGNt?= =?utf-8?B?am5MN3U5Yy9FdTZEQWFHTkVNc1ViZ1lXdnM0NzVIQXpYL3ZpV1hwV0h5Wm8r?= =?utf-8?B?bnhzUU9ISE44cFdyQmw3VzV5MjJ1eHZsOFU1SGtBOUtCc2pLQUtlenVIWjZG?= =?utf-8?B?eUhoYU56RTlZQUpnYVVMTVRQdXpFSk94WmFFRGgrM2lmWlZvSlA2YlZIdHZv?= =?utf-8?B?TU9jTElLeEFyNFBvb2kwbmZsdzZCU29ETEFjNVQvaVFOendoeFZweVU3Qk1K?= =?utf-8?Q?Q6JLyzOjfQ88P?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: c35d7d73-3d54-4a2f-2c0f-08d8cd4157eb X-MS-Exchange-CrossTenant-AuthSource: DM6PR12MB2762.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Feb 2021 21:26:20.6222 (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: NAgCJpxDHz4f+V1v4/wXF1tXIMFOAkS/RHZMM6uFvTXJKT+r+yZ6h8nqzfwRCLWibZ+ipvCkgw4qiVjxEiLpMQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB3001 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 Cc: Zoran Zaric via Gdb-patches Errors-To: gdb-patches-bounces@sourceware.org Sender: "Gdb-patches" > >>>>>> "Tom" == Tom Tromey writes: > > Tom> There's a refcounted-object policy class already. > > ... which, weirdly to me at least, does not call delete. Right, so this was one of the reasons why I added the factory class. Another reason was to separate the dwarf_entry handling and conversions from the original evaluator class so that the class is not cluttered. > > Maybe you should just be using shared_ptr anyway. I really need to make another pass and make everything work with shared_ptr. The reason why I didn't do that in the first place was because I didn't notice smart pointers being used a lot around the code and even less so in the code that I was replacing. > Though to reiterate: > > Tom> It would still be good to understand why reference counting is needed > Tom> here though. That part still doesn't make sense to me. > > thanks, > Tom > The reference counting is there because in the extensions that we are proposing there is a concept of nested composites and composites that are not completed. Both of those can be duplicated with the DW_OP_DUP and similar operators. This is the same reason why the closure now contains a location description instead of a vector of pieces like it did before. When you add those two things together, now you need to reference count because the struct value (in lval_compute case) can also reference a location description as well as you can have multiple copies of the same location description on the stack. Maybe this will make more sense in the later patches then this one. Smart pointers have a reference counting built in so if I switch to those, that would probably sort out most of these issues. Zoran