Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:82953 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 98606 invoked from network); 17 Feb 2015 12:48:46 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 17 Feb 2015 12:48:46 -0000 Authentication-Results: pb1.pair.com smtp.mail=leight@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=leight@gmail.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.220.173 as permitted sender) X-PHP-List-Original-Sender: leight@gmail.com X-Host-Fingerprint: 209.85.220.173 mail-vc0-f173.google.com Received: from [209.85.220.173] ([209.85.220.173:35892] helo=mail-vc0-f173.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id B1/72-19463-DA833E45 for ; Tue, 17 Feb 2015 07:48:46 -0500 Received: by mail-vc0-f173.google.com with SMTP id hy4so12525855vcb.4 for ; Tue, 17 Feb 2015 04:48:42 -0800 (PST) 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=LmhnF5B1k201iA8BzgF8yyInQGyYaqs+hFcaTujfMWw=; b=UgqhB7MLh2rWnxJwxW1ldsuoEq97kAurofwWgB57i3a4NWr4NaHZ/+nRiWcK/qGJ4d q7zv/oGnCR2GwyjCWGibpis1Y2+53XRx87X5kkbeDsNmHQqcQiIjIM6kueAzd3pZiRQb ROQBZi3j7i8BTBNXR2p0SgUzJ5D5Ud/75sfGWCUk5DS9AehnMg6pvu33wGJyssPbku0m g8DuKe3lc5TUXuM2EF5/YSk8l4Ib3ba7860cWbytN6Z2dJZ2MxCYr5QCe08dL0kL/QOA ipBsZXKE5QvCoYE9HEKiY5FHCfSXRonUgvcGN8qMBbq4rSSVnnJ0s/dW8yveyBo3/E+8 DsPQ== MIME-Version: 1.0 X-Received: by 10.220.100.6 with SMTP id w6mr18967325vcn.65.1424177322385; Tue, 17 Feb 2015 04:48:42 -0800 (PST) Received: by 10.52.179.168 with HTTP; Tue, 17 Feb 2015 04:48:42 -0800 (PST) In-Reply-To: References: Date: Tue, 17 Feb 2015 12:48:42 +0000 Message-ID: To: Alexander Lisachenko Cc: Benjamin Eberlei , PHP internals list Content-Type: text/plain; charset=UTF-8 Subject: Re: [PHP-DEV] [RFC][Discussion] Parser extension API From: leight@gmail.com (Leigh) On 17 February 2015 at 12:22, Alexander Lisachenko wrote: > Yes, parser extensions will be called for all require/include/evals after > registration. This part is transparent for opcache, because opcache just > stores an opcodes for the file. AST is parsed only once for each file, then > hooks can transform the AST and after that compiler will produce a final > opcodes that can be stored for that file in the opcache. So, I expect no > impact on opcache logic. So: Internal Parse AST -> Extension Parse AST -> Generate OpCodes -> OpCache? So if the parser extension does anything dynamic, then OpCache will have the wrong version cached.