Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:76788 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 90177 invoked from network); 22 Aug 2014 06:46:05 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 22 Aug 2014 06:46:05 -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 209.85.220.173 as permitted sender) X-PHP-List-Original-Sender: dmitry@zend.com X-Host-Fingerprint: 209.85.220.173 mail-vc0-f173.google.com Received: from [209.85.220.173] ([209.85.220.173:62499] helo=mail-vc0-f173.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 4E/21-15848-727E6F35 for ; Fri, 22 Aug 2014 02:46:01 -0400 Received: by mail-vc0-f173.google.com with SMTP id hy10so11944850vcb.18 for ; Thu, 21 Aug 2014 23:45:56 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=/2s7AA8T21a8RmVjtp/E9MEJcme+M1rsIhRjBDUx+Ts=; b=Hfb+WUMClTTidtTACo8/eZh/lCbb2XyVhnlE82XBXYDGKE/uvT8HRpK+oVIm+1kePX VMaUZIlSKdmesyeiXXQkNNE9RAGuBTdC+umwyBNIrIjLfXJccP99tNLqKYQFJ5uIUTu6 z33H9k7LFJxZJ6vrag6riKi2R/7ObOSIHwRESIrsJxUp1C8yeThki73Kuc1AZNcXmmvh XFC3MQFvRLuE5aoJqERHoie3MFRO3u9UuGXXzwMtMvgWMoc59brWvxvlwPF096reiOHE OlSo3Hc43a5QESEzSAbOJpcruimnxs0cAPD9SSiPSJfclYdL83h9F3R5ITPHQi4Xb2Xw 0bZg== X-Gm-Message-State: ALoCoQl2gmLhdmPmMGUDElX5qoM7m/BeArUoFzq4RfF+bHqD/fc5h4PtiwHQfE1ZBKCcuPeUmW42XXL4IPwIWyTtVWV0Kfvt3X0t2MbxuUZSHdbUJKJC3pZ4ezxAKWFRxjtBxkiPRBZ2 MIME-Version: 1.0 X-Received: by 10.52.83.227 with SMTP id t3mr2365516vdy.20.1408689956567; Thu, 21 Aug 2014 23:45:56 -0700 (PDT) Received: by 10.52.110.170 with HTTP; Thu, 21 Aug 2014 23:45:56 -0700 (PDT) In-Reply-To: References: Date: Fri, 22 Aug 2014 10:45:56 +0400 Message-ID: To: Nikita Popov Cc: PHP Internals , Pierre Joye , Anatol Belski Content-Type: multipart/alternative; boundary=001a11368e8075e00505013230d2 Subject: Re: [PHP-DEV] 64-bit integers and 64-bit string length patch is ready to be merged From: dmitry@zend.com (Dmitry Stogov) --001a11368e8075e00505013230d2 Content-Type: text/plain; charset=UTF-8 zend_long/zend_ulong without renaming everything else would be a perfect solution from my point of view. Thanks. Dmitry. On Fri, Aug 22, 2014 at 12:49 AM, Nikita Popov wrote: > On Thu, Aug 21, 2014 at 7:23 PM, Dmitry Stogov wrote: > >> Hi, >> >> Thanks to Anatol and Pierre the 64-bit patch is ready >> https://github.com/weltling/php-src >> >> I made quick code review and don't see any technical problems now. >> >> The performance and memory consumption difference is negligible. see >> >> https://docs.google.com/spreadsheets/d/1PD4oiiXz6B0JbeZYnUSat5fHoq3_jAiCeI2cGHJ3UtQ/edit#gid=0 >> >> The patch breaks one test on 32-bit Linux: >> ext/date/tests/bug53437_var3.phpt (seems to be a bogus test and wrong >> behavior in php5.6 and below) and one test on 64-bit Linux: >> ext/standard/tests/array/array_pad_variation2.phpt (has to be analyzed) >> >> The only thing that I don't like is a massive renaming described here >> https://wiki.php.net/rfc/size_t_and_int64_next#semantical_macro_renamings >> >> IS_LONG -> IS_INT >> Z_LVAL -> L_IVAL >> etc >> >> On one hand using INT may be more consistent, on the other hand it's going >> to break habits and make addition headache for merging from php-5 (I know, >> phpng already made problems) >> >> I'm not sure how to proceed. If I'm alone, lets go ahead with new names. >> If >> some others prefer old names we will probably need voting. >> >> Despite of renaming, I would like to see this patch in master ASAP. >> >> Thanks. Dmitry. >> > > I am against merging this with the long->int rename everywhere. This seems > like change for the sake of change. > > I am also concerned that we now have zend_uint_t (a 64-bit integer type) > and zend_uint (a 32-bit integer type). Notice the difference? Yes, it's the > missing _t. > > I would appreciate it if we could consider the following naming convention: > > * zend_(u)int - 32 bit integer type > * zend_(u)long - 64 bit integer type (on 64 bit systems) > > This retains the original meaning of the type, with the tweak that > zend_(u)long will be 64bit on LLP64 systems as well. This avoids the > confusion of having two types that only differ by a _t suffix and have > totally different meanings. It also removes any need to rename everything > from LONG to INT. > > Thanks, > Nikita > --001a11368e8075e00505013230d2--