Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:36188 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 88659 invoked from network); 18 Mar 2008 08:55:22 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 18 Mar 2008 08:55:22 -0000 Authentication-Results: pb1.pair.com header.from=dmitry@zend.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=dmitry@zend.com; spf=pass; 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 Linux 2.5 (sometimes 2.4) (4) Received: from [212.25.124.162] ([212.25.124.162:42955] helo=mail.zend.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id D3/5C-07136-7738FD74 for ; Tue, 18 Mar 2008 03:55:21 -0500 Received: (qmail 17568 invoked from network); 18 Mar 2008 08:55:16 -0000 Received: from unknown (HELO ?10.1.20.3?) (10.1.20.3) by cvs.zend.com with SMTP; 18 Mar 2008 08:55:16 -0000 Message-ID: <47DF8373.3000304@zend.com> Date: Tue, 18 Mar 2008 11:55:15 +0300 User-Agent: Thunderbird 2.0.0.9 (Windows/20071031) MIME-Version: 1.0 To: phpxcache CC: Marcus Boerger , Stas Malyshev , internals@lists.php.net References: <06B0D32C7A96544490D18AF653D6BDE502759A5A@il-ex1.zend.net> <28139bc0803171824r30c8a81asc9c63db9acd96559@mail.gmail.com> In-Reply-To: <28139bc0803171824r30c8a81asc9c63db9acd96559@mail.gmail.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] Patch for opcode caches From: dmitry@zend.com (Dmitry Stogov) The patch has been just committed. You should use something like the following code to make it work. function cache_compile_file($filename) { if (!is_cached($filename)) { ... orig_compiler_options = CG(compiler_optins); CG(compiler_options) |= ZEND_COMPILE_IGNORE_INTERNAL_CLASSES | ZEND_COMPILE_DELAYED_BINDING; $op_array = orig_compile_file($filename); CG(compiler_options) = orig_copiler_options; ... } else { $op_array = restore_from_cache($filename); } zend_do_delayed_early_binding($op_array); } Thanks. Dmitry. phpxcache wrote: > session (or caused by TSRM/ZendEngine) seems broken in my local cvs > checkout i'm not sure if it's relatived to this patch but i did 'cvs > up' and some commit broke the patch (with conflicts) > please commit, or roll out another diff against the PHP_5_3 cvs so i > can test it again > > thanks