M1352874 and #516: make timeouts less aggressive
This commit is contained in:
parent
43534dea3a
commit
4c83f3281f
|
@ -70,7 +70,7 @@
|
|||
#define MAX_IDLE_FUZZ_TIME_MS 90000
|
||||
|
||||
// Min idle notification time in seconds.
|
||||
#define MIN_IDLE_NOTIFICATION_TIME_S 10
|
||||
#define MIN_IDLE_NOTIFICATION_TIME_S 5
|
||||
|
||||
class nsIArray;
|
||||
class nsIBaseWindow;
|
||||
|
|
|
@ -24,6 +24,7 @@ nsHtml5AtomEntry::~nsHtml5AtomEntry()
|
|||
}
|
||||
|
||||
nsHtml5AtomTable::nsHtml5AtomTable()
|
||||
: mRecentlyUsedParserAtoms{}
|
||||
{
|
||||
#ifdef DEBUG
|
||||
NS_GetMainThread(getter_AddRefs(mPermittedLookupThread));
|
||||
|
@ -44,13 +45,23 @@ nsHtml5AtomTable::GetAtom(const nsAString& aKey)
|
|||
NS_ASSERTION(mPermittedLookupThread == currentThread, "Wrong thread!");
|
||||
}
|
||||
#endif
|
||||
|
||||
uint32_t index = mozilla::HashString(aKey) % RECENTLY_USED_PARSER_ATOMS_SIZE;
|
||||
nsIAtom* cachedAtom = mRecentlyUsedParserAtoms[index];
|
||||
if (cachedAtom && cachedAtom->Equals(aKey)) {
|
||||
return cachedAtom;
|
||||
}
|
||||
|
||||
nsIAtom* atom = NS_GetStaticAtom(aKey);
|
||||
if (atom) {
|
||||
mRecentlyUsedParserAtoms[index] = atom;
|
||||
return atom;
|
||||
}
|
||||
nsHtml5AtomEntry* entry = mTable.PutEntry(aKey);
|
||||
if (!entry) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
mRecentlyUsedParserAtoms[index] = entry->GetAtom();
|
||||
return entry->GetAtom();
|
||||
}
|
||||
|
|
|
@ -11,6 +11,8 @@
|
|||
#include "nsIAtom.h"
|
||||
#include "nsIThread.h"
|
||||
|
||||
#define RECENTLY_USED_PARSER_ATOMS_SIZE 31
|
||||
|
||||
class nsHtml5Atom;
|
||||
|
||||
class nsHtml5AtomEntry : public nsStringHashKey
|
||||
|
@ -87,6 +89,9 @@ class nsHtml5AtomTable
|
|||
*/
|
||||
void Clear()
|
||||
{
|
||||
for (uint32_t i = 0; i < RECENTLY_USED_PARSER_ATOMS_SIZE; ++i) {
|
||||
mRecentlyUsedParserAtoms[i] = nullptr;
|
||||
}
|
||||
mTable.Clear();
|
||||
}
|
||||
|
||||
|
@ -99,6 +104,7 @@ class nsHtml5AtomTable
|
|||
|
||||
private:
|
||||
nsTHashtable<nsHtml5AtomEntry> mTable;
|
||||
nsIAtom* mRecentlyUsedParserAtoms[RECENTLY_USED_PARSER_ATOMS_SIZE];
|
||||
#ifdef DEBUG
|
||||
nsCOMPtr<nsIThread> mPermittedLookupThread;
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue