| Index: src/objects.cc
|
| diff --git a/src/objects.cc b/src/objects.cc
|
| index 2183fb434a9d24400ec9814a941daa0d120de2db..c98f2e5553352afb5c81f72dd92f223d8be95d9b 100644
|
| --- a/src/objects.cc
|
| +++ b/src/objects.cc
|
| @@ -1909,25 +1909,6 @@ MaybeObject* JSObject::AddFastPropertyUsingMap(Map* new_map,
|
| }
|
|
|
|
|
| -static bool IsIdentifier(UnicodeCache* cache, Name* name) {
|
| - // Checks whether the buffer contains an identifier (no escape).
|
| - if (!name->IsString()) return false;
|
| - String* string = String::cast(name);
|
| - if (string->length() == 0) return false;
|
| - ConsStringIteratorOp op;
|
| - StringCharacterStream stream(string, &op);
|
| - if (!cache->IsIdentifierStart(stream.GetNext())) {
|
| - return false;
|
| - }
|
| - while (stream.HasMore()) {
|
| - if (!cache->IsIdentifierPart(stream.GetNext())) {
|
| - return false;
|
| - }
|
| - }
|
| - return true;
|
| -}
|
| -
|
| -
|
| MaybeObject* JSObject::AddFastProperty(Name* name,
|
| Object* value,
|
| PropertyAttributes attributes,
|
| @@ -1943,10 +1924,7 @@ MaybeObject* JSObject::AddFastProperty(Name* name,
|
| // hidden strings) and is not a real identifier.
|
| // Normalize the object if it will have too many fast properties.
|
| Isolate* isolate = GetHeap()->isolate();
|
| - if ((!name->IsSymbol() &&
|
| - !IsIdentifier(isolate->unicode_cache(), name) &&
|
| - name != isolate->heap()->hidden_string()) ||
|
| - TooManyFastProperties(store_mode)) {
|
| + if (!name->IsCacheable(isolate) || TooManyFastProperties(store_mode)) {
|
| MaybeObject* maybe_failure =
|
| NormalizeProperties(CLEAR_INOBJECT_PROPERTIES, 0);
|
| if (maybe_failure->IsFailure()) return maybe_failure;
|
|
|