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