Chromium Code Reviews| Index: src/code-stubs.cc |
| diff --git a/src/code-stubs.cc b/src/code-stubs.cc |
| index db57280f41857a84864bf8458a80323e47847d08..2bcd7260aa9f0232142460e7d8fc98b615657eca 100644 |
| --- a/src/code-stubs.cc |
| +++ b/src/code-stubs.cc |
| @@ -244,23 +244,61 @@ const char* InstanceofStub::GetName() { |
| } |
| -void KeyedLoadFastElementStub::Generate(MacroAssembler* masm) { |
| - KeyedLoadStubCompiler::GenerateLoadFastElement(masm); |
| -} |
| - |
| - |
| -void KeyedStoreFastElementStub::Generate(MacroAssembler* masm) { |
| - KeyedStoreStubCompiler::GenerateStoreFastElement(masm, is_js_array_); |
| -} |
| - |
| - |
| -void KeyedLoadExternalArrayStub::Generate(MacroAssembler* masm) { |
| - KeyedLoadStubCompiler::GenerateLoadExternalArray(masm, elements_kind_); |
| +void KeyedLoadElementStub::Generate(MacroAssembler* masm) { |
| + switch (elements_kind_) { |
| + case JSObject::FAST_ELEMENTS: |
|
Jakob Kummerow
2011/07/07 13:55:38
nit: indent "case" lines inside "switch" statement
danno
2011/07/08 11:00:24
Done.
|
| + KeyedLoadStubCompiler::GenerateLoadFastElement(masm); |
| + break; |
| + case JSObject::FAST_DOUBLE_ELEMENTS: |
| + UNIMPLEMENTED(); |
| + break; |
| + case JSObject::EXTERNAL_BYTE_ELEMENTS: |
| + case JSObject::EXTERNAL_UNSIGNED_BYTE_ELEMENTS: |
| + case JSObject::EXTERNAL_SHORT_ELEMENTS: |
| + case JSObject::EXTERNAL_UNSIGNED_SHORT_ELEMENTS: |
| + case JSObject::EXTERNAL_INT_ELEMENTS: |
| + case JSObject::EXTERNAL_UNSIGNED_INT_ELEMENTS: |
| + case JSObject::EXTERNAL_FLOAT_ELEMENTS: |
| + case JSObject::EXTERNAL_DOUBLE_ELEMENTS: |
| + case JSObject::EXTERNAL_PIXEL_ELEMENTS: |
| + KeyedLoadStubCompiler::GenerateLoadExternalArray(masm, elements_kind_); |
| + break; |
| + case JSObject::DICTIONARY_ELEMENTS: |
| + KeyedLoadStubCompiler::GenerateLoadDictionaryElement(masm); |
| + break; |
| + case JSObject::NON_STRICT_ARGUMENTS_ELEMENTS: |
| + UNREACHABLE(); |
| + break; |
| + } |
| } |
| -void KeyedStoreExternalArrayStub::Generate(MacroAssembler* masm) { |
| - KeyedStoreStubCompiler::GenerateStoreExternalArray(masm, elements_kind_); |
| +void KeyedStoreElementStub::Generate(MacroAssembler* masm) { |
| + switch (elements_kind_) { |
| + case JSObject::FAST_ELEMENTS: |
|
Jakob Kummerow
2011/07/07 13:55:38
Same indentation nit here.
danno
2011/07/08 11:00:24
Done.
|
| + KeyedStoreStubCompiler::GenerateStoreFastElement(masm, is_js_array_); |
| + break; |
| + case JSObject::FAST_DOUBLE_ELEMENTS: |
| + UNIMPLEMENTED(); |
| + break; |
| + case JSObject::EXTERNAL_BYTE_ELEMENTS: |
| + case JSObject::EXTERNAL_UNSIGNED_BYTE_ELEMENTS: |
| + case JSObject::EXTERNAL_SHORT_ELEMENTS: |
| + case JSObject::EXTERNAL_UNSIGNED_SHORT_ELEMENTS: |
| + case JSObject::EXTERNAL_INT_ELEMENTS: |
| + case JSObject::EXTERNAL_UNSIGNED_INT_ELEMENTS: |
| + case JSObject::EXTERNAL_FLOAT_ELEMENTS: |
| + case JSObject::EXTERNAL_DOUBLE_ELEMENTS: |
| + case JSObject::EXTERNAL_PIXEL_ELEMENTS: |
| + KeyedStoreStubCompiler::GenerateStoreExternalArray(masm, elements_kind_); |
| + break; |
| + case JSObject::DICTIONARY_ELEMENTS: |
| + KeyedStoreStubCompiler::GenerateStoreDictionaryElement(masm); |
| + break; |
| + case JSObject::NON_STRICT_ARGUMENTS_ELEMENTS: |
| + UNREACHABLE(); |
| + break; |
| + } |
| } |