| Index: src/elements.cc
|
| ===================================================================
|
| --- src/elements.cc (revision 10400)
|
| +++ 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;
|
|
|