Browse Source

v8: backport codereview.chromium.org/11362182

Keep the number of descriptors below
DescriptorArray::kMaxNumberOfDescriptors even for accessors

Review URL: https://codereview.chromium.org/11362182
v0.10.25-release
svenpanne@chromium.org 13 years ago
committed by Fedor Indutny
parent
commit
196184d332
  1. 4
      deps/v8/src/objects.cc

4
deps/v8/src/objects.cc

@ -4453,7 +4453,9 @@ MaybeObject* JSObject::DefinePropertyAccessor(String* name,
// to do a lookup, which seems to be a bit of overkill.
Heap* heap = GetHeap();
bool only_attribute_changes = getter->IsNull() && setter->IsNull();
if (HasFastProperties() && !only_attribute_changes) {
if (HasFastProperties() && !only_attribute_changes &&
(map()->NumberOfOwnDescriptors() <
DescriptorArray::kMaxNumberOfDescriptors)) {
MaybeObject* getterOk = heap->undefined_value();
if (!getter->IsNull()) {
getterOk = DefineFastAccessor(name, ACCESSOR_GETTER, getter, attributes);

Loading…
Cancel
Save