| Index: src/objects.cc
|
| diff --git a/src/objects.cc b/src/objects.cc
|
| index 671d06fac85e606b441aee81d1b0e90824108400..2212e575ebc704d2c3e813c954b90945fe2648ed 100644
|
| --- a/src/objects.cc
|
| +++ b/src/objects.cc
|
| @@ -2137,8 +2137,7 @@ Handle<Object> JSObject::AddProperty(Handle<JSObject> object,
|
|
|
| if (object->HasFastProperties()) {
|
| // Ensure the descriptor array does not get too big.
|
| - if (object->map()->NumberOfOwnDescriptors() <
|
| - DescriptorArray::kMaxNumberOfDescriptors) {
|
| + if (object->map()->NumberOfOwnDescriptors() <= kMaxNumberOfDescriptors) {
|
| // TODO(verwaest): Support other constants.
|
| // if (mode == ALLOW_AS_CONSTANT &&
|
| // !value->IsTheHole() &&
|
| @@ -2560,7 +2559,7 @@ void Map::DeprecateTarget(Name* key, DescriptorArray* new_descriptors) {
|
| DescriptorArray* to_replace = instance_descriptors();
|
| Map* current = this;
|
| while (current->instance_descriptors() == to_replace) {
|
| - current->SetEnumLength(Map::kInvalidEnumCache);
|
| + current->SetEnumLength(kInvalidEnumCacheSentinel);
|
| current->set_instance_descriptors(new_descriptors);
|
| Object* next = current->GetBackPointer();
|
| if (next->IsUndefined()) break;
|
| @@ -5915,7 +5914,7 @@ bool JSReceiver::IsSimpleEnum() {
|
| if (!o->IsJSObject()) return false;
|
| JSObject* curr = JSObject::cast(o);
|
| int enum_length = curr->map()->EnumLength();
|
| - if (enum_length == Map::kInvalidEnumCache) return false;
|
| + if (enum_length == kInvalidEnumCacheSentinel) return false;
|
| ASSERT(!curr->HasNamedInterceptor());
|
| ASSERT(!curr->HasIndexedInterceptor());
|
| ASSERT(!curr->IsAccessCheckNeeded());
|
| @@ -6169,8 +6168,7 @@ void JSObject::DefinePropertyAccessor(Handle<JSObject> object,
|
| bool only_attribute_changes = getter->IsNull() && setter->IsNull();
|
| if (object->HasFastProperties() && !only_attribute_changes &&
|
| access_control == v8::DEFAULT &&
|
| - (object->map()->NumberOfOwnDescriptors() <
|
| - DescriptorArray::kMaxNumberOfDescriptors)) {
|
| + (object->map()->NumberOfOwnDescriptors() <= kMaxNumberOfDescriptors)) {
|
| bool getterOk = getter->IsNull() ||
|
| DefineFastAccessor(object, name, ACCESSOR_GETTER, getter, attributes);
|
| bool setterOk = !getterOk || setter->IsNull() ||
|
| @@ -6687,7 +6685,8 @@ MaybeObject* Map::RawCopy(int instance_size) {
|
| int new_bit_field3 = bit_field3();
|
| new_bit_field3 = OwnsDescriptors::update(new_bit_field3, true);
|
| new_bit_field3 = NumberOfOwnDescriptorsBits::update(new_bit_field3, 0);
|
| - new_bit_field3 = EnumLengthBits::update(new_bit_field3, kInvalidEnumCache);
|
| + new_bit_field3 = EnumLengthBits::update(new_bit_field3,
|
| + kInvalidEnumCacheSentinel);
|
| new_bit_field3 = Deprecated::update(new_bit_field3, false);
|
| new_bit_field3 = IsUnstable::update(new_bit_field3, false);
|
| result->set_bit_field3(new_bit_field3);
|
| @@ -9315,7 +9314,7 @@ void String::PrintOn(FILE* file) {
|
|
|
| static void TrimEnumCache(Heap* heap, Map* map, DescriptorArray* descriptors) {
|
| int live_enum = map->EnumLength();
|
| - if (live_enum == Map::kInvalidEnumCache) {
|
| + if (live_enum == kInvalidEnumCacheSentinel) {
|
| live_enum = map->NumberOfDescribedProperties(OWN_DESCRIPTORS, DONT_ENUM);
|
| }
|
| if (live_enum == 0) return descriptors->ClearEnumCache();
|
| @@ -13401,7 +13400,7 @@ int JSObject::NumberOfLocalProperties(PropertyAttributes filter) {
|
| if (filter == NONE) return map->NumberOfOwnDescriptors();
|
| if (filter & DONT_ENUM) {
|
| int result = map->EnumLength();
|
| - if (result != Map::kInvalidEnumCache) return result;
|
| + if (result != kInvalidEnumCacheSentinel) return result;
|
| }
|
| return map->NumberOfDescribedProperties(OWN_DESCRIPTORS, filter);
|
| }
|
| @@ -15768,7 +15767,7 @@ MaybeObject* NameDictionary::TransformPropertiesToFastFor(
|
| // Make sure we preserve dictionary representation if there are too many
|
| // descriptors.
|
| int number_of_elements = NumberOfElements();
|
| - if (number_of_elements > DescriptorArray::kMaxNumberOfDescriptors) return obj;
|
| + if (number_of_elements > kMaxNumberOfDescriptors) return obj;
|
|
|
| if (number_of_elements != NextEnumerationIndex()) {
|
| MaybeObject* maybe_result = GenerateNewEnumerationIndices();
|
|
|