From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: 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 Cc: Zoran Zaric via Gdb-patches 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> From: Zoran Zaric 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-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, MSGID_FROM_MTA_HEADER, NICE_REPLY_A, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP autolearn=ham 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: Tue, 09 Feb 2021 21:26:26 -0000 > >>>>>> "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