| Index: src/elements.cc
 | 
| ===================================================================
 | 
| --- src/elements.cc	(revision 10404)
 | 
| +++ src/elements.cc	(working copy)
 | 
| @@ -549,11 +549,11 @@
 | 
|  
 | 
|  class DictionaryElementsAccessor
 | 
|      : public ElementsAccessorBase<DictionaryElementsAccessor,
 | 
| -                                  NumberDictionary> {
 | 
| +                                  SeededNumberDictionary> {
 | 
|   public:
 | 
|    // Adjusts the length of the dictionary backing store and returns the new
 | 
|    // length according to ES5 section 15.4.5.2 behavior.
 | 
| -  static MaybeObject* SetLengthWithoutNormalize(NumberDictionary* dict,
 | 
| +  static MaybeObject* SetLengthWithoutNormalize(SeededNumberDictionary* dict,
 | 
|                                                  JSArray* array,
 | 
|                                                  Object* length_object,
 | 
|                                                  uint32_t length) {
 | 
| @@ -619,9 +619,10 @@
 | 
|      if (is_arguments) {
 | 
|        backing_store = FixedArray::cast(backing_store->get(1));
 | 
|      }
 | 
| -    NumberDictionary* dictionary = NumberDictionary::cast(backing_store);
 | 
| +    SeededNumberDictionary* dictionary =
 | 
| +        SeededNumberDictionary::cast(backing_store);
 | 
|      int entry = dictionary->FindEntry(key);
 | 
| -    if (entry != NumberDictionary::kNotFound) {
 | 
| +    if (entry != SeededNumberDictionary::kNotFound) {
 | 
|        Object* result = dictionary->DeleteProperty(entry, mode);
 | 
|        if (result == heap->true_value()) {
 | 
|          MaybeObject* maybe_elements = dictionary->Shrink(key);
 | 
| @@ -654,7 +655,7 @@
 | 
|  
 | 
|   protected:
 | 
|    friend class ElementsAccessorBase<DictionaryElementsAccessor,
 | 
| -                                    NumberDictionary>;
 | 
| +                                    SeededNumberDictionary>;
 | 
|  
 | 
|    virtual MaybeObject* Delete(JSObject* obj,
 | 
|                                uint32_t key,
 | 
| @@ -662,12 +663,12 @@
 | 
|      return DeleteCommon(obj, key, mode);
 | 
|    }
 | 
|  
 | 
| -  static MaybeObject* Get(NumberDictionary* backing_store,
 | 
| +  static MaybeObject* Get(SeededNumberDictionary* backing_store,
 | 
|                            uint32_t key,
 | 
|                            JSObject* obj,
 | 
|                            Object* receiver) {
 | 
|      int entry = backing_store->FindEntry(key);
 | 
| -    if (entry != NumberDictionary::kNotFound) {
 | 
| +    if (entry != SeededNumberDictionary::kNotFound) {
 | 
|        Object* element = backing_store->ValueAt(entry);
 | 
|        PropertyDetails details = backing_store->DetailsAt(entry);
 | 
|        if (details.type() == CALLBACKS) {
 | 
| @@ -682,7 +683,7 @@
 | 
|      return obj->GetHeap()->the_hole_value();
 | 
|    }
 | 
|  
 | 
| -  static uint32_t GetKeyForIndex(NumberDictionary* dict,
 | 
| +  static uint32_t GetKeyForIndex(SeededNumberDictionary* dict,
 | 
|                                   uint32_t index) {
 | 
|      Object* key = dict->KeyAt(index);
 | 
|      return Smi::cast(key)->value();
 | 
| @@ -895,7 +896,7 @@
 | 
|    if (length->IsNumber()) {
 | 
|      uint32_t value;
 | 
|      if (length->ToArrayIndex(&value)) {
 | 
| -      NumberDictionary* dictionary;
 | 
| +      SeededNumberDictionary* dictionary;
 | 
|        MaybeObject* maybe_object = array->NormalizeElements();
 | 
|        if (!maybe_object->To(&dictionary)) return maybe_object;
 | 
|        Object* new_length;
 | 
| 
 |