diff options
author | Lorry Tar Creator <lorry-tar-importer@lorry> | 2015-05-20 09:56:07 +0000 |
---|---|---|
committer | Lorry Tar Creator <lorry-tar-importer@lorry> | 2015-05-20 09:56:07 +0000 |
commit | 41386e9cb918eed93b3f13648cbef387e371e451 (patch) | |
tree | a97f9d7bd1d9d091833286085f72da9d83fd0606 /Source/JavaScriptCore/bytecode/ObjectAllocationProfile.h | |
parent | e15dd966d523731101f70ccf768bba12435a0208 (diff) | |
download | WebKitGtk-tarball-41386e9cb918eed93b3f13648cbef387e371e451.tar.gz |
webkitgtk-2.4.9webkitgtk-2.4.9
Diffstat (limited to 'Source/JavaScriptCore/bytecode/ObjectAllocationProfile.h')
-rw-r--r-- | Source/JavaScriptCore/bytecode/ObjectAllocationProfile.h | 22 |
1 files changed, 6 insertions, 16 deletions
diff --git a/Source/JavaScriptCore/bytecode/ObjectAllocationProfile.h b/Source/JavaScriptCore/bytecode/ObjectAllocationProfile.h index 5fa706d25..9a9db0bc7 100644 --- a/Source/JavaScriptCore/bytecode/ObjectAllocationProfile.h +++ b/Source/JavaScriptCore/bytecode/ObjectAllocationProfile.h @@ -89,23 +89,13 @@ public: if (inlineCapacity > JSFinalObject::maxInlineCapacity()) inlineCapacity = JSFinalObject::maxInlineCapacity(); - Structure* structure = vm.prototypeMap.emptyObjectStructureForPrototype(prototype, inlineCapacity); - - // Ensure that if another thread sees the structure, it will see it properly created - WTF::storeStoreFence(); - m_allocator = allocator; - m_structure.set(vm, owner, structure); + m_structure.set(vm, owner, + vm.prototypeMap.emptyObjectStructureForPrototype(prototype, inlineCapacity)); } - Structure* structure() - { - Structure* structure = m_structure.get(); - // Ensure that if we see the structure, it has been properly created - WTF::loadLoadFence(); - return structure; - } - unsigned inlineCapacity() { return structure()->inlineCapacity(); } + Structure* structure() { return m_structure.get(); } + unsigned inlineCapacity() { return m_structure->inlineCapacity(); } void clear() { @@ -127,8 +117,8 @@ private: return 0; size_t count = 0; - PropertyNameArray propertyNameArray(&vm, PropertyNameMode::StringsAndSymbols); - prototype->structure()->getPropertyNamesFromStructure(vm, propertyNameArray, EnumerationMode()); + PropertyNameArray propertyNameArray(&vm); + prototype->structure()->getPropertyNamesFromStructure(vm, propertyNameArray, ExcludeDontEnumProperties); PropertyNameArrayData::PropertyNameVector& propertyNameVector = propertyNameArray.data()->propertyNameVector(); for (size_t i = 0; i < propertyNameVector.size(); ++i) { JSValue value = prototype->getDirect(vm, propertyNameVector[i]); |