Chromium Code Reviews| Index: src/elements.cc |
| diff --git a/src/elements.cc b/src/elements.cc |
| index e4ecfe8dd63df799b4bd083f59b849808c6e5973..7774b386c1c2e0346957d63ccfe90241ed20f129 100644 |
| --- a/src/elements.cc |
| +++ b/src/elements.cc |
| @@ -227,7 +227,9 @@ class FastElementsAccessor |
| public: |
| static MaybeObject* DeleteCommon(JSObject* obj, |
| uint32_t key) { |
| - ASSERT(obj->HasFastElements() || obj->HasFastArgumentsElements()); |
| + ASSERT(obj->HasFastElements() || |
| + obj->HasFastSmiOnlyElements() || |
| + obj->HasFastArgumentsElements()); |
| Heap* heap = obj->GetHeap(); |
| FixedArray* backing_store = FixedArray::cast(obj->elements()); |
| if (backing_store->map() == heap->non_strict_arguments_elements_map()) { |
| @@ -613,6 +615,7 @@ void ElementsAccessor::InitializeOncePerProcess() { |
| static ElementsAccessor* accessor_array[] = { |
| &element_accessors.fast_elements_handler, |
|
Jakob Kummerow
2011/09/16 16:30:34
Please add a comment here that the duplicate line
danno
2011/09/21 14:32:04
Done.
|
| + &element_accessors.fast_elements_handler, |
| &element_accessors.fast_double_elements_handler, |
| &element_accessors.dictionary_elements_handler, |
| &element_accessors.non_strict_arguments_elements_handler, |
| @@ -627,6 +630,9 @@ void ElementsAccessor::InitializeOncePerProcess() { |
| &element_accessors.pixel_elements_handler |
| }; |
| + STATIC_ASSERT((sizeof(accessor_array) / sizeof(*accessor_array)) == |
| + kElementsKindCount); |
| + |
| elements_accessors_ = accessor_array; |
| } |