Commit 97cab985 authored by jarin's avatar jarin Committed by Commit bot

Do not try to inline if the function has an illegal redeclaration.

R=mvstanton@chromium.org
BUG=chromium:436896
LOG=n

Review URL: https://codereview.chromium.org/755333003

Cr-Commit-Position: refs/heads/master@{#25527}
parent 97336b80
......@@ -7931,6 +7931,11 @@ bool HOptimizedGraphBuilder::TryInline(Handle<JSFunction> target,
return false;
}
if (target_info.scope()->HasIllegalRedeclaration()) {
TraceInline(target, caller, "target has illegal redeclaration");
return false;
}
if (target_info.scope()->num_heap_slots() > 0) {
TraceInline(target, caller, "target has context-allocated variables");
return false;
......
// Copyright 2014 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.
// Flags: --allow-natives-syntax
function f(x) {
const x = 0;
return x;
}
function g(x) {
return f(x);
}
%OptimizeFunctionOnNextCall(g);
assertThrows(function() { g(42); }, TypeError);
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment