diff options
author | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2013-07-04 15:34:18 +0200 |
---|---|---|
committer | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2013-07-04 15:34:18 +0200 |
commit | 95be58fdcf23bb20dbde16dcb64f080256a4586d (patch) | |
tree | 73380edfce494ccbbf1d5d432e0bffd2e0c82a39 /Source/JavaScriptCore/runtime/JSObject.cpp | |
parent | a077ffff22ac678254ba35ad0a7cddc4a4f06542 (diff) | |
parent | b346c0f76c6a8f94accd1568c2f0d2c36c1cc11f (diff) | |
download | qtwebkit-95be58fdcf23bb20dbde16dcb64f080256a4586d.tar.gz |
Merge remote-tracking branch 'origin/stable' into dev
Change-Id: Ibe6e706a4f315065b8cfa96d796c1f04063c58df
Diffstat (limited to 'Source/JavaScriptCore/runtime/JSObject.cpp')
-rw-r--r-- | Source/JavaScriptCore/runtime/JSObject.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/Source/JavaScriptCore/runtime/JSObject.cpp b/Source/JavaScriptCore/runtime/JSObject.cpp index 32adefd2f..e6f95bdfa 100644 --- a/Source/JavaScriptCore/runtime/JSObject.cpp +++ b/Source/JavaScriptCore/runtime/JSObject.cpp @@ -1423,6 +1423,7 @@ bool JSObject::getPropertySpecificValue(ExecState* exec, PropertyName propertyNa void JSObject::getPropertyNames(JSObject* object, ExecState* exec, PropertyNameArray& propertyNames, EnumerationMode mode) { + propertyNames.setBaseObject(object); object->methodTable()->getOwnPropertyNames(object, exec, propertyNames, mode); if (object->prototype().isNull()) @@ -1513,7 +1514,12 @@ void JSObject::getOwnPropertyNames(JSObject* object, ExecState* exec, PropertyNa void JSObject::getOwnNonIndexPropertyNames(JSObject* object, ExecState* exec, PropertyNameArray& propertyNames, EnumerationMode mode) { getClassPropertyNames(exec, object->classInfo(), propertyNames, mode, object->staticFunctionsReified()); + + bool canCachePropertiesFromStructure = !propertyNames.size(); object->structure()->getPropertyNamesFromStructure(exec->globalData(), propertyNames, mode); + + if (canCachePropertiesFromStructure) + propertyNames.setNumCacheableSlotsForObject(object, propertyNames.size()); } double JSObject::toNumber(ExecState* exec) const |