Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:85764 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 7838 invoked from network); 10 Apr 2015 04:26:35 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 10 Apr 2015 04:26:35 -0000 Authentication-Results: pb1.pair.com header.from=dragoonis@gmail.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=dragoonis@gmail.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.220.172 as permitted sender) X-PHP-List-Original-Sender: dragoonis@gmail.com X-Host-Fingerprint: 209.85.220.172 mail-qk0-f172.google.com Received: from [209.85.220.172] ([209.85.220.172:36717] helo=mail-qk0-f172.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id A3/A1-28833-AF057255 for ; Fri, 10 Apr 2015 00:26:34 -0400 Received: by qku63 with SMTP id 63so13342612qku.3 for ; Thu, 09 Apr 2015 21:26:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=SyLJ57yDroMpWfljVLhB383EeZ2rCWL9GEW13n67H2k=; b=jHucoAlIHUUqNGvXE8AjXu/2bVe9FfWYDuCS9VLUYsm42kuKGZ2kzIQ+V02T/PKFIo jA7KgBDs0TXi6ZYAU02o0FKb9LglM/CimWYP0JBvr63/WDIhMR2SyawaiCs7nwhazjBY va1uF/YZQB5DsFz6ECln0Mz616XrgidTcGqvKZSfVkd3FeG7ZIDFCR1XvtaoPs1I9gt2 w1oUYDG0bqgaUfpBj484NH8nBLgTYzJ7/YjM5bVj62ayaRCUWjrfI04WZDUj52CR4CBn FBH+JSKJFBeeujHLOont2nROz1aDLGWQLNMbmmJCxk9nTo2vn4FB31I5rN8+V1naRk1D 4rQQ== MIME-Version: 1.0 X-Received: by 10.229.81.1 with SMTP id v1mr10426730qck.27.1428639991127; Thu, 09 Apr 2015 21:26:31 -0700 (PDT) Received: by 10.229.232.198 with HTTP; Thu, 9 Apr 2015 21:26:31 -0700 (PDT) In-Reply-To: References: Date: Fri, 10 Apr 2015 05:26:31 +0100 Message-ID: To: Dmitry Stogov Cc: Xinchen Hui , Nikita Popov , PHP Internals Content-Type: multipart/alternative; boundary=001a1132ff9c2ee3bc0513572bce Subject: Re: [PHP-DEV] _call() and __callstatic() improvement From: dragoonis@gmail.com (Paul Dragoonis) --001a1132ff9c2ee3bc0513572bce Content-Type: text/plain; charset=UTF-8 Hi Dmitry, Although I recommend against the usage of __call/__callStatic from a quality assurance perspective (part of my job), it's reassuring to know that these methods have received more attention in terms of stability and stack handling. After reviewing the code I'd still like to better understand the use of the term trampoline and when it's appropriate to use zend_get_call_trampoline_func() over the existing zend_get_user_call_function() approach. Many thanks, Paul On Fri, Apr 10, 2015 at 12:20 AM, Dmitry Stogov wrote: > Hi, > > Please review the patch. > It improves implementation of magic __call() and __callstatic() methods > using bytecode function with trampoline instead of internal C function. > > https://github.com/php/php-src/pull/1234 > > The patch is more or less obvious. > I'm going to commit it tomorrow evening. > > Xinchen, you may also try to add support for Closure::invoke() (as a > separate patch). > > Thanks. Dmitry. > --001a1132ff9c2ee3bc0513572bce--