Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:38135 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 70341 invoked from network); 10 Jun 2008 12:23:16 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 10 Jun 2008 12:23:16 -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 212.25.124.162 as permitted sender) X-PHP-List-Original-Sender: dmitry@zend.com X-Host-Fingerprint: 212.25.124.162 mail.zend.com Windows 2000 SP4, XP SP1 Received: from [212.25.124.162] ([212.25.124.162:7083] helo=mx1.zend.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id D6/49-15621-2327E484 for ; Tue, 10 Jun 2008 08:23:16 -0400 Received: from ws.home ([10.1.1.1]) by mx1.zend.com with Microsoft SMTPSVC(6.0.3790.3959); Tue, 10 Jun 2008 15:23:15 +0300 Message-ID: <484E722D.1090804@zend.com> Date: Tue, 10 Jun 2008 16:23:09 +0400 User-Agent: Thunderbird 2.0.0.14 (X11/20080501) MIME-Version: 1.0 To: Nuno Lopes CC: PHP Internals List , Andi Gutmans , Stanislav Malyshev References: <484E617D.6080508@zend.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-OriginalArrivalTime: 10 Jun 2008 12:23:15.0723 (UTC) FILETIME=[C217CDB0:01C8CAF4] Subject: Re: [PHP-DEV] [PATCH] Executor improvements From: dmitry@zend.com (Dmitry Stogov) Nuno Lopes wrote: > Out of curiosity, what's the slowdown without fastcall? fastcall calling convention assumes passing parameters in registers instead of pushing them on stack. Thanks. Dmitry. > Despite the potential slowdown, I still think this is the way to go. The > engine isn't supposed to crash! > Nuno > > ----- Original Message ----- From: "Dmitry Stogov" > To: "PHP Internals List" > Cc: "Andi Gutmans" ; "Stanislav Malyshev" > Sent: Tuesday, June 10, 2008 12:11 PM > Subject: [PHP-DEV] [PATCH] Executor improvements > > >> Hi, >> >> The proposed patch for PHP improves the executor. >> >> At first it eliminates direct execute() recursion so the following >> script won't produce SIGSEGV anymore (It'll produce memory overflow >> error instead). >> >> > function foo() { >> foo(); >> } >> foo(); >> ?> >> >> Note that in case some extension (e.q. xdebug) override zend_execute(), >> VM will use recursive calls. >> >> At second executor now uses "fastcall" calling convention, and as result >> it gives ~5% speedup on bench.php (~3.8 sec instead of ~4.0 sec) >> >> Any objections? >> >> Thanks. Dmitry. >