Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:107977 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 50847 invoked from network); 3 Jan 2020 17:27:18 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 3 Jan 2020 17:27:18 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id C1B5818054B for ; Fri, 3 Jan 2020 07:31:28 -0800 (PST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-0.5 required=5.0 tests=BAYES_05,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS, SPF_PASS autolearn=no autolearn_force=no version=3.4.2 X-Spam-ASN: AS8075 40.64.0.0/10 X-Spam-Virus: No X-Envelope-From: Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12olkn2078.outbound.protection.outlook.com [40.92.23.78]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Fri, 3 Jan 2020 07:31:27 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iN/J7M5NU0F6brfsBfCbEIFnZfgEDk6lFhAzFk+6QJ4ax6eDSLsgOfhAuOYeBdEeRXQg7ZeM4ziPhQYsKiV0krwroDSeZgElT3HcyKyobCftvdr9K+Ar1tfY32oBC3ATqzFucgNEwNDjvy2FVR7ntf5OVTDJTshz/X2YvolQSd5oNsvfGRr90kbvNr97S7kqW6uhKELXkEWx7zJwBMDJqxiyxbUlevbVWxyKglvQN/zZ8xW3QfyumhZTdgyYsqnih+xki6FQb4tzZMcDDIV2dZoCC1b+kpEGkgjAvVot5MmmxnrN+aGGLBMYlotIC+BD1C2TgvM/pwOvx9GkPZDA0Q== 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=BgOtIDMWA3FbgKzbw7u4+r+82ubNp5B9UVaSJ4UVhUQ=; b=nItPeugJjBs0r9eht9cD2+ThVCiyUmtTVF3A6toiU3uv1tyBqPGhrBdKWzCwzJFjtJRBAkIwHuojT4/eillquBbliLSKJOd6eLCYVec7zKn1brq9houbRWTf9ApY0v56XCoYDNPuwCTKUkytJ7buTWrsF0LlUXt4SRwrxYRQFUTiCFHuAR6NK4rlieHKVCDhDG+HMzTkxwKD3HRwQRsAeurzbzy90GpcA8VbHbm8iiEH1LDeJyXU1Sa2kD+JNqof1/ql57rsgZygY0iBDSNGUS3sKtHA4fWelpFqN2f123SViQy6SpkhaNnQMO9mCyr0gI5+6nnPHHQhrASaRqc32g== 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=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=BgOtIDMWA3FbgKzbw7u4+r+82ubNp5B9UVaSJ4UVhUQ=; b=Ose9mcrfNnfm+HV+VXxLeYj5DPilVKNOnmHJwKZUgIHek5TC59YHfInEt2SJY2dEB+Sh4VQz0XTKqXWcNzD016JuGonvlinBcL3Re0vTmVLwkMD0pu6gIgQL5aBS8VNy7RI8J+c6keohe2Fa9o4jyZf5/jXIQZoq9h4jP/aeE2OY8FiNR6ChydBN1bjD8dzWYiSUXzLKB7R55tfh5JESMN50r0EQmJNdBFuAh7SVEwz14A7QksveVygTrrmp+10NvEavm7uEDguhhH+9ZGDFCG8dqXbmDFPOQ1BP3cD8eazUW3q3wb8mohXZcEoioCb6uYTcjD7/19iGPUS42cUstQ== Received: from BN8NAM12FT050.eop-nam12.prod.protection.outlook.com (10.13.182.55) by BN8NAM12HT189.eop-nam12.prod.protection.outlook.com (10.13.183.192) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2623.4; Fri, 3 Jan 2020 15:31:26 +0000 Received: from DM5PR07MB3067.namprd07.prod.outlook.com (10.13.182.57) by BN8NAM12FT050.mail.protection.outlook.com (10.13.182.143) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2623.4 via Frontend Transport; Fri, 3 Jan 2020 15:31:26 +0000 Received: from DM5PR07MB3067.namprd07.prod.outlook.com ([fe80::29e3:53bf:163e:5beb]) by DM5PR07MB3067.namprd07.prod.outlook.com ([fe80::29e3:53bf:163e:5beb%3]) with mapi id 15.20.2602.012; Fri, 3 Jan 2020 15:31:26 +0000 To: Nikita Popov , Rasmus Schultz CC: "internals@lists.php.net" Thread-Topic: [PHP-DEV] Autoloading functions/consts without a performance impact Thread-Index: AQHVwdV5EmiXz0tOK0a5kq9yFNlY0qfYrlgAgAAeJ4CAAAQqgIAAPy6g Date: Fri, 3 Jan 2020 15:31:25 +0000 Message-ID: References: , In-Reply-To: Accept-Language: en-CA, en-US Content-Language: en-CA X-MS-Has-Attach: X-MS-TNEF-Correlator: x-incomingtopheadermarker: OriginalChecksum:982EF2E6680E4580771A480CC68F9B32AB518508B7F2F5407B6C690E025A9DDA;UpperCasedChecksum:14CBC5D80875BAC56CA308A0F62CA0EF764944BEB525DFE7453336BA522460A2;SizeAsReceived:7470;Count:46 x-ms-exchange-messagesentrepresentingtype: 1 x-tmn: [NiuYU6SEpmmQz33yvX4RL6zKAOrXKGF8HLQwN+n8V21OhVekCamOUYaxFgi/sdeI] x-ms-publictraffictype: Email x-incomingheadercount: 46 x-eopattributedmessage: 0 x-ms-office365-filtering-correlation-id: 7962eb2a-0050-499b-4424-08d79061ff0e x-ms-traffictypediagnostic: BN8NAM12HT189: x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Y234WzW1ILNSdenRRceqPRcoM9+w5rKrBI9Hn4p6JwHQdNlnJg3ZRzWObzsXqnMYXxqF5Jng/AKGZbHC12g7vxvfCicP6qqFJUz8co8Blw54vZUlY2lkB9MvcrMZb3sT+0lp74s1jV8syZPyFLWEkmHzANfj20+ao41w6aYjQD059+YhZwFV3styWfIJ+XhY x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: hotmail.com X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: 7962eb2a-0050-499b-4424-08d79061ff0e X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Jan 2020 15:31:25.6439 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Internet X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN8NAM12HT189 Subject: Re: [PHP-DEV] Autoloading functions/consts without a performance impact From: tysonandre775@hotmail.com (tyson andre) > If the call to foo() is simply treated equivalently to a call to A::foo()= ,=0A= > then this may have some quite surprising behavior: =0A= >=0A= > If A::foo() is an instance method, then this call to foo() will inherit $= this, =0A= > which is something that normally does not happen with free-standing funct= ion calls.=0A= > Possibly this would need a new call type that enforces that the method is= actually static?=0A= =0A= I do like this approach. A new call opcode would make sense for that.=0A= =0A= It won't help for internal functions or their polyfills such as mb_strlen()= , etc.,=0A= so autoloading functions would still make some sense if that approach was t= aken.=