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; |
} |