Bug 1370700 part 2 - Use mAttributeCache.GetOrInsert() to avoid a second hashtable lookup for Put(). r=froydnj

MozReview-Commit-ID: BE6vztn6ljl
This commit is contained in:
Mats Palmgren 2017-06-07 20:03:19 +02:00
Родитель 6cdee8c35e
Коммит 4ab8b6f8bc
1 изменённых файлов: 5 добавлений и 5 удалений

Просмотреть файл

@ -132,13 +132,13 @@ nsDOMAttributeMap::GetAttribute(mozilla::dom::NodeInfo* aNodeInfo)
nsAttrKey attr(aNodeInfo->NamespaceID(), aNodeInfo->NameAtom());
Attr* node = mAttributeCache.GetWeak(attr);
RefPtr<Attr>& entryValue = mAttributeCache.GetOrInsert(attr);
Attr* node = entryValue;
if (!node) {
// Newly inserted entry!
RefPtr<mozilla::dom::NodeInfo> ni = aNodeInfo;
RefPtr<Attr> newAttr =
new Attr(this, ni.forget(), EmptyString());
mAttributeCache.Put(attr, newAttr);
node = newAttr;
entryValue = new Attr(this, ni.forget(), EmptyString());
node = entryValue;
}
return node;