Changeset 50323 in webkit for trunk/JavaScriptCore


Ignore:
Timestamp:
Oct 30, 2009, 1:13:38 AM (16 years ago)
Author:
[email protected]
Message:

Regression: crash enumerating properties of an object with getters or setters
https://bugs.webkit.org/show_bug.cgi?id=30948

Reviewed by Gavin Barraclough

Add a guard to prevent us trying to cache property enumeration on
objects with getters or setters.

Location:
trunk/JavaScriptCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/ChangeLog

    r50322 r50323  
     12009-10-30  Oliver Hunt  <[email protected]>
     2
     3        Reviewed by Gavin Barraclough.
     4
     5        Regression: crash enumerating properties of an object with getters or setters
     6        https://bugs.webkit.org/show_bug.cgi?id=30948
     7
     8        Add a guard to prevent us trying to cache property enumeration on
     9        objects with getters or setters.
     10
     11        * runtime/JSPropertyNameIterator.cpp:
     12        (JSC::JSPropertyNameIterator::create):
     13
    1142009-10-30  Roland Steiner  <[email protected]>
    215
  • trunk/JavaScriptCore/runtime/JSPropertyNameIterator.cpp

    r50254 r50323  
    4646    size_t numCacheableSlots = 0;
    4747    if (!o->structure()->hasNonEnumerableProperties() && !o->structure()->hasAnonymousSlots() &&
    48         !o->structure()->isUncacheableDictionary() && !o->structure()->typeInfo().overridesGetPropertyNames())
     48        !o->structure()->hasGetterSetterProperties() && !o->structure()->isUncacheableDictionary() &&
     49        !o->structure()->typeInfo().overridesGetPropertyNames())
    4950        numCacheableSlots = o->structure()->propertyStorageSize();
    5051
Note: See TracChangeset for help on using the changeset viewer.