summaryrefslogtreecommitdiffstats
path: root/parser/html/nsHtml5AtomTable.h
diff options
context:
space:
mode:
authoradeshkp <adeshkp@users.noreply.github.com>2018-08-04 14:22:42 +0530
committerMoonchild <mcwerewolf@gmail.com>2018-08-04 10:52:42 +0200
commit2bc00efe7bb826d683257264471878c05757f2bb (patch)
tree334b9fdbf8401ad21638b083ca28c84e0bd8a7ed /parser/html/nsHtml5AtomTable.h
parent2653f1dd0673f41068622f7b663a1ffa2c1db7ba (diff)
downloadUXP-2bc00efe7bb826d683257264471878c05757f2bb.tar
UXP-2bc00efe7bb826d683257264471878c05757f2bb.tar.gz
UXP-2bc00efe7bb826d683257264471878c05757f2bb.tar.lz
UXP-2bc00efe7bb826d683257264471878c05757f2bb.tar.xz
UXP-2bc00efe7bb826d683257264471878c05757f2bb.zip
Improve nsHtml5AtomTable performance (#693)
* cpp change * h change
Diffstat (limited to 'parser/html/nsHtml5AtomTable.h')
-rw-r--r--parser/html/nsHtml5AtomTable.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/parser/html/nsHtml5AtomTable.h b/parser/html/nsHtml5AtomTable.h
index 43f9b5f2f..b0dc2f678 100644
--- a/parser/html/nsHtml5AtomTable.h
+++ b/parser/html/nsHtml5AtomTable.h
@@ -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