Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:34232 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 42774 invoked by uid 1010); 23 Dec 2007 13:41:41 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 42759 invoked from network); 23 Dec 2007 13:41:41 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 23 Dec 2007 13:41:41 -0000 Authentication-Results: pb1.pair.com header.from=chris_se@gmx.net; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=chris_se@gmx.net; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmx.net designates 213.165.64.20 as permitted sender) X-PHP-List-Original-Sender: chris_se@gmx.net X-Host-Fingerprint: 213.165.64.20 mail.gmx.net Linux 2.6 Received: from [213.165.64.20] ([213.165.64.20:58236] helo=mail.gmx.net) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 6A/63-12793-2956E674 for ; Sun, 23 Dec 2007 08:41:40 -0500 Received: (qmail invoked by alias); 23 Dec 2007 13:41:37 -0000 Received: from p54A17F83.dip.t-dialin.net (EHLO chris-se.dyndns.org) [84.161.127.131] by mail.gmx.net (mp006) with SMTP; 23 Dec 2007 14:41:37 +0100 X-Authenticated: #186999 X-Provags-ID: V01U2FsdGVkX191+pNBZHN1UpPgUPyiyxCFLk254/WW65MFU6SCWA 7MI6wyW1aYmBh2 Received: from [192.168.100.118] (unknown [192.168.100.118]) by chris-se.dyndns.org (Postfix) with ESMTP id 7B3C87587 for ; Sun, 23 Dec 2007 14:41:49 +0100 (CET) Message-ID: <476E6532.5080402@gmx.net> Date: Sun, 23 Dec 2007 14:40:02 +0100 User-Agent: Thunderbird 2.0.0.9 (X11/20071031) MIME-Version: 1.0 To: php-dev List References: <98b8086f0712150818n40056cedyf0aae7a5a08a27b7@mail.gmail.com> <476582E6.7020808@zend.com> <200712172130.08216.larry@garfieldtech.com> <4FADC266-873E-4FD2-BEC8-28EA9D833297@procata.com> <476D2854.5070803@gmx.net> <503D0384-1014-4CD1-BCAC-8F0950D5FC68@bitxtender.com> In-Reply-To: <503D0384-1014-4CD1-BCAC-8F0950D5FC68@bitxtender.com> X-Enigmail-Version: 0.95.5 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Y-GMX-Trusted: 0 Subject: Re: [PHP-DEV] PATCH: Implementing closures in PHP From: chris_se@gmx.net (Christian Seiler) Hi David! > One question about the names you generate for the function table in > combination with opcode caches. [...] I now updated the patch so that this problem is addressed. You will find it here: http://www.christian-seiler.de/temp/closures-php-5-3-v2.patch The compiled functions are now named __compiled_lambda_$hash_$counter, where $counter is a per-file lambda counter and $hash is a hash made from the file name (see hash_compiled_filename in zend_compile.c, I wasn't sure how good Zend's hash function is with duplicates so I hashed the file name AND its basename - feel free to change that function if you have a better idea or know it's safe to only hash the filename itself because duplicates are too rare). Regards, Christian