Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:78931 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 29824 invoked from network); 18 Nov 2014 04:49:12 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 18 Nov 2014 04:49:12 -0000 Authentication-Results: pb1.pair.com smtp.mail=laruence@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=laruence@gmail.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.220.52 as permitted sender) X-PHP-List-Original-Sender: laruence@gmail.com X-Host-Fingerprint: 209.85.220.52 mail-pa0-f52.google.com Received: from [209.85.220.52] ([209.85.220.52:37494] helo=mail-pa0-f52.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 9C/B5-06780-6CFCA645 for ; Mon, 17 Nov 2014 23:49:11 -0500 Received: by mail-pa0-f52.google.com with SMTP id eu11so2912763pac.39 for ; Mon, 17 Nov 2014 20:49:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=content-type:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=//+UGIzSg44Hc2nRbpqLPJWTmMsH+1oICeaGVsQborI=; b=sLhF7mYKdQDK9YTXAsMHhNryRx/P7SsDGLFhCd4F5RIZfTAJc8m8O7Erh0QdD7fg1M b+AJLE1x3qUms3wnX28Y8mLcqj1plqaszne+THYluW2tP7X6qgzpceWmwzMY/ZTc69jt IpZIanueYFpmS9+s9fUlwidUVU94bv7z2rTwx4iIztOZgZSWgT8Obaru02kRkh8Stegq yBxhbh/91VJz/yaTYKdyHO3vVBNbhLvSPaIutne47a6ANO1B4p7PDWPJi47W4DYWwcb5 zzOJqIz5ZEZgT67bPvDgYyvgGjZ2i8pBo3bsSyV6WBfvMXVMerLkoZGo+Cy/nkCtkqQD 9R5A== X-Received: by 10.68.197.170 with SMTP id iv10mr8683122pbc.135.1416286148139; Mon, 17 Nov 2014 20:49:08 -0800 (PST) Received: from [10.151.51.247] ([117.136.0.142]) by mx.google.com with ESMTPSA id of9sm36549513pbc.6.2014.11.17.20.49.05 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Mon, 17 Nov 2014 20:49:06 -0800 (PST) Content-Type: multipart/alternative; boundary=Apple-Mail-861F62BD-45DF-42B8-9A70-190FFB6D68E4 Mime-Version: 1.0 (1.0) X-Mailer: iPhone Mail (12B411) In-Reply-To: Date: Tue, 18 Nov 2014 12:49:03 +0800 Cc: Xinchen Hui , Nikita Popov , Anatol Belski , PHP Internals Content-Transfer-Encoding: 7bit Message-ID: References: To: Dmitry Stogov Subject: Re: Use zend_string* for op_array->arg_info[].name and class_name From: laruence@gmail.com (Xinchen Hui) --Apple-Mail-861F62BD-45DF-42B8-9A70-190FFB6D68E4 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Sent from my iPhone > On Nov 18, 2014, at 12:34 PM, Dmitry Stogov wrote: >=20 >=20 >=20 >> On Tue, Nov 18, 2014 at 6:01 AM, Xinchen Hui wrote: >> Hey: >>=20 >>=20 >>=20 >> On Mon, Nov 17, 2014 at 5:25 PM, Dmitry Stogov wrote: >> > Hi, >> > >> > Please review the patch https://gist.github.com/dstogov/47a39aff37f0a64= 41ea0 >>=20 >> I am not sure, why can't we build a zend_string arg->name from char * >> while doing register internal functions? >=20 > We can, but it'll take significant amount of additional memory and then we= will have to free it on shutdown. we only need do it in master process, and mark as interned(with hash precalc= ulated), no write will be happened, so thanks to COW on fork, we won't need l= ots of extra memory. Thanks >=20 > Thanks. Dmitry. > =20 >>=20 >> then we can have the same zend_arg_info in runtime for both >> internal/user functions? >>=20 >> thanks >> > >> > Thanks. Dmitry. >>=20 >>=20 >>=20 >> -- >> Xinchen Hui >> @Laruence >> http://www.laruence.com/ >=20 --Apple-Mail-861F62BD-45DF-42B8-9A70-190FFB6D68E4--