| OLD | NEW |
| 1 // Copyright 2006-2008 the V8 project authors. All rights reserved. | 1 // Copyright 2006-2008 the V8 project authors. All rights reserved. |
| 2 | 2 |
| 3 #include <stdlib.h> | 3 #include <stdlib.h> |
| 4 | 4 |
| 5 #include "v8.h" | 5 #include "v8.h" |
| 6 | 6 |
| 7 #include "execution.h" | 7 #include "execution.h" |
| 8 #include "factory.h" | 8 #include "factory.h" |
| 9 #include "macro-assembler.h" | 9 #include "macro-assembler.h" |
| 10 #include "global-handles.h" | 10 #include "global-handles.h" |
| (...skipping 635 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 646 CHECK_EQ(Smi::FromInt(1), array->length()); | 646 CHECK_EQ(Smi::FromInt(1), array->length()); |
| 647 CHECK_EQ(array->GetElement(0), name); | 647 CHECK_EQ(array->GetElement(0), name); |
| 648 | 648 |
| 649 // Set array length with larger than smi value. | 649 // Set array length with larger than smi value. |
| 650 Object* length = Heap::NumberFromInt32(Smi::kMaxValue + 1); | 650 Object* length = Heap::NumberFromInt32(Smi::kMaxValue + 1); |
| 651 array->SetElementsLength(length); | 651 array->SetElementsLength(length); |
| 652 | 652 |
| 653 uint32_t int_length = 0; | 653 uint32_t int_length = 0; |
| 654 CHECK(Array::IndexFromObject(length, &int_length)); | 654 CHECK(Array::IndexFromObject(length, &int_length)); |
| 655 CHECK_EQ(length, array->length()); | 655 CHECK_EQ(length, array->length()); |
| 656 CHECK(!array->HasFastElements()); // Must be in slow mode. | 656 CHECK(array->HasDictionaryElements()); // Must be in slow mode. |
| 657 | 657 |
| 658 // array[length] = name. | 658 // array[length] = name. |
| 659 array->SetElement(int_length, name); | 659 array->SetElement(int_length, name); |
| 660 uint32_t new_int_length = 0; | 660 uint32_t new_int_length = 0; |
| 661 CHECK(Array::IndexFromObject(array->length(), &new_int_length)); | 661 CHECK(Array::IndexFromObject(array->length(), &new_int_length)); |
| 662 CHECK_EQ(static_cast<double>(int_length), new_int_length - 1); | 662 CHECK_EQ(static_cast<double>(int_length), new_int_length - 1); |
| 663 CHECK_EQ(array->GetElement(int_length), name); | 663 CHECK_EQ(array->GetElement(int_length), name); |
| 664 CHECK_EQ(array->GetElement(0), name); | 664 CHECK_EQ(array->GetElement(0), name); |
| 665 } | 665 } |
| 666 | 666 |
| (...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 789 objs[next_objs_index++] = | 789 objs[next_objs_index++] = |
| 790 Factory::NewStringFromAscii(CStrVector(str), TENURED); | 790 Factory::NewStringFromAscii(CStrVector(str), TENURED); |
| 791 delete[] str; | 791 delete[] str; |
| 792 | 792 |
| 793 // Add a Map object to look for. | 793 // Add a Map object to look for. |
| 794 objs[next_objs_index++] = Handle<Map>(HeapObject::cast(*objs[0])->map()); | 794 objs[next_objs_index++] = Handle<Map>(HeapObject::cast(*objs[0])->map()); |
| 795 | 795 |
| 796 CHECK_EQ(objs_count, next_objs_index); | 796 CHECK_EQ(objs_count, next_objs_index); |
| 797 CHECK_EQ(objs_count, ObjectsFoundInHeap(objs, objs_count)); | 797 CHECK_EQ(objs_count, ObjectsFoundInHeap(objs, objs_count)); |
| 798 } | 798 } |
| OLD | NEW |