mirror of
https://github.com/roytam1/palemoon27.git
synced 2026-05-26 14:18:48 +00:00
import changes from `dev' branch of rmottola/Arctic-Fox:
- pointer style (8365db72a)
- remove stackDepth check not found anywhere in official gecko (98f65d05e)
- Bug 1134198 - Call Debugger::onPop at the point that caused the frame to pop before any unwinding in the JIT. (r=jandem) (5aea98ae6)
- Bug 1189750 - Remove unused JM-related PCCounts counters. r=bhackett (7410480af)
- Bug 1198245 - IonMonkey: Lock helperthread before finishing ionbuilder, r=jandem (0f28ef66a)
- Bug 1188620 - Use PersistentRooted for asyncActivation roots; r=fitzgen (4f6ae0e92)
- Bug 1190446 - Update Coverage information in Baseline. r=jandem (95935926e)
- Bug 1188129 - Use a universal constructor to create and init PersistentRooted; r=jonco (75db7ea8f)
- Bug 1187767 - Ensure PLDHashTable's generation is always updated when the entry store is modified. r=froydnj. (e49936dad)
- Bug 1189156 (part 1) - Don't use enumeration style for PLDHashTable::SizeOf{In,Ex}cludingThis(). r=froydnj. (3152ab914)
- Bug 1189156 (part 2) - Don't use enumeration style for nsTHashtable::SizeOf{In,Ex}cludingThis(). r=erahm. (de21442b7)
- Bug 1189156 (part 3) - Factor out FontTable better. r=jfkthame. (afdee9bd7)
- Bug 1189156 (part 4) - Don't use enumeration style for nsBaseHashtable::SizeOf{In,Ex}cludingThis(). r=erahm,jfkthame. (32d72520f)
- Bug 1189156 (part 5) - Add FontEntryTable typedef and factor out some related code. r=jfkthame. (9983134a9)
- Bug 1137437 - move security/apps/ cert header generation to moz.build; r=mshal,keeler (2f7abb37d)
- Bug 1180993 - Part 3: Correct use sites of functions which return already_AddRefed. r=ehsan (2a6289b6a)
This commit is contained in:
@@ -172,7 +172,7 @@ private:
|
||||
// Uses any of the sets of ops below.
|
||||
struct RuleHashTableEntry : public PLDHashEntryHdr {
|
||||
// If you add members that have heap allocated memory be sure to change the
|
||||
// logic in SizeOfRuleHashTableEntry().
|
||||
// logic in SizeOfRuleHashTable().
|
||||
// Auto length 1, because we always have at least one entry in mRules.
|
||||
nsAutoTArray<RuleValue, 1> mRules;
|
||||
};
|
||||
@@ -743,10 +743,14 @@ void RuleHash::EnumerateAllRules(Element* aElement, ElementDependentRuleProcesso
|
||||
}
|
||||
|
||||
static size_t
|
||||
SizeOfRuleHashTableEntry(PLDHashEntryHdr* aHdr, MallocSizeOf aMallocSizeOf, void *)
|
||||
SizeOfRuleHashTable(const PLDHashTable& aTable, MallocSizeOf aMallocSizeOf)
|
||||
{
|
||||
RuleHashTableEntry* entry = static_cast<RuleHashTableEntry*>(aHdr);
|
||||
return entry->mRules.ShallowSizeOfExcludingThis(aMallocSizeOf);
|
||||
size_t n = aTable.ShallowSizeOfExcludingThis(aMallocSizeOf);
|
||||
for (auto iter = aTable.ConstIter(); !iter.Done(); iter.Next()) {
|
||||
auto entry = static_cast<RuleHashTableEntry*>(iter.Get());
|
||||
n += entry->mRules.ShallowSizeOfExcludingThis(aMallocSizeOf);
|
||||
}
|
||||
return n;
|
||||
}
|
||||
|
||||
size_t
|
||||
@@ -754,21 +758,13 @@ RuleHash::SizeOfExcludingThis(MallocSizeOf aMallocSizeOf) const
|
||||
{
|
||||
size_t n = 0;
|
||||
|
||||
n += PL_DHashTableSizeOfExcludingThis(&mIdTable,
|
||||
SizeOfRuleHashTableEntry,
|
||||
aMallocSizeOf);
|
||||
n += SizeOfRuleHashTable(mIdTable, aMallocSizeOf);
|
||||
|
||||
n += PL_DHashTableSizeOfExcludingThis(&mClassTable,
|
||||
SizeOfRuleHashTableEntry,
|
||||
aMallocSizeOf);
|
||||
n += SizeOfRuleHashTable(mClassTable, aMallocSizeOf);
|
||||
|
||||
n += PL_DHashTableSizeOfExcludingThis(&mTagTable,
|
||||
SizeOfRuleHashTableEntry,
|
||||
aMallocSizeOf);
|
||||
n += SizeOfRuleHashTable(mTagTable, aMallocSizeOf);
|
||||
|
||||
n += PL_DHashTableSizeOfExcludingThis(&mNameSpaceTable,
|
||||
SizeOfRuleHashTableEntry,
|
||||
aMallocSizeOf);
|
||||
n += SizeOfRuleHashTable(mNameSpaceTable, aMallocSizeOf);
|
||||
|
||||
n += mUniversalRules.ShallowSizeOfExcludingThis(aMallocSizeOf);
|
||||
|
||||
@@ -947,26 +943,14 @@ struct RuleCascadeData {
|
||||
};
|
||||
|
||||
static size_t
|
||||
SizeOfSelectorsEntry(PLDHashEntryHdr* aHdr, MallocSizeOf aMallocSizeOf, void *)
|
||||
SizeOfSelectorsHashTable(const PLDHashTable& aTable, MallocSizeOf aMallocSizeOf)
|
||||
{
|
||||
AtomSelectorEntry* entry = static_cast<AtomSelectorEntry*>(aHdr);
|
||||
return entry->mSelectors.ShallowSizeOfExcludingThis(aMallocSizeOf);
|
||||
}
|
||||
|
||||
static size_t
|
||||
SizeOfKeyframesRuleEntryExcludingThis(nsStringHashKey::KeyType aKey,
|
||||
nsCSSKeyframesRule* const& aData,
|
||||
mozilla::MallocSizeOf aMallocSizeOf,
|
||||
void* aUserArg)
|
||||
{
|
||||
// We don't own the nsCSSKeyframesRule objects so we don't count them. We do
|
||||
// care about the size of the keys' nsAString members' buffers though.
|
||||
//
|
||||
// Note that we depend on nsStringHashKey::GetKey() returning a reference,
|
||||
// since otherwise aKey would be a copy of the string key and we would not be
|
||||
// measuring the right object here.
|
||||
|
||||
return aKey.SizeOfExcludingThisIfUnshared(aMallocSizeOf);
|
||||
size_t n = aTable.ShallowSizeOfExcludingThis(aMallocSizeOf);
|
||||
for (auto iter = aTable.ConstIter(); !iter.Done(); iter.Next()) {
|
||||
auto entry = static_cast<AtomSelectorEntry*>(iter.Get());
|
||||
n += entry->mSelectors.ShallowSizeOfExcludingThis(aMallocSizeOf);
|
||||
}
|
||||
return n;
|
||||
}
|
||||
|
||||
size_t
|
||||
@@ -982,21 +966,16 @@ RuleCascadeData::SizeOfIncludingThis(MallocSizeOf aMallocSizeOf) const
|
||||
|
||||
n += mStateSelectors.ShallowSizeOfExcludingThis(aMallocSizeOf);
|
||||
|
||||
n += PL_DHashTableSizeOfExcludingThis(&mIdSelectors,
|
||||
SizeOfSelectorsEntry, aMallocSizeOf);
|
||||
n += PL_DHashTableSizeOfExcludingThis(&mClassSelectors,
|
||||
SizeOfSelectorsEntry, aMallocSizeOf);
|
||||
n += SizeOfSelectorsHashTable(mIdSelectors, aMallocSizeOf);
|
||||
n += SizeOfSelectorsHashTable(mClassSelectors, aMallocSizeOf);
|
||||
|
||||
n += mPossiblyNegatedClassSelectors.ShallowSizeOfExcludingThis(aMallocSizeOf);
|
||||
n += mPossiblyNegatedIDSelectors.ShallowSizeOfExcludingThis(aMallocSizeOf);
|
||||
|
||||
n += PL_DHashTableSizeOfExcludingThis(&mAttributeSelectors,
|
||||
SizeOfSelectorsEntry, aMallocSizeOf);
|
||||
n += PL_DHashTableSizeOfExcludingThis(&mAnonBoxRules,
|
||||
SizeOfRuleHashTableEntry, aMallocSizeOf);
|
||||
n += SizeOfSelectorsHashTable(mAttributeSelectors, aMallocSizeOf);
|
||||
n += SizeOfRuleHashTable(mAnonBoxRules, aMallocSizeOf);
|
||||
#ifdef MOZ_XUL
|
||||
n += PL_DHashTableSizeOfExcludingThis(&mXULTreeRules,
|
||||
SizeOfRuleHashTableEntry, aMallocSizeOf);
|
||||
n += SizeOfRuleHashTable(mXULTreeRules, aMallocSizeOf);
|
||||
#endif
|
||||
|
||||
n += mFontFaceRules.ShallowSizeOfExcludingThis(aMallocSizeOf);
|
||||
@@ -1004,9 +983,17 @@ RuleCascadeData::SizeOfIncludingThis(MallocSizeOf aMallocSizeOf) const
|
||||
n += mFontFeatureValuesRules.ShallowSizeOfExcludingThis(aMallocSizeOf);
|
||||
n += mPageRules.ShallowSizeOfExcludingThis(aMallocSizeOf);
|
||||
n += mCounterStyleRules.ShallowSizeOfExcludingThis(aMallocSizeOf);
|
||||
n += mKeyframesRuleTable.SizeOfExcludingThis(SizeOfKeyframesRuleEntryExcludingThis,
|
||||
aMallocSizeOf,
|
||||
nullptr);
|
||||
|
||||
n += mKeyframesRuleTable.ShallowSizeOfExcludingThis(aMallocSizeOf);
|
||||
for (auto iter = mKeyframesRuleTable.ConstIter(); !iter.Done(); iter.Next()) {
|
||||
// We don't own the nsCSSKeyframesRule objects so we don't count them. We
|
||||
// do care about the size of the keys' nsAString members' buffers though.
|
||||
//
|
||||
// Note that we depend on nsStringHashKey::GetKey() returning a reference,
|
||||
// since otherwise aKey would be a copy of the string key and we would not
|
||||
// be measuring the right object here.
|
||||
n += iter.Key().SizeOfExcludingThisIfUnshared(aMallocSizeOf);
|
||||
}
|
||||
|
||||
return n;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user