Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:89144 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 30058 invoked from network); 10 Nov 2015 10:04:00 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 10 Nov 2015 10:04:00 -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.223.180 as permitted sender) X-PHP-List-Original-Sender: dmitry@zend.com X-Host-Fingerprint: 209.85.223.180 mail-io0-f180.google.com Received: from [209.85.223.180] ([209.85.223.180:32890] helo=mail-io0-f180.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 12/31-21426-E01C1465 for ; Tue, 10 Nov 2015 05:03:59 -0500 Received: by iodd200 with SMTP id d200so214825962iod.0 for ; Tue, 10 Nov 2015 02:03:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zend_com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=f0+yeWY973dJEcyBBP/FKnVJPChgLSaDeemJ5ehrEBQ=; b=Qy9LZsodfsXqnl18y4hgj6/BDMrYv/YU1yOr69H1jzOWXYl0gtZZ2gL4DaSA5AaQRc XXfxyj1NwmCEwSdbqj5hph6bYmqpGwLiC5hjCo27F6BSaqMsZLqzhOESFcLrKG1mIPYZ 0Q6dzmxhtgcX2tPNo0NFV0dCpp5pi5hXgtqrWkS+ta4au5BR6U749X6VaJgn6vzK3qvl K7v087K9MC+kTPR2q/Y71oUnk+JZDR0oeGjENEHqGkaJ5xjO5A3RDyBRnnClpLSQeWX7 u8PfOY0IHtLSU5fImD94G6aqO+fGolFpx9VO3vJKjtv49ceXhGtPKqsNqHAI1QnZgoBy /wlg== 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=f0+yeWY973dJEcyBBP/FKnVJPChgLSaDeemJ5ehrEBQ=; b=WvVyM7J2tswVe1ipa/wYzu5KEI5LNW8k05EtIwRUp6zg4pzNmu9fgcp2Gkl+2JJSG7 dOjp/V7+8EMqhgjImQ2nFcp3ZrWplb3Vhx8bd3fQCADgEUAefKApvcU0WEV2ylURuDG3 vCFyhXVuL7+luiLO3EJHH9j0wRJBQ4J8NyJx5vcGu3p3qM9qBhwXPPpL5aFmmk9XAC4Q z+YOE9PzZpLEZAfBwdW4eq44wUDybL2Dpd45oSAxacRxh+EHkUrs5UJwuO/OxbRbFJ96 ek72wgKVFX3+RxofQggpmeGDPkmqfx9qgV01Yy8Uma3jpq4cjzvP5eu0N1evTVrf2mRC H34Q== X-Gm-Message-State: ALoCoQlpNV/V9siZJdU1O1/Hg8ifahHaBO7Znx3968Q3FyXNe41Vj6SJci/79ZiBxqwOFy3aHjOkIDRlKACA3NSQ5ebhMFwcNtPCd3yXr3jci8Wxw+6BfiiNxtEeQd0f8asbMtsDt3nMcx5pSweU36eTNz7EXcyFabKowthyflNOX/kdBoNe63M= MIME-Version: 1.0 X-Received: by 10.107.15.31 with SMTP id x31mr2963115ioi.51.1447149835697; Tue, 10 Nov 2015 02:03:55 -0800 (PST) Received: by 10.50.73.166 with HTTP; Tue, 10 Nov 2015 02:03:55 -0800 (PST) In-Reply-To: References: Date: Tue, 10 Nov 2015 13:03:55 +0300 Message-ID: To: Nikita Popov , Xinchen Hui , Bob Weinand Cc: PHP Internals Content-Type: multipart/alternative; boundary=001a113edd3ce4e02805242cd382 Subject: Re: Safe Temporary Cleanup on Exception (Variable Liveness) From: dmitry@zend.com (Dmitry Stogov) --001a113edd3ce4e02805242cd382 Content-Type: text/plain; charset=UTF-8 BTW: I think, part of this patch (without zend_check_live_ranges) may be good enough, as a first step. It should keep the current PHP-5/7.0 behavior with new data structures. Thanks. Dmitry. On Tue, Nov 10, 2015 at 12:53 PM, Dmitry Stogov wrote: > Hi, > > Please take a look into > https://gist.github.com/dstogov/43eaa3f3b68583877322 > > This is variation on Bob's idea about variable liveness. > The patch is incomplete. Liveness construction is still naive. However, > all tests are passed. > > Ranges are represented by start/end/variable cartages. (I suppose this > representation is more compact, than in the original proposal). > In general, it's possible to use few ranges for the same variable, if its > whole live range is not linear. (this is not implemented yet). > > Related ideas and tests are welcome. > > Thanks. Dmitry. > --001a113edd3ce4e02805242cd382--