Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:57404 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 88475 invoked from network); 17 Jan 2012 23:00:34 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 17 Jan 2012 23:00:34 -0000 Authentication-Results: pb1.pair.com header.from=juzna.cz@gmail.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=juzna.cz@gmail.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.161.170 as permitted sender) X-PHP-List-Original-Sender: juzna.cz@gmail.com X-Host-Fingerprint: 209.85.161.170 mail-gx0-f170.google.com Received: from [209.85.161.170] ([209.85.161.170:33813] helo=mail-gx0-f170.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 1C/94-59894-09DF51F4 for ; Tue, 17 Jan 2012 18:00:33 -0500 Received: by ggnq4 with SMTP id q4so1500436ggn.29 for ; Tue, 17 Jan 2012 15:00:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type:content-transfer-encoding; bh=jjU0Bb0zkqKsHQTMv6JRqJjq6m7F/O4fHrIOTcArym8=; b=lI5HHNHeC2cYW83HUA+9rgdGbiFStOlBRF0T3cXwuHzb+XZLmfGuSIucBqkO8gynHu 0npuYgV4usgupgKk5TzUAXhP0X9w7Zvl3sjTT1YZ3R8ec8wy5aYC0ocd1quMDlwrT67P AYsqSomwR2nIToA9sE2+jlJDljZ8p6zeyGvn8= Received: by 10.50.178.106 with SMTP id cx10mr1735366igc.15.1326841230209; Tue, 17 Jan 2012 15:00:30 -0800 (PST) MIME-Version: 1.0 Received: by 10.231.203.81 with HTTP; Tue, 17 Jan 2012 15:00:09 -0800 (PST) In-Reply-To: <4F15F47E.6030501@sugarcrm.com> References: <4F15F47E.6030501@sugarcrm.com> Date: Wed, 18 Jan 2012 00:00:09 +0100 Message-ID: To: Stas Malyshev Cc: "internals@lists.php.net" Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [PHP-DEV] Reflection to remove final From: juzna.cz@gmail.com (Jan Dolecek) This issue seems much more complicated than I thought. We'll need to consider all cases which could cause troubles and have a solution for them. Namely: - rewriting permanent structures for internal classes, which are being kept between requests, must be avoided - races in threading models - rewriting in bytecode caches must be avoided - anything else in mind? I'll try to think about it, but I'm not that experienced with php internals, so any suggestions welcome. Jan Dolecek juzna.cz@gmail.com On Tue, Jan 17, 2012 at 11:21 PM, Stas Malyshev wr= ote: > Hi! > > >> This doesn't seem right. =C2=A0Correct me if I'm wrong: for internal cla= sses, >> their data structures are allocated permanently, so I'd say the effects = of >> removing the flag would be permanent (i.e., would affect subsequent >> requests). And for threaded builds this could cause races between the >> threads. > > > It'd probably also mess up bytecode caches, since they permanently store > class definitions. > -- > Stanislav Malyshev, Software Architect > SugarCRM: http://www.sugarcrm.com/ > (408)454-6900 ext. 227 > > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php >