| Index: src/code-stubs.cc
|
| diff --git a/src/code-stubs.cc b/src/code-stubs.cc
|
| index f309a82fb50f98b54aef808a435852f09d6d6f19..5cf02fdb249bc6f69ff0b2ef55ecf25dad91ac4d 100644
|
| --- a/src/code-stubs.cc
|
| +++ b/src/code-stubs.cc
|
| @@ -250,6 +250,7 @@ void InstanceofStub::PrintName(StringStream* stream) {
|
| void KeyedLoadElementStub::Generate(MacroAssembler* masm) {
|
| switch (elements_kind_) {
|
| case FAST_ELEMENTS:
|
| + case FAST_SMI_ONLY_ELEMENTS:
|
| KeyedLoadStubCompiler::GenerateLoadFastElement(masm);
|
| break;
|
| case FAST_DOUBLE_ELEMENTS:
|
| @@ -279,7 +280,15 @@ void KeyedLoadElementStub::Generate(MacroAssembler* masm) {
|
| void KeyedStoreElementStub::Generate(MacroAssembler* masm) {
|
| switch (elements_kind_) {
|
| case FAST_ELEMENTS:
|
| - KeyedStoreStubCompiler::GenerateStoreFastElement(masm, is_js_array_);
|
| + case FAST_SMI_ONLY_ELEMENTS: {
|
| + KeyedStoreStubCompiler::StoreObjectAction store_object_action =
|
| + elements_kind_ == FAST_SMI_ONLY_ELEMENTS
|
| + ? KeyedStoreStubCompiler::kObjectStoreForcesGeneric
|
| + : KeyedStoreStubCompiler::kObjectStoreCausesWriteBarrier;
|
| + KeyedStoreStubCompiler::GenerateStoreFastElement(masm,
|
| + is_js_array_,
|
| + store_object_action);
|
| + }
|
| break;
|
| case FAST_DOUBLE_ELEMENTS:
|
| KeyedStoreStubCompiler::GenerateStoreFastDoubleElement(masm,
|
|
|