From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Arthur Miller Newsgroups: gmane.emacs.devel Subject: Patch: Elevate elp--instrumented-p to public API Date: Mon, 04 Oct 2021 16:21:39 +0200 Message-ID: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="16326"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Oct 04 16:23:14 2021 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mXOs3-000404-TQ for ged-emacs-devel@m.gmane-mx.org; Mon, 04 Oct 2021 16:23:13 +0200 Original-Received: from localhost ([::1]:47342 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mXOs2-0000Yk-Sh for ged-emacs-devel@m.gmane-mx.org; Mon, 04 Oct 2021 10:23:10 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:49216) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mXOqn-0006mS-RX for emacs-devel@gnu.org; Mon, 04 Oct 2021 10:21:54 -0400 Original-Received: from mail-oln040092067086.outbound.protection.outlook.com ([40.92.67.86]:64128 helo=EUR02-AM5-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mXOqi-0002Xc-QI for emacs-devel@gnu.org; Mon, 04 Oct 2021 10:21:52 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZqI4FXM0TGO5N/kDbjP2z6bWGI4k2Om0WYn+yzkgz4pksoPJ+n41Tu9YP5TWHqRVlfeVljhDQ71UDIHPcUnp4cLvaGF4pyBFd7Whnaj83BHclHQLOaRYwGDbcxjRnNvz+bh4UUf2480rVBO0nzJkONcMI8M9056Xf9WN0pndbJxlAC0pFimQeaYeSWZ6ahNX11clWQrGltGr+uwSx7MPUVZPbvz1NFhOn9iHVeKe+czO9YoOkx898TOVXTupzEtf9ZfC+18d26jwNGH0WZIMQnYC7Qsign80+m27SwyxlpmATjPgwbvp4KAgj2DbKg8LWh3OanA5Elpjf9gCNe/lTA== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=XItcDxzrRzXwPgYC4J6qZUvkv2j61anZqo81Ki8msEo=; b=Ukm3w14nNe2JEXYI7e3T6kJSBGaho+aM6wibVpXiNbJHTuV0GAp1ElJ2dhDfi8T8aU84RopTxB9DV/QswF7KurGlO8nh34fJFoYR+bLoNFK81G8/QVjCY3JvXKW1ODqGLAciUNIwKEbc+2s/xgfc3rKpDYokwAQ3CznDszGqJN9S0emlHzGaUAFTeGpPjskQQoieQ+fGxE4m5Hz6+3pgLJeUFkNxy/cSDagoU5i8bNREt33CxOnwDH3AnyCUbyPq/MIX3g4S/oCcavDZajf38P7JhEhPmILwk1A5SmVADR8E74+bzAlbs6qUJBsmN7xoMEDYxR2VwqYAXYUzHxVRTA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=live.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=XItcDxzrRzXwPgYC4J6qZUvkv2j61anZqo81Ki8msEo=; b=Xuj4IxCnH7WgCBEnfUvF7RbTYlDzwqslecP6kzhjIKsgCqCVRHkmD/Cn23WH28vYKfvzcHNzuNK/YJhmrZmGsgqnyEzMTWqdxsOEmR43K+Ymsg7FdDhME09UmuIFwIDxqrB4qPE7SVCE5/rFHfvHl2kqFX89I5fgHegX9QEg4xGmjIOQnEHIAoto8cq4kiopcxyDll7ln0yLaQpF1RKFf9Ae8dngpEHik1Cm1OG2RFPFDs8tOeBOgRNxgdm+wo8X9lK8bMcEmj7ZyaHkTb6jr8juTzo4lshDzWKnslOyKHX+f8EWtow1nkKt1Tyx3GutRSiSa7aygCdU8hRL3LWFcg== Original-Received: from AM9PR09MB4977.eurprd09.prod.outlook.com (2603:10a6:20b:304::20) by AM0PR09MB2898.eurprd09.prod.outlook.com (2603:10a6:208:132::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.14; Mon, 4 Oct 2021 14:21:40 +0000 Original-Received: from AM9PR09MB4977.eurprd09.prod.outlook.com ([fe80::c05b:e2ca:5b8a:56d2]) by AM9PR09MB4977.eurprd09.prod.outlook.com ([fe80::c05b:e2ca:5b8a:56d2%9]) with mapi id 15.20.4566.022; Mon, 4 Oct 2021 14:21:40 +0000 X-TMN: [ZNhKy4PYSP8Yk1wE12FrpBHM3ukKNpan] X-ClientProxiedBy: AM6PR02CA0007.eurprd02.prod.outlook.com (2603:10a6:20b:6e::20) To AM9PR09MB4977.eurprd09.prod.outlook.com (2603:10a6:20b:304::20) X-Microsoft-Original-Message-ID: <87zgroswek.fsf@live.com> X-MS-Exchange-MessageSentRepresentingType: 1 Original-Received: from pascal.homepc (81.232.177.30) by AM6PR02CA0007.eurprd02.prod.outlook.com (2603:10a6:20b:6e::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.13 via Frontend Transport; Mon, 4 Oct 2021 14:21:39 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 9cba1ab8-0129-458b-8102-08d987424829 X-MS-TrafficTypeDiagnostic: AM0PR09MB2898: X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: PheUiqhkPJoQ08w6hzLK1AEL1PJW6ICTR4KTSS534YWorsRy+8s2I0WQ2+1i6k9CB1wCHNz3u3QdylzbTWnoVqQbQJc8zNNdLCdoZBV3coUqVOyMlCpuytpI2vbz67d4cZMmK19P53X0FO986DgxKLD6glbh5SnRFiBuycCGARedqk0PDSE+ESW0UQ2/0+4dnO8iKxtilUf5+dQHLBkk4Fs8utTJ1Q0sa6mu3oLYLP9aou8gneahY2k2r/D0oIzZJJ6zqLUM/glRpCdNMNFGg51I6sI40tjU15Brvfo9Vqt68yKYCpXYOC7T3YeHCf8TqojZWIW+pg8TZyvogP8lUA7fViG1MtyNbk0kblUGIpXaPD8Hfo5rFpxc6Ij/n/sIE03aA2lDVOyw1WwIyNLtDUpqKXuJRkApMfLExeFt3n4LGou3q2yIgLdRRNcqq4Ki X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 7M3k9vIBt02y4TPOrfIl7rJSCDToPp1D9HMZCVpnnSAW5tEsiSMSBiGEvVuSFI3BQVl6knU3Lrb5q48FITIgAkVv3d93aOxXV/bBoRlZCwbqW+eKPnI+wwQL/nBWgWjq37nEdCZLvcwUESbsE/iSJQ== X-OriginatorOrg: sct-15-20-3174-20-msonline-outlook-72e6e.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: 9cba1ab8-0129-458b-8102-08d987424829 X-MS-Exchange-CrossTenant-AuthSource: AM9PR09MB4977.eurprd09.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Oct 2021 14:21:40.1371 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR09MB2898 Received-SPF: pass client-ip=40.92.67.86; envelope-from=arthur.miller@live.com; helo=EUR02-AM5-obe.outbound.protection.outlook.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, MSGID_FROM_MTA_HEADER=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:276198 Archived-At: --=-=-= Content-Type: text/plain For a tooling purpose I would like to have check whether a function is profiler instrumented or not. Such is already included in ELP, but it seems to prefixed as a private to elp.el. Suggested patch prefixes it as a public API, adds some rudimentary doc and changes all callers to use new name. There seems to be no callers outside of elp.el. --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0002-ELP-Rename-Instrumented-Predicate.patch >From 6d3c3a37f70307110dfb7ad83f773e1689430483 Mon Sep 17 00:00:00 2001 From: Arthur Miller Date: Mon, 4 Oct 2021 16:01:52 +0200 Subject: [PATCH 2/2] ELP Rename Instrumented Predicate * lisp/emacs-lisp/elp.el (elp--instrumented-p): Add docs. Renamed 'elp--instrumented-p' to 'elp-instrumented-p'. Update all callers to use renamed function. --- lisp/emacs-lisp/elp.el | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/lisp/emacs-lisp/elp.el b/lisp/emacs-lisp/elp.el index 8c33b7c994..891f58582a 100644 --- a/lisp/emacs-lisp/elp.el +++ b/lisp/emacs-lisp/elp.el @@ -251,8 +251,9 @@ elp-instrument-function (advice-add funsym :around (elp--make-wrapper funsym) `((name . ,elp--advice-name) (depth . -99))))) -(defun elp--instrumented-p (sym) - (advice-member-p elp--advice-name sym)) +(defun elp-instrumented-p (symbol) + "Whether SYMBOL is instrumented for emacs lisp profiler." + (advice-member-p elp--advice-name symbol)) (defun elp-restore-function (funsym) "Restore an instrumented function to its original definition. @@ -261,7 +262,7 @@ elp-restore-function (list (intern (completing-read "Function to restore: " obarray - #'elp--instrumented-p t)))) + #'elp-instrumented-p t)))) ;; If the function was the master, reset the master. (if (eq funsym elp-master) (setq elp-master nil @@ -342,12 +343,12 @@ elp-set-master (intern (let ((default (if elp-master (symbol-name elp-master)))) (completing-read (format-prompt "Master function" default) - obarray #'elp--instrumented-p t nil nil default))))) + obarray #'elp-instrumented-p t nil nil default))))) ;; When there's a master function, recording is turned off by default. (setq elp-master funsym elp-record-p nil) ;; Make sure master function is instrumented. - (or (elp--instrumented-p funsym) + (or (elp-instrumented-p funsym) (elp-instrument-function funsym))) (defun elp-unset-master () @@ -516,7 +517,7 @@ elp-results ) ; end let* (mapatoms (lambda (funsym) - (when (elp--instrumented-p funsym) + (when (elp-instrumented-p funsym) (let* ((info (get funsym elp-timer-info-property)) (symname (format "%s" funsym)) (cc (aref info 0)) -- 2.33.0 --=-=-=--