From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id kWlpMvh/iWBwKQAAWB0awg (envelope-from ) for ; Wed, 28 Apr 2021 11:32:08 -0400 Received: by simark.ca (Postfix, from userid 112) id C01EB1F11C; Wed, 28 Apr 2021 11:32:08 -0400 (EDT) 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 B6D161E01F for ; Wed, 28 Apr 2021 11:32:07 -0400 (EDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 0D40C393D025; Wed, 28 Apr 2021 15:32:07 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 0D40C393D025 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1619623927; bh=jtkawNgcKnwpyUWXHRn2tnjox1BVGZoSx/Se8yGtVtc=; 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=lFs3g2beOLKeosUiNl8cDjMprZ6XNRan2lODRVckOO1EEGE+Ur1LWCokvPa5Q1t97 MyaV0+5Gh9artK/i9sfkgmKrMdbrLGrJW+h6ZK9IXLB9hPCyThAkaIIFJsP1j5ZeeM jlHRQC0aftD11801qnGZl1NHLpRwzaKh6F7EHX7g= Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12on2062.outbound.protection.outlook.com [40.107.243.62]) by sourceware.org (Postfix) with ESMTPS id 0CA553A77C3D for ; Wed, 28 Apr 2021 15:32:04 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 0CA553A77C3D ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VxZMKcnmoDdxuIuRvLim7/eRIl7yejGggPxRTaoqA6Wf3J73Zvrph342IgVZt4eKSvrLRJcgrjpo9ZQJYaB1xnciibd+NMNLKnV4CJzESPy8C/w61DVdaMRtq6SYGQ5OtxSBYvzAvBcllumwnFPEHTZc5h2obl8WWlIpEk1bwWEiDyCldGADyvYxSOLGq25NxMu9U4wLI6CDpu2tqeF/A76Kh75ChA0/AgDLD8lIsiaiXmGqgjcEw5cJ7rbJpq8coBfSSG5cLhaJU6RpFEGfe+3rT5AAI0yWs2JqFs4gXLAbH8gF+i5GvXFaXsYu7M4l01f7GM+PpycO886X2RMHAQ== 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=jtkawNgcKnwpyUWXHRn2tnjox1BVGZoSx/Se8yGtVtc=; b=CRUIwvU2FXWwjUlAJTO9GOQh9zZt2CxwfI1iIqqhqPBAkXM8YNUTXxNOc8DF4fHcYky0J2Rv3gKPxzeEVkPZzUHqT0GtfpwBXDVjP9+2ajyGvNn1/f0vJeHQCzUe/ghSI9ajZNjr1/w7O+g6u/XgbEeZSAzdTFFRff9xeN9PRs9VxzXl3WGOqwIhsQDA1FBOJRs/ZIhdFB27eSKlQS9FwZHLU6zHpqy4BI+KMsGWIAQIncLWHEtsHIzgK7ULCVJKHVQPLgIW4NEIf6YozsaKJ3LhDqGcgmsnhlzr6vD4lLgo491s9K5n6mWnFoG+5jeOkS+rn8LGef3YdqpWfEcoDg== 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 DM5PR1201MB0042.namprd12.prod.outlook.com (2603:10b6:4:50::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4065.20; Wed, 28 Apr 2021 15:32:02 +0000 Received: from DM6PR12MB2762.namprd12.prod.outlook.com ([fe80::49d0:1ee5:47ef:e0e5]) by DM6PR12MB2762.namprd12.prod.outlook.com ([fe80::49d0:1ee5:47ef:e0e5%7]) with mapi id 15.20.4065.023; Wed, 28 Apr 2021 15:32:01 +0000 Subject: Re: [PATCH 01/43] Replace the symbol needs evaluator with a parser To: Simon Marchi , gdb-patches@sourceware.org References: <20210301144620.103016-1-Zoran.Zaric@amd.com> <20210301144620.103016-2-Zoran.Zaric@amd.com> <33656bad-0e3c-95eb-1dcf-5357cf861422@amd.com> Message-ID: <206ff357-71fd-e5ef-1b5e-294bc22c3166@amd.com> Date: Wed, 28 Apr 2021 16:31:56 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.9.1 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Originating-IP: [2a00:23c7:5a85:6801:f5b0:44e8:2b3e:76c1] X-ClientProxiedBy: LO2P123CA0062.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:1::26) 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:f5b0:44e8:2b3e:76c1] (2a00:23c7:5a85:6801:f5b0:44e8:2b3e:76c1) by LO2P123CA0062.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:1::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4065.25 via Frontend Transport; Wed, 28 Apr 2021 15:32:01 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 656b542a-3548-4402-4a6d-08d90a5ac4f2 X-MS-TrafficTypeDiagnostic: DM5PR1201MB0042: 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: XonjYnsvPHx839rf52Q348j+rKsAnCxGXSi8oxUN/Z0wzWSXDGRU2aJqc1c80LiQdjK0T5iKYpMHHNYNw8EMppTdj1fwQAOuawdJlJ8eOMYYLNyMiS7cl7Uz9Es8FdsopNulLlK4cXpuVxXJbvRJD8J3ARXcyWMBSu1pnnWX3PKLha6nmsynpjarwPA7ik/HX4OCJzW19pA33Pb89EBhN7trJvKGuZKASFmsYqK1vsnfU+DGDHBrhkvqerpMJER2sJx1N/CIpqifz7CmNHBbxDRQx4Mjm4AdDILwdziLran51B1dxqTBTAO8I1suMTGswl7P8q8UjkwfhHpWwNvtMl6myYn/+B3wZxWBhey3Fb6EFd9fRfxLkdIGkGH/Z/SJTMX/jb3qscKosHi9CfVdGt5SPvAXeXNjv4mgeHKNvCp/36JUW10Yr4UA7Vg7DFWX9gEUcynV6CxJkMXNG2PI91IA1eAwsXsCkFLi5fDb9SRPgl+iG5KIO7yyc5cekkoZF3scxnDe6xX3wMBDT/rixndAx28UkqbXDSh6W9oJMEBFNVOVe5UQiPl83BhHmLUjuZQOJ6YC0eq6KOM+HBbg6lgdKpWpTSPDnt2uROYRkM6qdfiFD0THZn6WBRSv3CTMM4l5guAqXlfZb044vFvkRksBvUAMEr13ihlvMtdRUVHmztwxz7V7otgMrs9HZBs5 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)(396003)(39860400002)(346002)(366004)(376002)(66476007)(31696002)(478600001)(66556008)(86362001)(31686004)(6486002)(38100700002)(8936002)(16526019)(186003)(2616005)(6666004)(2906002)(8676002)(316002)(36756003)(52116002)(5660300002)(66946007)(45980500001)(43740500002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: =?utf-8?B?Z3QyK25zZ2VxQ2htV1RJUmRCZkFNQ04zTVVNb0dyUXRHMGlWUSszVjRSZ1BD?= =?utf-8?B?RmswVkozcEZOVFJid3RSekw4aU5LdHBEdlJ6UVBHK1VVVzEyQm1ERS9SZjkv?= =?utf-8?B?VEtPQ3JMZW9pL1I0cE1oaHkzbTRHSy92UTVFT3hscTg2NFMyY3J5b2xBZm41?= =?utf-8?B?N2dvMG5RSFBpVGVWN1UwTS8vWXMvL0VaQWVtUWVlbUxmOHBHcDdtZkdvUEpl?= =?utf-8?B?aXZrK3NvYVlvbitueW1TUWtheVZZZDhPSEI3VXViU2p6cHl2aENRWW9mMzBP?= =?utf-8?B?U2FzR2R1SWo5MEMxYnc5cEZEQ1lZQTBGMnFINkFGbTJ6VU9HYk5VQTRaMFNJ?= =?utf-8?B?TkxDMUpYN0x1ZlN6SURvNnJCTUU3UTEyaUJnaTJVWGhhbzJiMzN2TDUrbEg1?= =?utf-8?B?SUdWd2dRSmcvUTBYamord1V6b09QNXZ6QkNFSjhac2J2OGlIVDVjNC90WnFi?= =?utf-8?B?ZGNhdFFuL2VHNWdxYlZrblE1dzZmemh0Mi9DYzdWa2lkdTZBTXNTenBwRFpa?= =?utf-8?B?Z0tLbFVJU0ZWSjY2VWpZMFBCS0o0eVNBVngzZ3ZoZUNTeENzM2JIeXJMY1p6?= =?utf-8?B?M3g3bkNvQmhwcjdRUk0ybzVwU2sxUml5bnJiMWdLTVJUMS9TRmZLY3J0ZE1G?= =?utf-8?B?SkdEQ09ncm53Q1hYbkVDU0pmVW01WXhMWE5mVE96RlFFeWVMWDRNTHRMeHZB?= =?utf-8?B?QmZKVFpsOUZSUlpLbmdzbjEyVW9OSGdmbHNLam1HYUwvRjBZdzhSRXJBTVQ4?= =?utf-8?B?dEUvN2JUVXlJV3pxUDkwb1BYb2hwN2UrUkdtYjRWQ256UVpaMjF6cUpydW9z?= =?utf-8?B?Um91RHBFTlU1bzdNakFMQ2RrV3ZiR2FFelNRNVBNTnhqc0diRG9uT21sbWhL?= =?utf-8?B?c281OVArRjdUb2p0MDFVK1JEanp5b1o0c3FxcnZiQWs1MnI1THpCcDJYR3Vj?= =?utf-8?B?ZTA1S1N4YmZIS2dEU3JYV2ZFS2hkN3EyNXpjQ3BUTUltZmMwcjliMzVMbUVK?= =?utf-8?B?NjJ6MjJZenJVcnNqZUdsMGlXSEd0TUxrSUxGQVFvUGhPeVEySzJJUER4dnQ4?= =?utf-8?B?eGpCNGVnZXFuTnRoVmdId1VPRFRSZU9vTnc2R1pwUytCaC9jaGgvclFTQnM0?= =?utf-8?B?S3Roak5NamsxR3pabzliblVpVjdhR2xBYnMrMmVieDVxWDJ5Y0g2UzQvNTBh?= =?utf-8?B?ai81Y1BnRTZVSHBrQS9uRHRJWDhJSGpweDh6VFh2ZU1vR0tTK2tXSmEvTUZM?= =?utf-8?B?Q1dtUGJmSzZEa2dnVm5UNzV3OGJvOGw3VnN2eUNYaHk3ZHg4dmVQT0txaU9y?= =?utf-8?B?ZnpEejlkOUlNcEFoZUkvdDZJSHl3WkFZeUFuQVdWa0U1MzBQdjE2UDM2bGw0?= =?utf-8?B?RUdCTVg4M2N0STRod29md0lpcUw0QWZRa0c2cWFvZFdSK1Y4VnpBUGxsejNG?= =?utf-8?B?bFlNallHUEhxemJoZ3hpdy95S2VwSFdJL0NjazdhV1gxTHhGOS84TzN0dGlO?= =?utf-8?B?anU4Sm4yNlZOS0lZL3RtbUt6Q2FwWGd1UjYwOHI4ckp6REFnNTBhM3pGb29M?= =?utf-8?B?aVZGVmxEM09aMzBUeFBGc1IxUy9Nd1QrVTYvYTU0NXZOQjZFSHRhd3NKNjFr?= =?utf-8?B?SmlITmJWcW5wNmJJSkZXblA1WmxnVmxnakxIckwyY09hZFhBbFhSeFl0aW4v?= =?utf-8?B?WDREeDFuME5zQ0VhTitWSlNmLzRUOGduUGlBNUtSZVRMNG5hVkhVQ2h6am1k?= =?utf-8?B?amVwRHY3Wi9IakN5NXBaYWpoODZ5MExNekNNaEtyYm1Fd3g0WXpvODZFSWk2?= =?utf-8?B?Q05IZ3lxelV5dmZ3ZWpkOTZjcEtnZHJvcGhyenIxMHpKL3laNzN1SSs3YXFO?= =?utf-8?Q?T4YtMapYFYSAL?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 656b542a-3548-4402-4a6d-08d90a5ac4f2 X-MS-Exchange-CrossTenant-AuthSource: DM6PR12MB2762.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Apr 2021 15:32:01.8852 (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: BXs820YQgl0zRIqA/KDfbvYtkOAvfDt43HP159fQW5iFiClJYkz5EdgYSC+cgyO4AmPyVrvGBTk/aVP6XULa9A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR1201MB0042 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" > Although that depends on the semantic we want symbol_needs to have: > > - find what's needed to evaluate the expression in the current context, > only in the branch that would be taken right now? > - find what's needed to evaluate the expression in any possible > context, considering all branches? > > Simon > After thinking a bit more about it and speaking with Simon offline, I realized that there is a bit more complexity here and I am not sure what is the right answer to this question. In the first case, if we decide to split the patchset in two, where first part would be the general cleanup and the second would be the evaluator redesign, it would make sense to go with the control flow idea so that we have a more robust implementation at the end of first part. For the second case, the control flow idea would be the only way to go, but that would mean that it never goes back to the evaluator mechanism. I am not sure how this mechanism is expected to work and considering that the previous implementation didn't cover any of these two cases properly, I am not sure what to do here. The control flow implementation sounds easy to implement, but is that what is expected? It also forces one more big switch statement that parses the expression to be present. Zoran