Commit cd6f3ef0 authored by verwaest@chromium.org's avatar verwaest@chromium.org

Only use the non-strict-arguments-stub if the store site is non-strict.

BUG=349874
LOG=N
R=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19690 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent 5ea3f000
......@@ -1689,7 +1689,9 @@ MaybeObject* KeyedStoreIC::Store(Handle<Object> object,
bool key_is_smi_like = key->IsSmi() || !key->ToSmi()->IsFailure();
if (receiver->elements()->map() ==
isolate()->heap()->non_strict_arguments_elements_map()) {
stub = non_strict_arguments_stub();
if (strict_mode() == kNonStrictMode) {
stub = non_strict_arguments_stub();
}
} else if (key_is_smi_like &&
!(target().is_identical_to(non_strict_arguments_stub()))) {
// We should go generic if receiver isn't a dictionary, but our
......
// 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.
function args(arg) { return arguments; }
var a = args(false);
(function () {
"use strict";
a["const" + 0] = 0;
})();
(function () {
"use strict";
a[0] = 0;
})();
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