Ignore:
Timestamp:
Jan 30, 2011, 5:13:10 PM (14 years ago)
Author:
[email protected]
Message:

Convert markstack to a slot visitor API
https://bugs.webkit.org/show_bug.cgi?id=53219

rolling r77006 and r77020 back in.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/API/JSCallbackObject.h

    r77044 r77098  
    5555    }
    5656   
    57     void setPrivateProperty(const Identifier& propertyName, JSValue value)
     57    void setPrivateProperty(JSGlobalData& globalData, JSCell* owner, const Identifier& propertyName, JSValue value)
    5858    {
    5959        if (!m_privateProperties)
    6060            m_privateProperties = adoptPtr(new JSPrivatePropertyMap);
    61         m_privateProperties->setPrivateProperty(propertyName, value);
     61        m_privateProperties->setPrivateProperty(globalData, owner, propertyName, value);
    6262    }
    6363   
     
    8484            if (location == m_propertyMap.end())
    8585                return JSValue();
    86             return location->second;
     86            return location->second.get();
    8787        }
    8888       
    89         void setPrivateProperty(const Identifier& propertyName, JSValue value)
    90         {
    91             m_propertyMap.set(propertyName.impl(), value);
     89        void setPrivateProperty(JSGlobalData& globalData, JSCell* owner, const Identifier& propertyName, JSValue value)
     90        {
     91            WriteBarrier<Unknown> empty;
     92            m_propertyMap.add(propertyName.impl(), empty).first->second.set(globalData, owner, value);
    9293        }
    9394       
     
    101102            for (PrivatePropertyMap::iterator ptr = m_propertyMap.begin(); ptr != m_propertyMap.end(); ++ptr) {
    102103                if (ptr->second)
    103                     markStack.append(ptr->second);
     104                    markStack.append(&ptr->second);
    104105            }
    105106        }
    106107
    107108    private:
    108         typedef HashMap<RefPtr<StringImpl>, JSValue, IdentifierRepHash> PrivatePropertyMap;
     109        typedef HashMap<RefPtr<StringImpl>, WriteBarrier<Unknown>, IdentifierRepHash> PrivatePropertyMap;
    109110        PrivatePropertyMap m_propertyMap;
    110111    };
     
    138139    }
    139140   
    140     void setPrivateProperty(const Identifier& propertyName, JSValue value)
    141     {
    142         m_callbackObjectData->setPrivateProperty(propertyName, value);
     141    void setPrivateProperty(JSGlobalData& globalData, const Identifier& propertyName, JSValue value)
     142    {
     143        m_callbackObjectData->setPrivateProperty(globalData, this, propertyName, value);
    143144    }
    144145   
Note: See TracChangeset for help on using the changeset viewer.