Changeset 49955 in webkit for trunk/JavaScriptCore/runtime


Ignore:
Timestamp:
Oct 22, 2009, 1:33:16 PM (16 years ago)
Author:
[email protected]
Message:

Fixed ASSERT when opening Safari's Caches window while the Web Inspector
is open.

Patch by Geoffrey Garen <[email protected]> on 2009-10-22
Reviewed by Alexey Proskuryakov.

  • runtime/Collector.cpp:

(JSC::typeName): Added two new types to the type name list in the Collector.
These types have been around for a while, but nobody remembered to consider them here.

  • runtime/JSCell.h:

(JSC::JSCell::isPropertyNameIterator):

  • runtime/JSPropertyNameIterator.h:

(JSC::JSPropertyNameIterator::isPropertyNameIterator): Give the Collector
a way to tell if a cell is a JSPropertyNameIterator.

Location:
trunk/JavaScriptCore/runtime
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/runtime/Collector.cpp

    r49280 r49955  
    12291229    if (cell->isGetterSetter())
    12301230        return "gettersetter";
     1231    if (cell->isAPIValueWrapper())
     1232        return "value wrapper";
     1233    if (cell->isPropertyNameIterator())
     1234        return "for-in iterator";
    12311235    ASSERT(cell->isObject());
    12321236    const ClassInfo* info = cell->classInfo();
  • trunk/JavaScriptCore/runtime/JSCell.h

    r49734 r49955  
    6060        bool inherits(const ClassInfo*) const;
    6161        virtual bool isAPIValueWrapper() const { return false; }
     62        virtual bool isPropertyNameIterator() const { return false; }
    6263
    6364        Structure* structure() const;
  • trunk/JavaScriptCore/runtime/JSPropertyNameIterator.h

    r49734 r49955  
    5151        }
    5252
     53        virtual bool isPropertyNameIterator() const { return true; }
     54
    5355        virtual void markChildren(MarkStack&);
    5456
Note: See TracChangeset for help on using the changeset viewer.