Reviewers: Toon Verwaest,

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


Please review this at http://codereview.chromium.org/11362182/

SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge

Affected files:
  M src/objects.cc


Index: src/objects.cc
diff --git a/src/objects.cc b/src/objects.cc
index 65c005869a040938d6906a8f7eb2cb40e830cdea..0088e4a3d006bbffe118901a925b66a291a224b8 100644
--- a/src/objects.cc
+++ b/src/objects.cc
@@ -4712,7 +4712,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);


--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to