summaryrefslogtreecommitdiff
path: root/Source/JavaScriptCore/bytecode/ObjectAllocationProfile.h
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@lorry>2016-04-10 09:28:39 +0000
committerLorry Tar Creator <lorry-tar-importer@lorry>2016-04-10 09:28:39 +0000
commit32761a6cee1d0dee366b885b7b9c777e67885688 (patch)
treed6bec92bebfb216f4126356e55518842c2f476a1 /Source/JavaScriptCore/bytecode/ObjectAllocationProfile.h
parenta4e969f4965059196ca948db781e52f7cfebf19e (diff)
downloadWebKitGtk-tarball-32761a6cee1d0dee366b885b7b9c777e67885688.tar.gz
webkitgtk-2.4.11webkitgtk-2.4.11
Diffstat (limited to 'Source/JavaScriptCore/bytecode/ObjectAllocationProfile.h')
-rw-r--r--Source/JavaScriptCore/bytecode/ObjectAllocationProfile.h22
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]);