Bug 1118024 - Add explicit PL_DHashTable{Add,Lookup,Remove} functions. r=nfroyd

This commit is contained in:
Michael Pruett
2015-01-05 20:26:50 -06:00
parent a0e24bf8eb
commit cdea6d623f
8 changed files with 49 additions and 25 deletions

View File

@@ -404,7 +404,7 @@ AtomImpl::~AtomImpl()
// |AtomTableClearEntry|.
if (!IsPermanentInDestructor()) {
AtomTableKey key(mString, mLength, mHash);
PL_DHashTableOperate(&gAtomTable, &key, PL_DHASH_REMOVE);
PL_DHashTableRemove(&gAtomTable, &key);
if (gAtomTable.ops && gAtomTable.EntryCount() == 0) {
PL_DHashTableFinish(&gAtomTable);
NS_ASSERTION(gAtomTable.EntryCount() == 0,
@@ -555,7 +555,7 @@ GetAtomHashEntry(const char* aString, uint32_t aLength, uint32_t* aHashOut)
EnsureTableExists();
AtomTableKey key(aString, aLength, aHashOut);
AtomTableEntry* e = static_cast<AtomTableEntry*>(
PL_DHashTableOperate(&gAtomTable, &key, PL_DHASH_ADD));
PL_DHashTableAdd(&gAtomTable, &key));
if (!e) {
NS_ABORT_OOM(gAtomTable.EntryCount() * gAtomTable.EntrySize());
}
@@ -569,7 +569,7 @@ GetAtomHashEntry(const char16_t* aString, uint32_t aLength, uint32_t* aHashOut)
EnsureTableExists();
AtomTableKey key(aString, aLength, aHashOut);
AtomTableEntry* e = static_cast<AtomTableEntry*>(
PL_DHashTableOperate(&gAtomTable, &key, PL_DHASH_ADD));
PL_DHashTableAdd(&gAtomTable, &key));
if (!e) {
NS_ABORT_OOM(gAtomTable.EntryCount() * gAtomTable.EntrySize());
}