Commit 5607582f authored by jarin@chromium.org's avatar jarin@chromium.org

We should perform the illegal redeclaration check earlier so that we do not...

We should perform the illegal redeclaration check earlier so that we do not confuse the AST typer with missing type feedback nodes.

R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20368 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent 38e82b87
...@@ -354,6 +354,10 @@ OptimizedCompileJob::Status OptimizedCompileJob::CreateGraph() { ...@@ -354,6 +354,10 @@ OptimizedCompileJob::Status OptimizedCompileJob::CreateGraph() {
return AbortAndDisableOptimization(kTooManyParametersLocals); return AbortAndDisableOptimization(kTooManyParametersLocals);
} }
if (scope->HasIllegalRedeclaration()) {
return AbortAndDisableOptimization(kFunctionWithIllegalRedeclaration);
}
// Take --hydrogen-filter into account. // Take --hydrogen-filter into account.
if (!info()->closure()->PassesFilter(FLAG_hydrogen_filter)) { if (!info()->closure()->PassesFilter(FLAG_hydrogen_filter)) {
return AbortOptimization(kHydrogenFilter); return AbortOptimization(kHydrogenFilter);
......
// 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: --always-opt
var x = 0;
function f() {
const c;
var c;
return 0 + x;
}
assertThrows(f);
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