| Index: src/code-stubs.cc
|
| diff --git a/src/code-stubs.cc b/src/code-stubs.cc
|
| index 9c87c8490ac8a90cd1d8b8e141710d33f81b4639..1cb4b98e0f2af03fd148c812567b0857b5376ab6 100644
|
| --- a/src/code-stubs.cc
|
| +++ b/src/code-stubs.cc
|
| @@ -247,6 +247,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:
|
| @@ -276,7 +277,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,
|
|
|