Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:34282 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 1383 invoked by uid 1010); 30 Dec 2007 17:12:53 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 1368 invoked from network); 30 Dec 2007 17:12:53 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 30 Dec 2007 17:12:53 -0000 Authentication-Results: pb1.pair.com header.from=xuefer@gmail.com; sender-id=pass; domainkeys=bad Authentication-Results: pb1.pair.com smtp.mail=xuefer@gmail.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.146.177 as permitted sender) DomainKey-Status: bad X-DomainKeys: Ecelerity dk_validate implementing draft-delany-domainkeys-base-01 X-PHP-List-Original-Sender: xuefer@gmail.com X-Host-Fingerprint: 209.85.146.177 wa-out-1112.google.com Received: from [209.85.146.177] ([209.85.146.177:39351] helo=wa-out-1112.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 64/CC-01652-391D7774 for ; Sun, 30 Dec 2007 12:12:53 -0500 Received: by wa-out-1112.google.com with SMTP id l24so7731770waf.17 for ; Sun, 30 Dec 2007 09:12:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:sender:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references:x-google-sender-auth; bh=WAcfVBdtFEnWqi1PR3+cL8ncXBKl1oFe1KG6+FJS/1o=; b=tOVp7xW8MZpQrclXU7fzYOXZbgSpJJJaUwg+08kmRyEmmHSElnfAev+Lk/hhIx0w5DKLutbOH/fDd4wAFQ39NOdV1gUa8ZY4FH/Oal6236xm5T0CX7r0DRVR4O76wYLtvIGhlJXahl7OExnRqwaKkWrF3cduU44O4K4t+PJje7M= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:sender:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references:x-google-sender-auth; b=C5bp6psAcSVdZVgjJ7JPfIoBwo0qWjxi0RNzuxv9Fc9T2rgZoOoa9Km0EKzsvKS18EpacJAQsD3oRpaSZeJ/gPf/Okgu9/JhVno5S4/+MYIZNjNczUqdZJ7om/0B3BfpIL24E2lrVoWJYWdQ9IAHDsR94PVuwnodc1i9zDybpMs= Received: by 10.114.149.2 with SMTP id w2mr11794831wad.5.1199034768737; Sun, 30 Dec 2007 09:12:48 -0800 (PST) Received: by 10.114.36.15 with HTTP; Sun, 30 Dec 2007 09:12:48 -0800 (PST) Message-ID: <28139bc0712300912ub004d66wbaf3817e871f826d@mail.gmail.com> Date: Mon, 31 Dec 2007 01:12:48 +0800 Sender: xuefer@gmail.com To: "Stanislav Malyshev" Cc: "php-dev List" In-Reply-To: <28139bc0712300416y6773ac32v8a39d9359bee9d1c@mail.gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <28139bc0712300135s399eb826k87a061a52eac5066@mail.gmail.com> <47776A7E.3030304@zend.com> <28139bc0712300416y6773ac32v8a39d9359bee9d1c@mail.gmail.com> X-Google-Sender-Auth: 4949dc241cdcac93 Subject: Re: [PHP-DEV] early class binding revisited From: phpxcache@gmail.com (phpxcache) more pitfall: apc and XCache uses fast copy of opcodes for restoring opcode, but this will never work if early binding which have to modify opcodes is done after restore see apc_copy_op_array_for_execution() in apc_compile.c there is my_copy_data_exceptions(dst, src); which do a check if to deep copy. and btw, i just find fe->common.arg_info needed to be check in apc_copy_op_array() for my_copy_data_exceptions() because: in zend_compile.c zend_do_perform_implementation_check fe->common.arg_info[i].class_name = ......; any updates op_array at runtime looks evil for opcode cacher fast copy, can't we just assume opcode readonly like all elf .exe etc?