From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id ml0YMlypImBoYQAAWB0awg (envelope-from ) for ; Tue, 09 Feb 2021 10:25:16 -0500 Received: by simark.ca (Postfix, from userid 112) id BA0F11EF4F; Tue, 9 Feb 2021 10:25:16 -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 9059B1E590 for ; Tue, 9 Feb 2021 10:25:15 -0500 (EST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 0D2E2398B833; Tue, 9 Feb 2021 15:25:15 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 0D2E2398B833 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1612884315; bh=3BrOPJ1OsbnIbJhUhY9R4uUC/gKm0MDCrsCc3uPAtTg=; h=Subject:To:References:Date:In-Reply-To:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=pEYsmyGc9Oo2bRdb76Ac9GyBbYKcAqJFmNV7k7pejYdFKoMX3VFSJBoki8ijC7wzb YbRJlCxc/JDGD/gi7CaanyRRUk+5Q+Uovra61qj3oM28eQVdoWOpSR/AcpjASWbave cFYp/UY8xDczHM2fuBnoFvS1kg0r9GwP8pLaWDYM= Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2071.outbound.protection.outlook.com [40.107.237.71]) by sourceware.org (Postfix) with ESMTPS id C9FBD398B833 for ; Tue, 9 Feb 2021 15:25:09 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org C9FBD398B833 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IgRDCdFSeAZov7eD2516AysW1HSjcQoodnIaYsKPstS3lrQmLe5PubLRq0l1oWEyZzsPsmqmkS/Ju2oKX2dTyw/chkh602mDOCIQoHX7AzMXHfT/uWmUGQ8MFC4TQtUWJD3t3YIxLwoZnWsZZm1MeUW1bUZ702HdIPXyCJHWSjlvmHatfsAvD15hQAaufbIRsi+HdtZOA/CNG/bMKjVv2Euzar53rBx7EuwF7y9OICypisPclKRy0CwN4o2KB6/5IO/isRXCcZizn278kG3zL+6b7zMBsllrKpUIairKGicydNI2BfMm/hbkcrclsKR2RjPLwNOkh67EAKnq3jBeTw== 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=3BrOPJ1OsbnIbJhUhY9R4uUC/gKm0MDCrsCc3uPAtTg=; b=P514W4LSsw9zEKgpjB+2Mn+KkbttPY+LdxjgOFewGuo/2yTaP7bCU0U9jbV8OXLTw8FSu4nD7RMP8lKdt2Jhstus7Th3dT0w2cmCEM3/cxjlt95O5gz1HmiewuorXcSC9DU8jWsxy7u5sLQxari6hpdxAy2s299UpAkpMd50JzR8R/p7fG7b5vEIJhjT1HTV7GhkkrqmwODv1en27P2br2Sr0dAi6DHGx9FAnoA19PM9gAI7f+TqU7jGilftdLz7Vu9oJYmt0eaNr9lyaeviiI9YreiMo066AbGs7W6ex8HyKbynVk3z1mVugLSFYjb+PQSgqhFMmxTqlP3LUqT+CQ== 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 DM5PR12MB1932.namprd12.prod.outlook.com (2603:10b6:3:10e::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3825.20; Tue, 9 Feb 2021 15:25:08 +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 15:25:08 +0000 Subject: Re: [PATCH 15/30] Add as_lval argument to expression evaluator To: Tom Tromey , Zoran Zaric via Gdb-patches References: <20201207190031.13341-1-Zoran.Zaric@amd.com> <20201207190031.13341-16-Zoran.Zaric@amd.com> <87mtwedypn.fsf@tromey.com> Message-ID: Date: Tue, 9 Feb 2021 15:25:02 +0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.7.1 In-Reply-To: <87mtwedypn.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: AM9P193CA0006.EURP193.PROD.OUTLOOK.COM (2603:10a6:20b:21e::11) 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 AM9P193CA0006.EURP193.PROD.OUTLOOK.COM (2603:10a6:20b:21e::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3825.19 via Frontend Transport; Tue, 9 Feb 2021 15:25:07 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 316fc90e-8873-4f3d-1503-08d8cd0ee25a X-MS-TrafficTypeDiagnostic: DM5PR12MB1932: 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: 2sMxWsdhoxZ3hgY5NM6zvRHr0HzFPGrM4q7PtMbrk4V/gutyBRg3GMOWqHh54Cx0iLTbC3Qq/ydj0l1wBBwiFHidBP2nWlpcFjG0zljF17EBApOZEZZluHFNssMTDeoawlYWVrzBMzw2YZTTx8pP8br8Gjm6O2SuFyXQcr9mVaTl+ynwNXpIoVFmrA0pJ2MTrz5KiqlLu/2KjB8zvb45YEmeatUe+mZWVEYNN3AFx70G50lqgU75JGUXToBOiQWzC9dQkQuWoV4fkNjextMRy8stLLJHKNEySjwHWq3NH3+imcrTkcRNuabNzh77chtxa0J6BYewWXCON4Ev982VzMkAZYbtL93jszIkI5cnYvxf62IKu5ixgnGEmBHkAFoQvmieDr+GlGZfA4MxI9PEXX/b9/qkb6Fm42djqESau/A62VQJ1LziU+7W12Z4lwmfTt1xFxj9cs7O/bzrMV4k1xkFSowawgdv4et7dMoR9orvFhOfFhaznGZG98YmflPOh7Ya+QEA0quyj79FzPEBk4+PxIzWw2Kf8ofz1Jm54xu9NpckdfiRX8Jx/9zXzrMOB6aXHXy555YC2J9T6rJ7gb5vLU8by9RlGtiNV2XW8Ac= 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)(396003)(136003)(376002)(366004)(39860400002)(346002)(5660300002)(478600001)(110136005)(52116002)(8936002)(31686004)(186003)(31696002)(6666004)(316002)(8676002)(86362001)(66946007)(36756003)(2616005)(2906002)(66476007)(16526019)(6486002)(66556008)(43740500002)(45980500001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: =?utf-8?B?MkxWVkJsU2Z0OWFHRW50TzJwUTB2emlZUG9HMzVQTDNMdUdXcnhFTHhhM1dV?= =?utf-8?B?VVdTeCtRQzBJV1BncWg2U3FMRG83aU5CeXViMnM0Q2FjT0xLK2ozQUZubGti?= =?utf-8?B?cFhMQzB1djFsUHEyNDdEbEdlZ0h3WHAwNXM3U2lIcWJpZjBYK0RqV1V3SjJx?= =?utf-8?B?M1pCLzF1ZU5WUC9xUWh2dy9XbDVMdFM5ektvc2JELzV1T3l5d25TSHJnRHpO?= =?utf-8?B?Wkh2NE9hMUpxMjFiSmVBYTFFN1dlaWlQbzhGZlFXWXBUclEzS3dnZzQ0OHcw?= =?utf-8?B?dXpHTERmODVrM2l2Qi9SWmtIQmRabU55eUJVbDBlVy9OeTk4bjVwVXFOMVMv?= =?utf-8?B?Q0R4OHkxWDNRK0RqNEJyb0o5UGtqTFBoU2drNUp4bkpleml0aFhZZmFqcXdj?= =?utf-8?B?aVRkVFJyZHk5dnViSnkvVGNXYmI4enB6UmRmRVAyTGl5Nnd2b054ME0rTE9R?= =?utf-8?B?SUJMUTJJNXd1dGlub3o3QzNyZUtIMUI2SHR0b0EvbFVIRTN3NlNHVW4rakdv?= =?utf-8?B?cUhkeHNOSHRjY2tRbEhOK3doMG1oL1hBcFdqc3R6MjY0ajM4MktGV3UvUXJI?= =?utf-8?B?WU9nTXlBWXpGQnNrV2gzQmhZVlpDNHFuMGMwVmtoY05BQ25DT1RXYThCa1Qr?= =?utf-8?B?b2kxVmNqTnlMWmFWU1ZmQ1FCL3hOaUR5OWZPMHFWakRuemUxQndSYWNsM1hD?= =?utf-8?B?SHFkY3daTkJHcUVvYXNRSno2Q290Z0x1KzRLUkhRNTh5cFJBVGtjNVpjVlNy?= =?utf-8?B?QmphY0htY1V3bitIYmJ5WjA5RWQxc3I4WEorTmdaWm5EODBxNHpzN1JLdjR5?= =?utf-8?B?aVA5SFZrQnVrTFZIYnRlaE5kNGxENkpqR2VFQ1ZNWmN5NUNOdG1hNnJPVlVt?= =?utf-8?B?b25uV3JOSFRIWWpzSWVDd1BQdmt6U0VibU9NOGl2TW9qRjdEVlI0NHE4U2ZQ?= =?utf-8?B?amFXTXR6RVhCUGxJQk9WdzZOaThKWjJ5bDFDaVYvRzZ6ODBaOUhqWGE4R3dO?= =?utf-8?B?R1lOT0pnWjJhOVVvUTRFdUcvck5HblJHZjlFaHJVSHh1RlJHNkMrdU5wN0tl?= =?utf-8?B?b25kZ3cxUDJFK21zTlZqQTMxSGxXSWJLWnZQQmN3STRQb0lNcDdrYkIxV1hQ?= =?utf-8?B?bkZ5aUxHSkN1ZmlNNnpQSEpzQ2JOdDBZWDluMHliQW5NVWJXU1orRU4xcmts?= =?utf-8?B?dEg0UzMvbFg4NE80SlVUTDFHcm1LSjkxTmNwSkxRK252Z0xteGE3d1gxOTR1?= =?utf-8?B?YzBlbGlwaTgrNGt2UWVMN0EwWHl5cisxUFQxNG5KblJ4dmg3dFVvdE1qSDh4?= =?utf-8?B?S2szN1dWYllJb0FsRW9kNFRyZHIvUFQxUmRmZGF6b3c2OGU4Y1NQQUFkMUY1?= =?utf-8?B?OEhyY3lVdHhMRlZ2ZExMKzVwbkk4WWVNeDBTNk1qdVFzMVRPa2xILzdFSUly?= =?utf-8?B?WndvQjRIdWJQU3NrdjdJVG84Z2hHTEJYTDlSdzBpQ0dyQlAzbkZmb0Q3K1NR?= =?utf-8?B?Y0d3MzBWOERsdWdmMmlyQWQ0eFgyS3pGV0wxWFNETDhLUmRmeVJWeHhQUTFz?= =?utf-8?B?NUdMNFhPd3dyQUVjVUZLYURiZEhrblVqalFaempJZ2VQclM5azRYOW8zbzh1?= =?utf-8?B?bXRKNUxXbWxPc1dMV1RvRnRITzh3aWhueml0TGNpK3l5K3U1V2tnYXhwL1FP?= =?utf-8?B?TWFiMCtWbldhWDNtWlFnbGdWRzdIaWNpendjSUNWYWdDUzJ5cjRBNHNnUjVo?= =?utf-8?B?aG02WGg4bm1sZW4zL2I2NHFvY3dORW91eEtaYmRiUVQ5YXk4bXp3bGNpZkx6?= =?utf-8?B?dUxQdUZFV3hXMEFMNUJGR3VJckxpV2w3c1BWelVIMlFlTmMxUGlrYUEwbDhJ?= =?utf-8?Q?X3QQvQ6WVjtMC?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 316fc90e-8873-4f3d-1503-08d8cd0ee25a X-MS-Exchange-CrossTenant-AuthSource: DM6PR12MB2762.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Feb 2021 15:25:08.5604 (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: QgWsJs3wP1JUQDYPlqW71GqOKz7bR6EOsYj+MnFn6D9p0qm8kW9jn7OpFaV0mR8oSVynVNaMwZbm2PkD+xUxbw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR12MB1932 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" > > Zoran> There are cases where the result of the expression evaluation is > Zoran> expected to be in a form of a value and not location description. > > Zoran> One place that has this requirement is dwarf_entry_parameter_to_value > Zoran> function, but more are expected in the future. Until now, this > Zoran> requirement was fulfilled by extending the evaluated expression with > Zoran> a DW_OP_stack_value operation at the end. > > Zoran> New implementation, introduces a new evaluation argument instead. > > I like this idea. > While reading this, though, I was wondering if the new parameter ought > to be given to the dwarf_expr_context constructor, rather than passed to > the evaluation method. > > Tom > Thank you Tom. Originally, I had an idea to have one persistent evaluator object per architecture that could be called to evaluate a given expression at any time. In this scenario the as_lval information needs to be an evaluation call argument because it could change from evaluation to evaluation. People didn't seem to like the idea of persistent evaluator so I guess many more arguments (if not all) could be just moved to the constructor. In the later patches, the whole dwarf_expr_context class is hidden in the expr.c file and we end up with just one dwarf2_eval_exp function (which can be renamed to dwarf2_evaluate) that internally creates the evaluator object and calls the evaluation. In that sense, we can move most of the evaluation arguments to be a constructor arguments and just leave the expression stream and result types as evaluation method arguments. If people really feel that there is no need for multiple calls to the same evaluator object in the future, I will be happy to change it in the next patch series. Zoran