| Index: src/objects.cc
|
| diff --git a/src/objects.cc b/src/objects.cc
|
| index fe36002c1d82a13d389be8885400daa4033b9047..fdf1bac36b2150e60cffed10a24f6ea6829c5a9d 100644
|
| --- a/src/objects.cc
|
| +++ b/src/objects.cc
|
| @@ -3725,7 +3725,8 @@ MaybeObject* JSObject::NormalizeProperties(PropertyNormalizationMode mode,
|
| property_count += 2; // Make space for two more properties.
|
| }
|
| NameDictionary* dictionary;
|
| - MaybeObject* maybe_dictionary = NameDictionary::Allocate(property_count);
|
| + MaybeObject* maybe_dictionary =
|
| + NameDictionary::Allocate(GetHeap(), property_count);
|
| if (!maybe_dictionary->To(&dictionary)) return maybe_dictionary;
|
|
|
| DescriptorArray* descs = map_of_this->instance_descriptors();
|
| @@ -3863,7 +3864,8 @@ MaybeObject* JSObject::NormalizeElements() {
|
| GetElementsCapacityAndUsage(&old_capacity, &used_elements);
|
| SeededNumberDictionary* dictionary = NULL;
|
| { Object* object;
|
| - MaybeObject* maybe = SeededNumberDictionary::Allocate(used_elements);
|
| + MaybeObject* maybe =
|
| + SeededNumberDictionary::Allocate(GetHeap(), used_elements);
|
| if (!maybe->ToObject(&object)) return maybe;
|
| dictionary = SeededNumberDictionary::cast(object);
|
| }
|
| @@ -4149,7 +4151,8 @@ MaybeObject* JSObject::GetHiddenPropertiesHashTable(
|
| ObjectHashTable* hashtable;
|
| static const int kInitialCapacity = 4;
|
| MaybeObject* maybe_obj =
|
| - ObjectHashTable::Allocate(kInitialCapacity,
|
| + ObjectHashTable::Allocate(GetHeap(),
|
| + kInitialCapacity,
|
| ObjectHashTable::USE_CUSTOM_MINIMUM_CAPACITY);
|
| if (!maybe_obj->To<ObjectHashTable>(&hashtable)) return maybe_obj;
|
|
|
| @@ -6036,7 +6039,8 @@ MaybeObject* CodeCache::Update(Name* name, Code* code) {
|
| if (normal_type_cache()->IsUndefined()) {
|
| Object* result;
|
| { MaybeObject* maybe_result =
|
| - CodeCacheHashTable::Allocate(CodeCacheHashTable::kInitialSize);
|
| + CodeCacheHashTable::Allocate(GetHeap(),
|
| + CodeCacheHashTable::kInitialSize);
|
| if (!maybe_result->ToObject(&result)) return maybe_result;
|
| }
|
| set_normal_type_cache(result);
|
| @@ -6317,6 +6321,7 @@ MaybeObject* PolymorphicCodeCache::Update(MapHandleList* maps,
|
| Object* result;
|
| { MaybeObject* maybe_result =
|
| PolymorphicCodeCacheHashTable::Allocate(
|
| + GetHeap(),
|
| PolymorphicCodeCacheHashTable::kInitialSize);
|
| if (!maybe_result->ToObject(&result)) return maybe_result;
|
| }
|
| @@ -12073,7 +12078,8 @@ void HashTable<Shape, Key>::IterateElements(ObjectVisitor* v) {
|
|
|
|
|
| template<typename Shape, typename Key>
|
| -MaybeObject* HashTable<Shape, Key>::Allocate(int at_least_space_for,
|
| +MaybeObject* HashTable<Shape, Key>::Allocate(Heap* heap,
|
| + int at_least_space_for,
|
| MinimumCapacity capacity_option,
|
| PretenureFlag pretenure) {
|
| ASSERT(!capacity_option || IS_POWER_OF_TWO(at_least_space_for));
|
| @@ -12085,8 +12091,8 @@ MaybeObject* HashTable<Shape, Key>::Allocate(int at_least_space_for,
|
| }
|
|
|
| Object* obj;
|
| - { MaybeObject* maybe_obj = Isolate::Current()->heap()->
|
| - AllocateHashTable(EntryToIndex(capacity), pretenure);
|
| + { MaybeObject* maybe_obj =
|
| + heap-> AllocateHashTable(EntryToIndex(capacity), pretenure);
|
| if (!maybe_obj->ToObject(&obj)) return maybe_obj;
|
| }
|
| HashTable::cast(obj)->SetNumberOfElements(0);
|
| @@ -12188,7 +12194,8 @@ MaybeObject* HashTable<Shape, Key>::EnsureCapacity(int n, Key key) {
|
| (capacity > kMinCapacityForPretenure) && !GetHeap()->InNewSpace(this);
|
| Object* obj;
|
| { MaybeObject* maybe_obj =
|
| - Allocate(nof * 2,
|
| + Allocate(GetHeap(),
|
| + nof * 2,
|
| USE_DEFAULT_MINIMUM_CAPACITY,
|
| pretenure ? TENURED : NOT_TENURED);
|
| if (!maybe_obj->ToObject(&obj)) return maybe_obj;
|
| @@ -12219,7 +12226,8 @@ MaybeObject* HashTable<Shape, Key>::Shrink(Key key) {
|
| !GetHeap()->InNewSpace(this);
|
| Object* obj;
|
| { MaybeObject* maybe_obj =
|
| - Allocate(at_least_room_for,
|
| + Allocate(GetHeap(),
|
| + at_least_room_for,
|
| USE_DEFAULT_MINIMUM_CAPACITY,
|
| pretenure ? TENURED : NOT_TENURED);
|
| if (!maybe_obj->ToObject(&obj)) return maybe_obj;
|
| @@ -12263,12 +12271,13 @@ template class Dictionary<SeededNumberDictionaryShape, uint32_t>;
|
| template class Dictionary<UnseededNumberDictionaryShape, uint32_t>;
|
|
|
| template MaybeObject* Dictionary<SeededNumberDictionaryShape, uint32_t>::
|
| - Allocate(int at_least_space_for);
|
| + Allocate(Heap* heap, int at_least_space_for);
|
|
|
| template MaybeObject* Dictionary<UnseededNumberDictionaryShape, uint32_t>::
|
| - Allocate(int at_least_space_for);
|
| + Allocate(Heap* heap, int at_least_space_for);
|
|
|
| -template MaybeObject* Dictionary<NameDictionaryShape, Name*>::Allocate(int n);
|
| +template MaybeObject* Dictionary<NameDictionaryShape, Name*>::
|
| + Allocate(Heap* heap, int n);
|
|
|
| template MaybeObject* Dictionary<SeededNumberDictionaryShape, uint32_t>::AtPut(
|
| uint32_t, Object*);
|
| @@ -12374,7 +12383,7 @@ MaybeObject* JSObject::PrepareSlowElementsForSort(uint32_t limit) {
|
|
|
| Object* obj;
|
| { MaybeObject* maybe_obj =
|
| - SeededNumberDictionary::Allocate(dict->NumberOfElements());
|
| + SeededNumberDictionary::Allocate(GetHeap(), dict->NumberOfElements());
|
| if (!maybe_obj->ToObject(&obj)) return maybe_obj;
|
| }
|
| SeededNumberDictionary* new_dict = SeededNumberDictionary::cast(obj);
|
| @@ -13158,10 +13167,11 @@ MaybeObject* MapCache::Put(FixedArray* array, Map* value) {
|
|
|
|
|
| template<typename Shape, typename Key>
|
| -MaybeObject* Dictionary<Shape, Key>::Allocate(int at_least_space_for) {
|
| +MaybeObject* Dictionary<Shape, Key>::Allocate(Heap* heap,
|
| + int at_least_space_for) {
|
| Object* obj;
|
| { MaybeObject* maybe_obj =
|
| - HashTable<Shape, Key>::Allocate(at_least_space_for);
|
| + HashTable<Shape, Key>::Allocate(heap, at_least_space_for);
|
| if (!maybe_obj->ToObject(&obj)) return maybe_obj;
|
| }
|
| // Initialize the next enumeration index.
|
| @@ -13289,7 +13299,7 @@ MaybeObject* Dictionary<Shape, Key>::AtPut(Key key, Object* value) {
|
| }
|
|
|
| Object* k;
|
| - { MaybeObject* maybe_k = Shape::AsObject(key);
|
| + { MaybeObject* maybe_k = Shape::AsObject(this->GetIsolate(), key);
|
| if (!maybe_k->ToObject(&k)) return maybe_k;
|
| }
|
| PropertyDetails details = PropertyDetails(NONE, NORMAL);
|
| @@ -13326,7 +13336,7 @@ MaybeObject* Dictionary<Shape, Key>::AddEntry(Key key,
|
| uint32_t hash) {
|
| // Compute the key object.
|
| Object* k;
|
| - { MaybeObject* maybe_k = Shape::AsObject(key);
|
| + { MaybeObject* maybe_k = Shape::AsObject(this->GetIsolate(), key);
|
| if (!maybe_k->ToObject(&k)) return maybe_k;
|
| }
|
|
|
| @@ -13426,7 +13436,8 @@ MaybeObject* SeededNumberDictionary::Set(uint32_t key,
|
| details = PropertyDetails(details.attributes(),
|
| details.type(),
|
| DetailsAt(entry).dictionary_index());
|
| - MaybeObject* maybe_object_key = SeededNumberDictionaryShape::AsObject(key);
|
| + MaybeObject* maybe_object_key =
|
| + SeededNumberDictionaryShape::AsObject(GetIsolate(), key);
|
| Object* object_key;
|
| if (!maybe_object_key->ToObject(&object_key)) return maybe_object_key;
|
| SetEntry(entry, object_key, value, details);
|
| @@ -13438,7 +13449,8 @@ MaybeObject* UnseededNumberDictionary::Set(uint32_t key,
|
| Object* value) {
|
| int entry = FindEntry(key);
|
| if (entry == kNotFound) return AddNumberEntry(key, value);
|
| - MaybeObject* maybe_object_key = UnseededNumberDictionaryShape::AsObject(key);
|
| + MaybeObject* maybe_object_key =
|
| + UnseededNumberDictionaryShape::AsObject(GetIsolate(), key);
|
| Object* object_key;
|
| if (!maybe_object_key->ToObject(&object_key)) return maybe_object_key;
|
| SetEntry(entry, object_key, value);
|
|
|