Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:71702 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 53967 invoked from network); 28 Jan 2014 21:08:32 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 28 Jan 2014 21:08:32 -0000 Authentication-Results: pb1.pair.com smtp.mail=christopher.jones@oracle.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=christopher.jones@oracle.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain oracle.com designates 156.151.31.81 as permitted sender) X-PHP-List-Original-Sender: christopher.jones@oracle.com X-Host-Fingerprint: 156.151.31.81 userp1040.oracle.com Received: from [156.151.31.81] ([156.151.31.81:22651] helo=userp1040.oracle.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 5A/7A-01140-D4C18E25 for ; Tue, 28 Jan 2014 16:08:32 -0500 Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237]) by userp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id s0SL8PHK011997 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Tue, 28 Jan 2014 21:08:26 GMT Received: from userz7021.oracle.com (userz7021.oracle.com [156.151.31.85]) by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s0SL8Oqq013498 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL) for ; Tue, 28 Jan 2014 21:08:25 GMT Received: from abhmp0007.oracle.com (abhmp0007.oracle.com [141.146.116.13]) by userz7021.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s0SL8NK9005607 for ; Tue, 28 Jan 2014 21:08:24 GMT Received: from [130.35.70.190] (/130.35.70.190) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Tue, 28 Jan 2014 13:08:23 -0800 Message-ID: <52E81C47.7040705@oracle.com> Date: Tue, 28 Jan 2014 13:08:23 -0800 User-Agent: Mozilla/5.0 (X11; Linux i686; rv:24.0) Gecko/20100101 Thunderbird/24.1.0 MIME-Version: 1.0 To: internals@lists.php.net References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Source-IP: acsinet21.oracle.com [141.146.126.237] Subject: Re: [PHP-DEV] [VOTE] 64 bit platform improvements for string length and integer From: christopher.jones@oracle.com (Christopher Jones) On 01/28/2014 12:51 PM, Nikita Popov wrote: > On Tue, Jan 28, 2014 at 9:33 PM, Pierre Joye wrote: > >>> Just to clarify my vote: I voted "No" on the RFC, but only because I >> think >>> the major extension source API break is better suited to PHP 6 than PHP >>> 5.6. I fully support merging this into master, as the first change for >> PHP >>> 6. >> >> Sad. As the work for pecl extensions is really not as large as you >> think, fairly straight forward. The vote for php6 is not running now. >> There is no option for PHP 6 as what can be done in php 6 internally >> is much larger and would allow more breakage. On the other side, we >> provide options to minimize the work for the extensions developers in >> order of magnitude smaller than the changes we introduced in the past >> for the OO APIs for example. Anyway, sad that you voted no for >> something as important than true 64bit support. >> > > Maybe I'm indeed overestimating the impact. Could you please link to the > source-code for a PECL (or other third-party) extension that was ported to > be compatible with the new API, so people can see the actual impact this > makes? (Hopefully some ext that requires compat across multiple versions > like 5.3+ and has non-trivial amount of code and functions, like a few > dozen.) I couldn't find an example in RFC, but maybe I just missed it. Only > saw small snippets in there. > > Nikita > You could do a diff with OCI8 on str_size_and_int64 vs. master to see one example. I also have some additional unmerged patches related to a comment you may see "/* XXX we assume that zend-zval len has 4 bytes */" since the zval len is now a size_t and no longer 32 bits. I have more investigation to do. If the ZPP specs are not portable (vote #3), an additional 53 calls to it will need #ifdef'ing so the code base is portable to older PHP releases (because OCI8 is also released on PECL). Chris -- christopher.jones@oracle.com http://twitter.com/ghrd Free PHP & Oracle book: http://www.oracle.com/technetwork/topics/php/underground-php-oracle-manual-098250.html