Ignore:
Timestamp:
Oct 7, 2008, 11:17:37 AM (17 years ago)
Author:
[email protected]
Message:

2008-10-07 Cameron Zwarich <[email protected]>

Rubber-stamped by Mark Rowe.

Roll out r37370.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/kjs/PropertyMap.h

    r37370 r37381  
    4343    struct PropertyMapEntry {
    4444        UString::Rep* key;
    45         unsigned offset;
    4645        unsigned attributes;
    4746        unsigned index;
     
    4948        PropertyMapEntry(UString::Rep* k, int a)
    5049            : key(k)
    51             , offset(0)
    5250            , attributes(a)
    5351            , index(0)
     
    9795        bool isEmpty() { return !m_table; }
    9896
    99         size_t get(const Identifier& propertyName);
    100         size_t get(const Identifier& propertyName, unsigned& attributes);
    101         size_t put(const Identifier& propertyName, unsigned attributes);
    102         size_t remove(const Identifier& propertyName);
     97        size_t put(const Identifier& propertyName, JSValue*, unsigned attributes, bool checkReadOnly, JSObject* slotBase, PutPropertySlot&, PropertyStorage&);
     98        void remove(const Identifier& propertyName, PropertyStorage&);
     99
     100        size_t getOffset(const Identifier& propertyName);
     101        size_t getOffset(const Identifier& propertyName, unsigned& attributes);
    103102
    104103        void getEnumerablePropertyNames(PropertyNameArray&) const;
     
    116115        typedef PropertyMapHashTable Table;
    117116
    118         void expand();
    119         void rehash();
    120         void rehash(unsigned newTableSize);
    121         void createTable();
     117        void expand(PropertyStorage&);
     118        void rehash(PropertyStorage&);
     119        void rehash(unsigned newTableSize, PropertyStorage&);
     120        void createTable(PropertyStorage&);
    122121
    123         void insert(const Entry&);
     122        void insert(const Entry&, JSValue*, PropertyStorage&);
    124123
    125         void checkConsistency();
     124        void checkConsistency(PropertyStorage&);
    126125
    127126        Table* m_table;
    128         Vector<unsigned> m_deletedOffsets;
    129127        bool m_getterSetterFlag : 1;
    130128    };
     
    136134    }
    137135
    138     inline size_t PropertyMap::get(const Identifier& propertyName)
     136    inline size_t PropertyMap::getOffset(const Identifier& propertyName)
    139137    {
    140138        ASSERT(!propertyName.isNull());
     
    156154
    157155        if (rep == m_table->entries()[entryIndex - 1].key)
    158             return m_table->entries()[entryIndex - 1].offset;
     156            return entryIndex - 2;
    159157
    160158#if DUMP_PROPERTYMAP_STATS
     
    176174
    177175            if (rep == m_table->entries()[entryIndex - 1].key)
    178                 return m_table->entries()[entryIndex - 1].offset;
     176                return entryIndex - 2;
    179177        }
    180178    }
Note: See TracChangeset for help on using the changeset viewer.