2015-07-06 03:40:22 +00:00
|
|
|
// Copyright 2015 the V8 project authors. All rights reserved.
|
|
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
|
|
// found in the LICENSE file.
|
|
|
|
|
2015-09-25 11:33:28 +00:00
|
|
|
// Flags: --allow-natives-syntax --function-context-specialization
|
|
|
|
// Flags: --turbo-filter=f
|
2015-07-06 03:40:22 +00:00
|
|
|
|
|
|
|
(function() {
|
|
|
|
"use strict";
|
|
|
|
var a = 23;
|
|
|
|
function f() {
|
|
|
|
for (let i = 0; i < 5; ++i) {
|
|
|
|
a--; // Make sure {a} is non-immutable, hence context allocated.
|
|
|
|
function g() { return i } // Make sure block has a context.
|
|
|
|
if (i == 2) %OptimizeOsr();
|
|
|
|
}
|
|
|
|
return a;
|
|
|
|
}
|
|
|
|
assertEquals(18, f());
|
|
|
|
})();
|