Index: src/objects-inl.h |
diff --git a/src/objects-inl.h b/src/objects-inl.h |
index 27528d644253793d8418fc019ec183557cd52c31..501eef4c20086a1d2361542b0117d0eb1a868340 100644 |
--- a/src/objects-inl.h |
+++ b/src/objects-inl.h |
@@ -1197,6 +1197,20 @@ MaybeHandle<Object> Object::GetProperty(Isolate* isolate, |
} |
+MaybeHandle<Object> JSObject::DefinePropertyOrElement( |
+ Handle<JSObject> object, Handle<Name> name, Handle<Object> value, |
+ PropertyAttributes attributes) { |
+ uint32_t index; |
+ if (name->AsArrayIndex(&index)) { |
+ return SetOwnElementIgnoreAttributes(object, index, value, attributes); |
+ } |
+ |
+ // TODO(verwaest): Is this necessary? |
+ if (name->IsString()) name = String::Flatten(Handle<String>::cast(name)); |
+ return SetOwnPropertyIgnoreAttributes(object, name, value, attributes); |
+} |
+ |
+ |
#define FIELD_ADDR(p, offset) \ |
(reinterpret_cast<byte*>(p) + offset - kHeapObjectTag) |