| Index: src/ic/ic.cc
|
| diff --git a/src/ic/ic.cc b/src/ic/ic.cc
|
| index e47ad9a618e24fd4e186c4285b8407bf797be5da..9c8f079deac6bbd3b8454750722ab59ce4252996 100644
|
| --- a/src/ic/ic.cc
|
| +++ b/src/ic/ic.cc
|
| @@ -2047,14 +2047,10 @@ MaybeHandle<Object> KeyedStoreIC::Store(Handle<Object> object,
|
| Handle<JSObject> receiver = Handle<JSObject>::cast(object);
|
| bool key_is_smi_like = !Object::ToSmi(isolate(), key).is_null();
|
| if (receiver->elements()->map() ==
|
| - isolate()->heap()->sloppy_arguments_elements_map()) {
|
| - if (is_sloppy(language_mode())) {
|
| - stub = sloppy_arguments_stub();
|
| - } else {
|
| - TRACE_GENERIC_IC(isolate(), "KeyedStoreIC", "arguments receiver");
|
| - }
|
| - } else if (key_is_smi_like &&
|
| - !(target().is_identical_to(sloppy_arguments_stub()))) {
|
| + isolate()->heap()->sloppy_arguments_elements_map() &&
|
| + !is_sloppy(language_mode())) {
|
| + TRACE_GENERIC_IC(isolate(), "KeyedStoreIC", "arguments receiver");
|
| + } else if (key_is_smi_like) {
|
| // We should go generic if receiver isn't a dictionary, but our
|
| // prototype chain does have dictionary elements. This ensures that
|
| // other non-dictionary receivers in the polymorphic case benefit
|
|
|