Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:42709 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 38365 invoked from network); 19 Jan 2009 17:11:07 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 19 Jan 2009 17:11:07 -0000 Authentication-Results: pb1.pair.com header.from=stas@zend.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=stas@zend.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain zend.com designates 63.205.162.116 as permitted sender) X-PHP-List-Original-Sender: stas@zend.com X-Host-Fingerprint: 63.205.162.116 us-gw1.zend.com Windows 2000 SP4, XP SP1 Received: from [63.205.162.116] ([63.205.162.116:34605] helo=us-gw1.zend.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 1D/7F-50097-A24B4794 for ; Mon, 19 Jan 2009 12:11:07 -0500 Received: from [192.168.27.21] ([192.168.27.21]) by us-gw1.zend.com with Microsoft SMTPSVC(6.0.3790.3959); Mon, 19 Jan 2009 09:11:58 -0800 Message-ID: <4974B427.9070607@zend.com> Date: Mon, 19 Jan 2009 09:11:03 -0800 Organization: Zend Technologies User-Agent: Thunderbird 2.0.0.19 (Windows/20081209) MIME-Version: 1.0 To: Marcus Boerger CC: Timm Friebe , internals@lists.php.net References: <155749706.20090117211737@marcus-boerger.de> <4974440E.3060402@zend.com> <1534507524.20090119130641@marcus-boerger.de> In-Reply-To: <1534507524.20090119130641@marcus-boerger.de> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-OriginalArrivalTime: 19 Jan 2009 17:11:58.0607 (UTC) FILETIME=[097461F0:01C97A59] Subject: Re: [PHP-DEV] Method call improvements From: stas@zend.com (Stanislav Malyshev) Hi! > Nope. But sometimes we are in a scope where it is always the same thing we > call. Or at leats a one of the three things are constant. And any of them > being constant would help. Well, object can't be constant, so only thing constant can be method name. We have it in opcode. Everything else depends on object, and since we don't know the object in compile time we couldn't put more in opcode. We could cache some things in runtime - though not inside opcodes. >> having only one handler table per class would make objects less flexible. > > How so? Tell me any case where that is different right now? Now handler table is per-object. > Right now every member of a class tree (each class derived from a specific > base class) has the same handler table. And that cannot be changed becasue > each of the class members have the same creation/destruction c functions. These C functions can have if()s which may produce different kinds of objects. -- Stanislav Malyshev, Zend Software Architect stas@zend.com http://www.zend.com/ (408)253-8829 MSN: stas@zend.com