Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:79333 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 90641 invoked from network); 1 Dec 2014 08:17:25 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 1 Dec 2014 08:17:25 -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.174 as permitted sender) X-PHP-List-Original-Sender: dmitry@zend.com X-Host-Fingerprint: 209.85.220.174 mail-vc0-f174.google.com Received: from [209.85.220.174] ([209.85.220.174:34684] helo=mail-vc0-f174.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id A7/84-61248-4142C745 for ; Mon, 01 Dec 2014 03:17:24 -0500 Received: by mail-vc0-f174.google.com with SMTP id id10so4421531vcb.33 for ; Mon, 01 Dec 2014 00:17:22 -0800 (PST) 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=JQ9HeeogWcI1FMC1aZH6QzFGrTzjvHpVsvxU6wcZkdA=; b=QoJBKN8wF+spwE+mptLtEniOGHqgDizPuRDvAhIjrO7akIufIMWEuceuu/d0JSOHcE stLbPDSqV6n8l/25MKOSVfQiwRZeA4LD4zZ8g2/UAIwK8SeRieg3uyPDg/BBkiVrjSbT k41XgFhZi1tU+pgducTi6RbwMG4lZMJKfj8MWTAMwt8MkflXvZDsho0Mo62YcDk/JJLV FrFbV1/R4DP1hutxyBrntV9hwG5WLOWBYa6yTT042a8l4jU8hpLW9NdU/tdfabc7Q7CC gC9KJBsKTgMjTgcD6IDd+TG66Al3Owq3Qjcql70XovUOidCGCT7MZRZ3Bb4cx+WtJO3T vDSA== X-Gm-Message-State: ALoCoQkSQLsTB79vij3FzQRv2bIjOgB4k9FPiAjHY3+iuqgoTQR5kfYn14qwkkrGxvbpXeVufLyFHopUsXptkkHhXAQt9DOlN8+VAEZo5sDEqqVD2HfCLybCJtm/pRLg/AFM4eH0+3DNInktzt12P0BN2b3zwrB5Jw== MIME-Version: 1.0 X-Received: by 10.53.10.65 with SMTP id dy1mr23354225vdd.51.1417421842106; Mon, 01 Dec 2014 00:17:22 -0800 (PST) Received: by 10.52.176.231 with HTTP; Mon, 1 Dec 2014 00:17:22 -0800 (PST) In-Reply-To: References: Date: Mon, 1 Dec 2014 12:17:22 +0400 Message-ID: To: Ferenc Kovacs Cc: PHP Internals , Matteo Beccati , Xinchen Hui , Nikita Popov Content-Type: multipart/alternative; boundary=001a113659d06552f80509233d47 Subject: Re: [PHP-DEV] Re: EX(scope) removing From: dmitry@zend.com (Dmitry Stogov) --001a113659d06552f80509233d47 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable thanks. phpdbg was excluded in my DEBUG build (I was sure I built it, may be it was enabled it default previously...) Anyway, I enabled it now, and won't miss at least build problems. According to "make test", it would be great to make it run all the tests. For some reason "ext/opcahce" tests are excluded as well. Thanks. Dmitry. On Sun, Nov 30, 2014 at 7:25 PM, Ferenc Kovacs wrote: > > 2014.11.30. 11:14 ezt =C3=ADrta ("Dmitry Stogov" ): > > > > Sorry, I'll try to fix it on Monday. > > is it a compilation problem, or how can reproduce it? > > I've fixed it already. There were two references to scope in phpdbg, you > probably missed it because phpdbg tests are not part of make test (but > could be). > > > > > Thanks. Dmitry. > > > > On Sat, Nov 29, 2014 at 1:01 AM, Ferenc Kovacs wrote= : > >> > >> 2014.11.28. 9:24 ezt =C3=ADrta ("Dmitry Stogov" ): > >> > >> > >> > > >> > On Fri, Nov 28, 2014 at 7:33 AM, Xinchen Hui > wrote: > >> > > >> > > Hey: > >> > > > >> > > On Fri, Nov 28, 2014 at 1:27 AM, Dmitry Stogov > wrote: > >> > > > Hi, > >> > > > > >> > > > I'm working on call/return sequence optimization. As part of thi= s > work > >> > > I'm > >> > > > minimizing the size of call frame (zend_execute_data) and number > of > >> > > > read/write operations on call/return. > >> > > > > >> > > > Could you please take a look into the patch that removes EX(scop= e) > >> > > > https://gist.github.com/dstogov/5ad50d582346385d587e > >> > > > >> > > >> > committed. > >> > > >> > > All phpt tests are passed, but I'm not completely sure about one > line - > >> > > > > >> > > > https://gist.github.com/dstogov/5ad50d582346385d587e#file-ex_scope-05-dif= f-L193 > >> > > > > >> > > > On the other hand I can't imagine what it may break. > >> > > neither do I. > >> > > > >> > > > > >> > > > Matteo, can you please run your test suites with this patch. > >> > > > > >> > > > PS: I'm also going to: > >> > > > - pack EX(num_args) into reserved space of EX(This) > >> > > > >> > > >> > done. > >> > > >> > > >> > > > - try to get rid of EX(frame_info) > >> > > > >> > > >> > done. > >> > > >> > > >> > > > - try to merge EX(called_scope) and EX(This). Only one of them > matters. > >> > > > - try to replace zval EX(This) with a pointer to zend_object > EX(object) > >> > > > >> > > Hmm, EX(This) is not like EX(object), it will be accessed by vm > >> > > handler: get_obj_zval_ptr_unused > >> > > > >> > > it suppores to return a zval * there. if EX(This) became a > zend_object > >> > > *, then we may face different handlers for IS_UNUSED and other > types > >> > > :< > >> > > > >> > > >> > Yes, I know. After the latest changes it doesn't make a lot of sense > to > >> > replace ZVAL with ZEND_OBJECT*, because other data is already packed > into > >> > the same ZVAL and it won't save any memory. > >> > > >> > Also zend_execute_data structure is aligned on zval boundary (16 > bytes), so > >> > it makes sense to save another 16 bytes, but saving 8 bytes won't > affect VM > >> > stack memory consumption. > >> > > >> > Thanks. Dmitry. > >> > > >> > >> Fyi this change broke phpdbg in master. > > > > > --001a113659d06552f80509233d47--