[turbofan] Make escape analysis non-experimental.
This promotes the escape analysis from an experimental feature to be a fully supported feature. The main goal is to unleach ClusterFuzz on the implementation so that we can stabilize it. R=jarin@chromium.org Review-Url: https://codereview.chromium.org/1989833002 Cr-Commit-Position: refs/heads/master@{#36324}
This commit is contained in:
parent
246d5bba8f
commit
d5aa995e3c
@ -1404,7 +1404,7 @@ bool PipelineImpl::CreateGraph() {
|
|||||||
RunPrintAndVerify("Loop peeled");
|
RunPrintAndVerify("Loop peeled");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (FLAG_experimental_turbo_escape) {
|
if (FLAG_turbo_escape) {
|
||||||
Run<EscapeAnalysisPhase>();
|
Run<EscapeAnalysisPhase>();
|
||||||
RunPrintAndVerify("Escape Analysed");
|
RunPrintAndVerify("Escape Analysed");
|
||||||
}
|
}
|
||||||
|
@ -469,7 +469,7 @@ DEFINE_BOOL(turbo_cf_optimization, true, "optimize control flow in TurboFan")
|
|||||||
DEFINE_BOOL(turbo_frame_elision, true, "elide frames in TurboFan")
|
DEFINE_BOOL(turbo_frame_elision, true, "elide frames in TurboFan")
|
||||||
DEFINE_BOOL(turbo_cache_shared_code, true, "cache context-independent code")
|
DEFINE_BOOL(turbo_cache_shared_code, true, "cache context-independent code")
|
||||||
DEFINE_BOOL(turbo_preserve_shared_code, false, "keep context-independent code")
|
DEFINE_BOOL(turbo_preserve_shared_code, false, "keep context-independent code")
|
||||||
DEFINE_BOOL(experimental_turbo_escape, false, "enable escape analysis")
|
DEFINE_BOOL(turbo_escape, false, "enable escape analysis")
|
||||||
DEFINE_BOOL(turbo_instruction_scheduling, false,
|
DEFINE_BOOL(turbo_instruction_scheduling, false,
|
||||||
"enable instruction scheduling in TurboFan")
|
"enable instruction scheduling in TurboFan")
|
||||||
DEFINE_BOOL(turbo_stress_instruction_scheduling, false,
|
DEFINE_BOOL(turbo_stress_instruction_scheduling, false,
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
// Flags: --allow-natives-syntax --experimental-turbo-escape
|
// Flags: --allow-natives-syntax --turbo-escape
|
||||||
|
|
||||||
function f(a) {
|
function f(a) {
|
||||||
"use strict";
|
"use strict";
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
// Flags: --allow-natives-syntax --experimental-turbo-escape
|
// Flags: --allow-natives-syntax --turbo-escape
|
||||||
|
|
||||||
(function() {
|
(function() {
|
||||||
"use strict";
|
"use strict";
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
// Flags: --allow-natives-syntax --experimental-turbo-escape
|
// Flags: --allow-natives-syntax --turbo-escape
|
||||||
|
|
||||||
function f(a) {
|
function f(a) {
|
||||||
"use strict";
|
"use strict";
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
// Flags: --allow-natives-syntax --experimental-turbo-escape
|
// Flags: --allow-natives-syntax --turbo-escape
|
||||||
|
|
||||||
function f(a) {
|
function f(a) {
|
||||||
"use strict";
|
"use strict";
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
// Flags: --allow-natives-syntax --experimental-turbo-escape
|
// Flags: --allow-natives-syntax --turbo-escape
|
||||||
|
|
||||||
function f(a) {
|
function f(a) {
|
||||||
"use strict";
|
"use strict";
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
// Flags: --allow-natives-syntax --experimental-turbo-escape
|
// Flags: --allow-natives-syntax --turbo-escape
|
||||||
|
|
||||||
function f(h) {
|
function f(h) {
|
||||||
"use strict";
|
"use strict";
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
// Flags: --allow-natives-syntax --experimental-turbo-escape
|
// Flags: --allow-natives-syntax --turbo-escape
|
||||||
|
|
||||||
function f(a) {
|
function f(a) {
|
||||||
"use strict";
|
"use strict";
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
// Flags: --allow-natives-syntax --experimental-turbo-escape
|
// Flags: --allow-natives-syntax --turbo-escape
|
||||||
|
|
||||||
function f() {
|
function f() {
|
||||||
this.x=0;
|
this.x=0;
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
// Flags: --allow-natives-syntax --experimental-turbo-escape
|
// Flags: --allow-natives-syntax --turbo-escape
|
||||||
|
|
||||||
function f(a) {
|
function f(a) {
|
||||||
this.x=a;
|
this.x=a;
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
// Flags: --allow-natives-syntax --experimental-turbo-escape
|
// Flags: --allow-natives-syntax --turbo-escape
|
||||||
|
|
||||||
function f() {
|
function f() {
|
||||||
return arguments;
|
return arguments;
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
// Flags: --allow-natives-syntax --experimental-turbo-escape
|
// Flags: --allow-natives-syntax --turbo-escape
|
||||||
|
|
||||||
// Test deoptimization with captured objects in local variables.
|
// Test deoptimization with captured objects in local variables.
|
||||||
(function testDeoptLocal() {
|
(function testDeoptLocal() {
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
// Flags: --allow-natives-syntax --experimental-turbo-escape
|
// Flags: --allow-natives-syntax --turbo-escape
|
||||||
|
|
||||||
// Test deoptimization with captured objects in local variables.
|
// Test deoptimization with captured objects in local variables.
|
||||||
(function testDeoptLocal() {
|
(function testDeoptLocal() {
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
// Flags: --allow-natives-syntax --experimental-turbo-escape
|
// Flags: --allow-natives-syntax --turbo-escape
|
||||||
|
|
||||||
// Test deoptimization with captured objects in local variables.
|
// Test deoptimization with captured objects in local variables.
|
||||||
(function testDeoptLocal() {
|
(function testDeoptLocal() {
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
// Flags: --allow-natives-syntax --experimental-turbo-escape
|
// Flags: --allow-natives-syntax --turbo-escape
|
||||||
|
|
||||||
// Test deoptimization with captured objects in local variables.
|
// Test deoptimization with captured objects in local variables.
|
||||||
(function testDeoptLocal() {
|
(function testDeoptLocal() {
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
// Flags: --allow-natives-syntax --experimental-turbo-escape
|
// Flags: --allow-natives-syntax --turbo-escape
|
||||||
|
|
||||||
function f() {
|
function f() {
|
||||||
var x = new Array(2);
|
var x = new Array(2);
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
// Use of this source code is governed by a BSD-style license that can be
|
// Use of this source code is governed by a BSD-style license that can be
|
||||||
// found in the LICENSE file.
|
// found in the LICENSE file.
|
||||||
|
|
||||||
// Flags: --allow-natives-syntax --experimental-turbo-escape
|
// Flags: --allow-natives-syntax --turbo-escape
|
||||||
|
|
||||||
function f(a) { return [a] }
|
function f(a) { return [a] }
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user