summaryrefslogtreecommitdiff
path: root/Source/JavaScriptCore/runtime/JSObject.cpp
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@nokia.com>2012-05-07 11:21:11 +0200
committerSimon Hausmann <simon.hausmann@nokia.com>2012-05-07 11:21:11 +0200
commit2cf6c8816a73e0132bd8fa3b509d62d7c51b6e47 (patch)
tree988e8c5b116dd0466244ae2fe5af8ee9be926d76 /Source/JavaScriptCore/runtime/JSObject.cpp
parentdd91e772430dc294e3bf478c119ef8d43c0a3358 (diff)
downloadqtwebkit-2cf6c8816a73e0132bd8fa3b509d62d7c51b6e47.tar.gz
Imported WebKit commit 7e538425aa020340619e927792f3d895061fb54b (http://svn.webkit.org/repository/webkit/trunk@116286)
Diffstat (limited to 'Source/JavaScriptCore/runtime/JSObject.cpp')
-rw-r--r--Source/JavaScriptCore/runtime/JSObject.cpp20
1 files changed, 13 insertions, 7 deletions
diff --git a/Source/JavaScriptCore/runtime/JSObject.cpp b/Source/JavaScriptCore/runtime/JSObject.cpp
index 1bdb90ff6..500f3891a 100644
--- a/Source/JavaScriptCore/runtime/JSObject.cpp
+++ b/Source/JavaScriptCore/runtime/JSObject.cpp
@@ -203,7 +203,7 @@ bool JSObject::setPrototypeWithCycleCheck(JSGlobalData& globalData, JSValue prot
{
JSValue checkFor = this;
if (this->isGlobalObject())
- checkFor = static_cast<JSGlobalObject*>(this)->globalExec()->thisValue();
+ checkFor = jsCast<JSGlobalObject*>(this)->globalExec()->thisValue();
JSValue nextPrototype = prototype;
while (nextPrototype && nextPrototype.isObject()) {
@@ -217,7 +217,7 @@ bool JSObject::setPrototypeWithCycleCheck(JSGlobalData& globalData, JSValue prot
bool JSObject::allowsAccessFrom(ExecState* exec)
{
- JSGlobalObject* globalObject = isGlobalThis() ? static_cast<JSGlobalThis*>(this)->unwrappedObject() : this->globalObject();
+ JSGlobalObject* globalObject = isGlobalThis() ? jsCast<JSGlobalThis*>(this)->unwrappedObject() : this->globalObject();
return globalObject->globalObjectMethodTable()->allowsAccessFrom(globalObject, exec);
}
@@ -445,13 +445,13 @@ JSString* JSObject::toString(ExecState* exec) const
JSObject* JSObject::toThisObject(JSCell* cell, ExecState*)
{
- return static_cast<JSObject*>(cell);
+ return jsCast<JSObject*>(cell);
}
JSObject* JSObject::unwrappedObject()
{
if (isGlobalThis())
- return static_cast<JSGlobalThis*>(this)->unwrappedObject();
+ return jsCast<JSGlobalThis*>(this)->unwrappedObject();
return this;
}
@@ -541,12 +541,18 @@ NEVER_INLINE void JSObject::fillGetterPropertySlot(PropertySlot& slot, WriteBarr
Structure* JSObject::createInheritorID(JSGlobalData& globalData)
{
- m_inheritorID.set(globalData, this, createEmptyObjectStructure(globalData, structure()->globalObject(), this));
+ JSGlobalObject* globalObject;
+ if (isGlobalThis())
+ globalObject = static_cast<JSGlobalThis*>(this)->unwrappedObject();
+ else
+ globalObject = structure()->globalObject();
+ ASSERT(globalObject);
+ m_inheritorID.set(globalData, this, createEmptyObjectStructure(globalData, globalObject, this));
ASSERT(m_inheritorID->isEmpty());
return m_inheritorID.get();
}
-void JSObject::allocatePropertyStorage(JSGlobalData& globalData, size_t oldSize, size_t newSize)
+PropertyStorage JSObject::growPropertyStorage(JSGlobalData& globalData, size_t oldSize, size_t newSize)
{
ASSERT(newSize > oldSize);
@@ -574,7 +580,7 @@ void JSObject::allocatePropertyStorage(JSGlobalData& globalData, size_t oldSize,
}
ASSERT(newPropertyStorage);
- m_propertyStorage.set(globalData, this, newPropertyStorage);
+ return newPropertyStorage;
}
bool JSObject::getOwnPropertyDescriptor(JSObject* object, ExecState* exec, const Identifier& propertyName, PropertyDescriptor& descriptor)