Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:89143 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 28028 invoked from network); 10 Nov 2015 09:53:39 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 10 Nov 2015 09:53:39 -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.170 as permitted sender) X-PHP-List-Original-Sender: dmitry@zend.com X-Host-Fingerprint: 209.85.223.170 mail-io0-f170.google.com Received: from [209.85.223.170] ([209.85.223.170:35934] helo=mail-io0-f170.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id A6/D0-21426-1AEB1465 for ; Tue, 10 Nov 2015 04:53:38 -0500 Received: by iofh3 with SMTP id h3so46744617iof.3 for ; Tue, 10 Nov 2015 01:53:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zend_com.20150623.gappssmtp.com; s=20150623; h=mime-version:date:message-id:subject:from:to:cc:content-type; bh=pKPbz/x/UYZy24q5A1sUu3v4X06WWR1W8grTEe4Sq3U=; b=mWUH7aiFJTnozo3d/n3hUAcCEKgXY8Tr1yoQxmY+vOs8ORyJynjL6g28Po3Z7V+uFr ZicRhzJzX4WVY2MS5kTHE5h52500JTwMohTjczhoyBhtU5Rx8FOEXE/mHgqj1TvWUmlE rFN5FLJMY1tWEOUHD4G5pDXk3+Vp/1RXcFzRdNnIqBdsYqKKDBC+8znakGVO05m++bZG apQUUE20M9ZOjzmFqm09wZY68g8Vnwf0AbT0g4c7F8R2MTgLFCorz6I4YnjEVVRTdbuR nHcbI8w9g2Fz8QSbKnEh6NFRyyPfcmrbiO5wN/R1Hy96Ov08KZmOQTrKguqsG/kLIYF7 S5fw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:date:message-id:subject:from:to:cc :content-type; bh=pKPbz/x/UYZy24q5A1sUu3v4X06WWR1W8grTEe4Sq3U=; b=XO9QPkP6ssiFo/T3Dx0Q3Hv6Y6HKHpWnB7rIVcLkUSXd2ClGLBKNUG+yMwfjPVhjxS Kzw8dL0IyGYlkDt1jcoJwA5N8bVumETuoe9FkQuc/9PK5EVoGeSqLI/u9tpdWV3XJOms 5xEbvwmopfIjxATpwU03r3fAUWYHtHt+cLtSsnzkDPMwsYUEXkRiMAcbenuMuwVUmJeo Lu5BdHolz6XcH9n/qC2gTopTrr5rdk8cNYAmMe22ha0ti07cqh9YWAZd2kX+kIlLA4CC VrAe9rHDNwlJu1aHrEQz5bf4Lm2fGRjEXvR9mU0toWQp/II9nX808l5Pls8BzMcxh+bk UqFg== X-Gm-Message-State: ALoCoQnknFcF0uw3yAMB4Ysu5PfOF+Rf23Z8fBAO+t2kCsJ6Xoq2xsL/TxAE+WWIOjczQLVK7DYkyzAfPzYgJf3cPkxK6Fr3YoDsJrxLGOhvvMruqPN7K+huAOAyh9+0ebzwoc/w/gaADOAYkxp30hb+S7XVQlFD6LMxIjb5SaDmeD8RYITKQKk= MIME-Version: 1.0 X-Received: by 10.107.8.142 with SMTP id h14mr3480941ioi.116.1447149214886; Tue, 10 Nov 2015 01:53:34 -0800 (PST) Received: by 10.50.73.166 with HTTP; Tue, 10 Nov 2015 01:53:34 -0800 (PST) Date: Tue, 10 Nov 2015 12:53:34 +0300 Message-ID: To: Nikita Popov , Xinchen Hui , Bob Weinand Cc: PHP Internals Content-Type: multipart/alternative; boundary=001a113f96fce4027205242cae4a Subject: Safe Temporary Cleanup on Exception (Variable Liveness) From: dmitry@zend.com (Dmitry Stogov) --001a113f96fce4027205242cae4a Content-Type: text/plain; charset=UTF-8 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. --001a113f96fce4027205242cae4a--