From 2fc2651226baac27029e38c9d6ef883fa32084db Mon Sep 17 00:00:00 2001 From: Steve Block Date: Wed, 18 May 2011 13:36:51 +0100 Subject: Merge WebKit at r78450: Initial merge by git. Change-Id: I6d3e5f1f868ec266a0aafdef66182ddc3f265dc1 --- Source/JavaScriptCore/API/JSCallbackObject.h | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'Source/JavaScriptCore/API/JSCallbackObject.h') diff --git a/Source/JavaScriptCore/API/JSCallbackObject.h b/Source/JavaScriptCore/API/JSCallbackObject.h index 83442b2..f47d0b1 100644 --- a/Source/JavaScriptCore/API/JSCallbackObject.h +++ b/Source/JavaScriptCore/API/JSCallbackObject.h @@ -54,11 +54,11 @@ struct JSCallbackObjectData { return m_privateProperties->getPrivateProperty(propertyName); } - void setPrivateProperty(const Identifier& propertyName, JSValue value) + void setPrivateProperty(JSGlobalData& globalData, JSCell* owner, const Identifier& propertyName, JSValue value) { if (!m_privateProperties) m_privateProperties = adoptPtr(new JSPrivatePropertyMap); - m_privateProperties->setPrivateProperty(propertyName, value); + m_privateProperties->setPrivateProperty(globalData, owner, propertyName, value); } void deletePrivateProperty(const Identifier& propertyName) @@ -83,12 +83,13 @@ struct JSCallbackObjectData { PrivatePropertyMap::const_iterator location = m_propertyMap.find(propertyName.impl()); if (location == m_propertyMap.end()) return JSValue(); - return location->second; + return location->second.get(); } - void setPrivateProperty(const Identifier& propertyName, JSValue value) + void setPrivateProperty(JSGlobalData& globalData, JSCell* owner, const Identifier& propertyName, JSValue value) { - m_propertyMap.set(propertyName.impl(), value); + WriteBarrier empty; + m_propertyMap.add(propertyName.impl(), empty).first->second.set(globalData, owner, value); } void deletePrivateProperty(const Identifier& propertyName) @@ -100,12 +101,12 @@ struct JSCallbackObjectData { { for (PrivatePropertyMap::iterator ptr = m_propertyMap.begin(); ptr != m_propertyMap.end(); ++ptr) { if (ptr->second) - markStack.append(ptr->second); + markStack.append(&ptr->second); } } private: - typedef HashMap, JSValue, IdentifierRepHash> PrivatePropertyMap; + typedef HashMap, WriteBarrier, IdentifierRepHash> PrivatePropertyMap; PrivatePropertyMap m_propertyMap; }; OwnPtr m_privateProperties; @@ -137,9 +138,9 @@ public: return m_callbackObjectData->getPrivateProperty(propertyName); } - void setPrivateProperty(const Identifier& propertyName, JSValue value) + void setPrivateProperty(JSGlobalData& globalData, const Identifier& propertyName, JSValue value) { - m_callbackObjectData->setPrivateProperty(propertyName, value); + m_callbackObjectData->setPrivateProperty(globalData, this, propertyName, value); } void deletePrivateProperty(const Identifier& propertyName) @@ -154,7 +155,6 @@ private: virtual UString className() const; virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&); - virtual bool getOwnPropertySlot(ExecState*, unsigned, PropertySlot&); virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&); virtual void put(ExecState*, const Identifier&, JSValue, PutPropertySlot&); -- cgit v1.1