Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:91743 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 8383 invoked from network); 18 Mar 2016 07:36:24 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 18 Mar 2016 07:36:24 -0000 Authentication-Results: pb1.pair.com smtp.mail=dmitry@zend.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=dmitry@zend.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain zend.com designates 157.56.111.138 as permitted sender) X-PHP-List-Original-Sender: dmitry@zend.com X-Host-Fingerprint: 157.56.111.138 mail-bn1bon0138.outbound.protection.outlook.com Received: from [157.56.111.138] ([157.56.111.138:58895] helo=na01-bn1-obe.outbound.protection.outlook.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 6B/04-02405-5FFABE65 for ; Fri, 18 Mar 2016 02:36:22 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=RWSoftware.onmicrosoft.com; s=selector1-zend-com; h=From:To:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=2FYMxxTun2rR89WPE+whNNutYDojscmI24p1kTFGso0=; b=gwVNtiZST59Ktmlzq8l1uqgWnOc8+NIY7z6ckWkJWX2Gnj8qVj6cijXlz4ZHvBSj7syS/4BjL94fkEcTIoVdaGlCZsllr+00GKkW3EkJBHoV6CIrKlKLclv1oQoiYiwnfnJQrKDqOZ3PDh9IEuDNJTCX1usj/97yUGnqwXUiI7s= Received: from BY2PR0201MB1784.namprd02.prod.outlook.com (10.163.72.26) by BY2PR0201MB1784.namprd02.prod.outlook.com (10.163.72.26) with Microsoft SMTP Server (TLS) id 15.1.434.16; Fri, 18 Mar 2016 07:36:18 +0000 Received: from BY2PR0201MB1784.namprd02.prod.outlook.com ([10.163.72.26]) by BY2PR0201MB1784.namprd02.prod.outlook.com ([10.163.72.26]) with mapi id 15.01.0434.020; Fri, 18 Mar 2016 07:36:18 +0000 To: Lin Yo-An , internals Thread-Topic: [PHP-DEV] Object getter method optimization Thread-Index: AQHRgL1CHqvU9JYTqUmE//kwh6SMdJ9ezu2r Date: Fri, 18 Mar 2016 07:36:17 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=zend.com; x-originating-ip: [92.62.57.172] x-ms-office365-filtering-correlation-id: 06935606-cba2-4ad1-2f37-08d34efffe67 x-microsoft-exchange-diagnostics: 1;BY2PR0201MB1784;5:EeArBRlwNT2OdGXWPFIwyBXKXLj7Fm524xRXtN4zs5yW76LO8JPvvApRlInShpVrse0L5j9Jk6mtWmHWvDYY4OSLVa9LIIwWHNKw5aeOH5wbS9ehO+9HwpduR1oD+wy5jjEQgM4RJZT2DCGFeNyefw==;24:0tfD67zVG44KMVPG55sswzRUUH7BmrrCVXHw+REoCBONzpgTgZ+XlNF1cLcSthGETqnTFBDG/EFmbGKUZqpqscfoNURdxJhkRqS/oh2u16k= x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY2PR0201MB1784; x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:; x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046);SRVR:BY2PR0201MB1784;BCL:0;PCL:0;RULEID:;SRVR:BY2PR0201MB1784; x-forefront-prvs: 088552DE73 x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(6009001)(53754006)(74316001)(11100500001)(3660700001)(3280700002)(3900700001)(5004730100002)(5002640100001)(77096005)(5003600100002)(15975445007)(6116002)(102836003)(3846002)(92566002)(1220700001)(586003)(99286002)(87936001)(66066001)(5008740100001)(76176999)(50986999)(54356999)(86362001)(81166005)(76576001)(5001770100001)(2950100001)(10400500002)(122556002)(2900100001)(106116001)(19580405001)(189998001)(19580395003)(107886002);DIR:OUT;SFP:1102;SCL:1;SRVR:BY2PR0201MB1784;H:BY2PR0201MB1784.namprd02.prod.outlook.com;FPR:;SPF:None;MLV:sfv;LANG:en; spamdiagnosticoutput: 1:23 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: zend.com X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Mar 2016 07:36:17.3986 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 32210298-c08b-4829-8097-6b12c025a892 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR0201MB1784 Subject: Re: [PHP-DEV] Object getter method optimization From: dmitry@zend.com (Dmitry Stogov) Hi Yo-An Lin, Unfortunately, this approach won't work. At first, at compile time we don't know the body of called getter. At second, the called method might be changed even at run-time, because of = polymorphism. Tricks like this might be implemented using JIT and polymorphic inline cach= es. Thanks. Dmitry. ________________________________________ From: Lin Yo-An Sent: Friday, March 18, 2016 05:23 To: internals Subject: [PHP-DEV] Object getter method optimization Hello Everyone, I am recently trying to write an optimizer that could optimize the getter method call into just one object fetch opcode. I'd like to know thoughts from you guys, here is the note: https://c9s.hackpad.com/INLINE-OP-TVGo9WcshbZ -- Best Regards, Yo-An Lin https://github.com/c9s