зеркало из https://github.com/mozilla/gecko-dev.git
Remove unused getKey callback from PLDHashTableOps/JSDHashTableOps. b=374906 r=bsmedberg
This commit is contained in:
Родитель
af8ff51b78
Коммит
d98d9fdec5
|
@ -245,7 +245,6 @@ InitClassPolicyEntry(PLDHashTable *table,
|
||||||
{
|
{
|
||||||
PL_DHashAllocTable,
|
PL_DHashAllocTable,
|
||||||
PL_DHashFreeTable,
|
PL_DHashFreeTable,
|
||||||
PL_DHashGetKeyStub,
|
|
||||||
PL_DHashVoidPtrKeyStub,
|
PL_DHashVoidPtrKeyStub,
|
||||||
PL_DHashMatchEntryStub,
|
PL_DHashMatchEntryStub,
|
||||||
PL_DHashMoveEntryStub,
|
PL_DHashMoveEntryStub,
|
||||||
|
@ -291,7 +290,6 @@ public:
|
||||||
{
|
{
|
||||||
PL_DHashAllocTable,
|
PL_DHashAllocTable,
|
||||||
PL_DHashFreeTable,
|
PL_DHashFreeTable,
|
||||||
PL_DHashGetKeyStub,
|
|
||||||
PL_DHashStringKey,
|
PL_DHashStringKey,
|
||||||
PL_DHashMatchStringKey,
|
PL_DHashMatchStringKey,
|
||||||
MoveClassPolicyEntry,
|
MoveClassPolicyEntry,
|
||||||
|
|
|
@ -339,13 +339,6 @@ nsChromeRegistry::PackageEntry::PackageEntry(const nsACString& aPackage) :
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
const void*
|
|
||||||
nsChromeRegistry::GetKey(PLDHashTable *table, PLDHashEntryHdr *entry)
|
|
||||||
{
|
|
||||||
PackageEntry* pentry = NS_STATIC_CAST(PackageEntry*, entry);
|
|
||||||
return (nsACString*) &pentry->package;
|
|
||||||
}
|
|
||||||
|
|
||||||
PLHashNumber
|
PLHashNumber
|
||||||
nsChromeRegistry::HashKey(PLDHashTable *table, const void *key)
|
nsChromeRegistry::HashKey(PLDHashTable *table, const void *key)
|
||||||
{
|
{
|
||||||
|
@ -383,7 +376,6 @@ const PLDHashTableOps
|
||||||
nsChromeRegistry::kTableOps = {
|
nsChromeRegistry::kTableOps = {
|
||||||
PL_DHashAllocTable,
|
PL_DHashAllocTable,
|
||||||
PL_DHashFreeTable,
|
PL_DHashFreeTable,
|
||||||
GetKey,
|
|
||||||
HashKey,
|
HashKey,
|
||||||
MatchKey,
|
MatchKey,
|
||||||
PL_DHashMoveEntryStub,
|
PL_DHashMoveEntryStub,
|
||||||
|
|
|
@ -196,7 +196,6 @@ public:
|
||||||
};
|
};
|
||||||
|
|
||||||
private:
|
private:
|
||||||
static const void* GetKey(PLDHashTable *table, PLDHashEntryHdr *entry);
|
|
||||||
static PLDHashNumber HashKey(PLDHashTable *table, const void *key);
|
static PLDHashNumber HashKey(PLDHashTable *table, const void *key);
|
||||||
static PRBool MatchKey(PLDHashTable *table, const PLDHashEntryHdr *entry,
|
static PRBool MatchKey(PLDHashTable *table, const PLDHashEntryHdr *entry,
|
||||||
const void *key);
|
const void *key);
|
||||||
|
|
|
@ -186,13 +186,6 @@ struct ContentListHashEntry : public PLDHashEntryHdr
|
||||||
nsContentList* mContentList;
|
nsContentList* mContentList;
|
||||||
};
|
};
|
||||||
|
|
||||||
PR_STATIC_CALLBACK(const void *)
|
|
||||||
ContentListHashtableGetKey(PLDHashTable *table, PLDHashEntryHdr *entry)
|
|
||||||
{
|
|
||||||
ContentListHashEntry *e = NS_STATIC_CAST(ContentListHashEntry *, entry);
|
|
||||||
return e->mContentList->GetKey();
|
|
||||||
}
|
|
||||||
|
|
||||||
PR_STATIC_CALLBACK(PLDHashNumber)
|
PR_STATIC_CALLBACK(PLDHashNumber)
|
||||||
ContentListHashtableHashKey(PLDHashTable *table, const void *key)
|
ContentListHashtableHashKey(PLDHashTable *table, const void *key)
|
||||||
{
|
{
|
||||||
|
@ -225,7 +218,6 @@ NS_GetContentList(nsINode* aRootNode, nsIAtom* aMatchAtom,
|
||||||
{
|
{
|
||||||
PL_DHashAllocTable,
|
PL_DHashAllocTable,
|
||||||
PL_DHashFreeTable,
|
PL_DHashFreeTable,
|
||||||
ContentListHashtableGetKey,
|
|
||||||
ContentListHashtableHashKey,
|
ContentListHashtableHashKey,
|
||||||
ContentListHashtableMatchEntry,
|
ContentListHashtableMatchEntry,
|
||||||
PL_DHashMoveEntryStub,
|
PL_DHashMoveEntryStub,
|
||||||
|
|
|
@ -284,7 +284,6 @@ nsContentUtils::Init()
|
||||||
{
|
{
|
||||||
PL_DHashAllocTable,
|
PL_DHashAllocTable,
|
||||||
PL_DHashFreeTable,
|
PL_DHashFreeTable,
|
||||||
PL_DHashGetKeyStub,
|
|
||||||
PL_DHashVoidPtrKeyStub,
|
PL_DHashVoidPtrKeyStub,
|
||||||
PL_DHashMatchEntryStub,
|
PL_DHashMatchEntryStub,
|
||||||
PL_DHashMoveEntryStub,
|
PL_DHashMoveEntryStub,
|
||||||
|
|
|
@ -2043,7 +2043,6 @@ nsDocument::SetSubDocumentFor(nsIContent *aContent, nsIDocument* aSubDoc)
|
||||||
{
|
{
|
||||||
PL_DHashAllocTable,
|
PL_DHashAllocTable,
|
||||||
PL_DHashFreeTable,
|
PL_DHashFreeTable,
|
||||||
PL_DHashGetKeyStub,
|
|
||||||
PL_DHashVoidPtrKeyStub,
|
PL_DHashVoidPtrKeyStub,
|
||||||
PL_DHashMatchEntryStub,
|
PL_DHashMatchEntryStub,
|
||||||
PL_DHashMoveEntryStub,
|
PL_DHashMoveEntryStub,
|
||||||
|
|
|
@ -274,14 +274,6 @@ IdAndNameMapEntry::AddIdContent(nsIContent* aContent)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
PR_STATIC_CALLBACK(const void *)
|
|
||||||
IdAndNameHashGetKey(PLDHashTable *table, PLDHashEntryHdr *entry)
|
|
||||||
{
|
|
||||||
IdAndNameMapEntry *e = NS_STATIC_CAST(IdAndNameMapEntry *, entry);
|
|
||||||
|
|
||||||
return NS_STATIC_CAST(const nsIAtom *, e->mKey);
|
|
||||||
}
|
|
||||||
|
|
||||||
PR_STATIC_CALLBACK(PLDHashNumber)
|
PR_STATIC_CALLBACK(PLDHashNumber)
|
||||||
IdAndNameHashHashKey(PLDHashTable *table, const void *key)
|
IdAndNameHashHashKey(PLDHashTable *table, const void *key)
|
||||||
{
|
{
|
||||||
|
@ -407,7 +399,6 @@ nsHTMLDocument::Init()
|
||||||
{
|
{
|
||||||
PL_DHashAllocTable,
|
PL_DHashAllocTable,
|
||||||
PL_DHashFreeTable,
|
PL_DHashFreeTable,
|
||||||
IdAndNameHashGetKey,
|
|
||||||
IdAndNameHashHashKey,
|
IdAndNameHashHashKey,
|
||||||
IdAndNameHashMatchEntry,
|
IdAndNameHashMatchEntry,
|
||||||
PL_DHashMoveEntryStub,
|
PL_DHashMoveEntryStub,
|
||||||
|
|
|
@ -202,7 +202,6 @@ InitObjectEntry(PLDHashTable* table, PLDHashEntryHdr* entry, const void* key)
|
||||||
static PLDHashTableOps ObjectTableOps = {
|
static PLDHashTableOps ObjectTableOps = {
|
||||||
PL_DHashAllocTable,
|
PL_DHashAllocTable,
|
||||||
PL_DHashFreeTable,
|
PL_DHashFreeTable,
|
||||||
PL_DHashGetKeyStub,
|
|
||||||
PL_DHashVoidPtrKeyStub,
|
PL_DHashVoidPtrKeyStub,
|
||||||
PL_DHashMatchEntryStub,
|
PL_DHashMatchEntryStub,
|
||||||
PL_DHashMoveEntryStub,
|
PL_DHashMoveEntryStub,
|
||||||
|
|
|
@ -755,7 +755,6 @@ nsXULDocument::AddBroadcastListenerFor(nsIDOMElement* aBroadcaster,
|
||||||
static PLDHashTableOps gOps = {
|
static PLDHashTableOps gOps = {
|
||||||
PL_DHashAllocTable,
|
PL_DHashAllocTable,
|
||||||
PL_DHashFreeTable,
|
PL_DHashFreeTable,
|
||||||
PL_DHashGetKeyStub,
|
|
||||||
PL_DHashVoidPtrKeyStub,
|
PL_DHashVoidPtrKeyStub,
|
||||||
PL_DHashMatchEntryStub,
|
PL_DHashMatchEntryStub,
|
||||||
PL_DHashMoveEntryStub,
|
PL_DHashMoveEntryStub,
|
||||||
|
|
|
@ -39,27 +39,11 @@
|
||||||
#include "nsContentSupportMap.h"
|
#include "nsContentSupportMap.h"
|
||||||
#include "nsXULElement.h"
|
#include "nsXULElement.h"
|
||||||
|
|
||||||
PLDHashTableOps nsContentSupportMap::gOps = {
|
|
||||||
PL_DHashAllocTable,
|
|
||||||
PL_DHashFreeTable,
|
|
||||||
PL_DHashGetKeyStub,
|
|
||||||
PL_DHashVoidPtrKeyStub,
|
|
||||||
PL_DHashMatchEntryStub,
|
|
||||||
PL_DHashMoveEntryStub,
|
|
||||||
ClearEntry,
|
|
||||||
PL_DHashFinalizeStub
|
|
||||||
};
|
|
||||||
|
|
||||||
void PR_CALLBACK
|
|
||||||
nsContentSupportMap::ClearEntry(PLDHashTable* aTable, PLDHashEntryHdr* aHdr)
|
|
||||||
{
|
|
||||||
PL_DHashClearEntryStub(aTable, aHdr);
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
void
|
||||||
nsContentSupportMap::Init()
|
nsContentSupportMap::Init()
|
||||||
{
|
{
|
||||||
if (!PL_DHashTableInit(&mMap, &gOps, nsnull, sizeof(Entry), PL_DHASH_MIN_SIZE))
|
if (!PL_DHashTableInit(&mMap, PL_DHashGetStubOps(), nsnull,
|
||||||
|
sizeof(Entry), PL_DHASH_MIN_SIZE))
|
||||||
mMap.ops = nsnull;
|
mMap.ops = nsnull;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -99,11 +99,6 @@ protected:
|
||||||
nsIContent* mContent;
|
nsIContent* mContent;
|
||||||
nsTemplateMatch* mMatch;
|
nsTemplateMatch* mMatch;
|
||||||
};
|
};
|
||||||
|
|
||||||
static PLDHashTableOps gOps;
|
|
||||||
|
|
||||||
static void PR_CALLBACK
|
|
||||||
ClearEntry(PLDHashTable* aTable, PLDHashEntryHdr* aHdr);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -68,14 +68,6 @@ public:
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
PR_STATIC_CALLBACK(const void *)
|
|
||||||
GlobalNameHashGetKey(PLDHashTable *table, PLDHashEntryHdr *entry)
|
|
||||||
{
|
|
||||||
GlobalNameMapEntry *e = NS_STATIC_CAST(GlobalNameMapEntry *, entry);
|
|
||||||
|
|
||||||
return NS_STATIC_CAST(const nsAString *, &e->mKey);
|
|
||||||
}
|
|
||||||
|
|
||||||
PR_STATIC_CALLBACK(PLDHashNumber)
|
PR_STATIC_CALLBACK(PLDHashNumber)
|
||||||
GlobalNameHashHashKey(PLDHashTable *table, const void *key)
|
GlobalNameHashHashKey(PLDHashTable *table, const void *key)
|
||||||
{
|
{
|
||||||
|
@ -461,7 +453,6 @@ nsScriptNameSpaceManager::Init()
|
||||||
{
|
{
|
||||||
PL_DHashAllocTable,
|
PL_DHashAllocTable,
|
||||||
PL_DHashFreeTable,
|
PL_DHashFreeTable,
|
||||||
GlobalNameHashGetKey,
|
|
||||||
GlobalNameHashHashKey,
|
GlobalNameHashHashKey,
|
||||||
GlobalNameHashMatchEntry,
|
GlobalNameHashMatchEntry,
|
||||||
PL_DHashMoveEntryStub,
|
PL_DHashMoveEntryStub,
|
||||||
|
|
|
@ -47,7 +47,6 @@ PLDHashTableOps nsCommandParams::sHashOps =
|
||||||
{
|
{
|
||||||
PL_DHashAllocTable,
|
PL_DHashAllocTable,
|
||||||
PL_DHashFreeTable,
|
PL_DHashFreeTable,
|
||||||
HashGetKey,
|
|
||||||
HashKey,
|
HashKey,
|
||||||
HashMatchEntry,
|
HashMatchEntry,
|
||||||
HashMoveEntry,
|
HashMoveEntry,
|
||||||
|
@ -354,14 +353,6 @@ nsCommandParams::GetOrMakeEntry(const char * name, PRUint8 entryType, HashEntry*
|
||||||
#pragma mark -
|
#pragma mark -
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
const void *
|
|
||||||
nsCommandParams::HashGetKey(PLDHashTable *table, PLDHashEntryHdr *entry)
|
|
||||||
{
|
|
||||||
HashEntry* thisEntry = NS_STATIC_CAST(HashEntry*, entry);
|
|
||||||
return (void *)thisEntry->mEntryName.get();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
PLDHashNumber
|
PLDHashNumber
|
||||||
nsCommandParams::HashKey(PLDHashTable *table, const void *key)
|
nsCommandParams::HashKey(PLDHashTable *table, const void *key)
|
||||||
{
|
{
|
||||||
|
|
|
@ -151,8 +151,6 @@ protected:
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
static const void * PR_CALLBACK HashGetKey(PLDHashTable *table, PLDHashEntryHdr *entry);
|
|
||||||
|
|
||||||
static PLDHashNumber PR_CALLBACK HashKey(PLDHashTable *table, const void *key);
|
static PLDHashNumber PR_CALLBACK HashKey(PLDHashTable *table, const void *key);
|
||||||
|
|
||||||
static PRBool PR_CALLBACK HashMatchEntry(PLDHashTable *table,
|
static PRBool PR_CALLBACK HashMatchEntry(PLDHashTable *table,
|
||||||
|
|
|
@ -449,18 +449,6 @@ FreeJavaGlobals(JNIEnv* env)
|
||||||
* Java<->XPCOM object mappings
|
* Java<->XPCOM object mappings
|
||||||
**************************************/
|
**************************************/
|
||||||
|
|
||||||
static PLDHashTableOps hash_ops =
|
|
||||||
{
|
|
||||||
PL_DHashAllocTable,
|
|
||||||
PL_DHashFreeTable,
|
|
||||||
PL_DHashGetKeyStub,
|
|
||||||
PL_DHashVoidPtrKeyStub,
|
|
||||||
PL_DHashMatchEntryStub,
|
|
||||||
PL_DHashMoveEntryStub,
|
|
||||||
PL_DHashClearEntryStub,
|
|
||||||
PL_DHashFinalizeStub
|
|
||||||
};
|
|
||||||
|
|
||||||
// NativeToJavaProxyMap: The common case is that each XPCOM object will have
|
// NativeToJavaProxyMap: The common case is that each XPCOM object will have
|
||||||
// one Java proxy. But there are instances where there will be multiple Java
|
// one Java proxy. But there are instances where there will be multiple Java
|
||||||
// proxies for a given XPCOM object, each representing a different interface.
|
// proxies for a given XPCOM object, each representing a different interface.
|
||||||
|
@ -470,7 +458,8 @@ static PLDHashTableOps hash_ops =
|
||||||
nsresult
|
nsresult
|
||||||
NativeToJavaProxyMap::Init()
|
NativeToJavaProxyMap::Init()
|
||||||
{
|
{
|
||||||
mHashTable = PL_NewDHashTable(&hash_ops, nsnull, sizeof(Entry), 16);
|
mHashTable = PL_NewDHashTable(PL_DHashGetStubOps(), nsnull,
|
||||||
|
sizeof(Entry), 16);
|
||||||
if (!mHashTable)
|
if (!mHashTable)
|
||||||
return NS_ERROR_OUT_OF_MEMORY;
|
return NS_ERROR_OUT_OF_MEMORY;
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
|
@ -659,7 +648,8 @@ NativeToJavaProxyMap::Remove(JNIEnv* env, nsISupports* aNativeObject,
|
||||||
nsresult
|
nsresult
|
||||||
JavaToXPTCStubMap::Init()
|
JavaToXPTCStubMap::Init()
|
||||||
{
|
{
|
||||||
mHashTable = PL_NewDHashTable(&hash_ops, nsnull, sizeof(Entry), 16);
|
mHashTable = PL_NewDHashTable(PL_DHashGetStubOps(), nsnull,
|
||||||
|
sizeof(Entry), 16);
|
||||||
if (!mHashTable)
|
if (!mHashTable)
|
||||||
return NS_ERROR_OUT_OF_MEMORY;
|
return NS_ERROR_OUT_OF_MEMORY;
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
|
|
|
@ -502,14 +502,6 @@ js_ContextIterator(JSRuntime *rt, JSBool unlocked, JSContext **iterp)
|
||||||
return cx;
|
return cx;
|
||||||
}
|
}
|
||||||
|
|
||||||
JS_STATIC_DLL_CALLBACK(const void *)
|
|
||||||
resolving_GetKey(JSDHashTable *table, JSDHashEntryHdr *hdr)
|
|
||||||
{
|
|
||||||
JSResolvingEntry *entry = (JSResolvingEntry *)hdr;
|
|
||||||
|
|
||||||
return &entry->key;
|
|
||||||
}
|
|
||||||
|
|
||||||
JS_STATIC_DLL_CALLBACK(JSDHashNumber)
|
JS_STATIC_DLL_CALLBACK(JSDHashNumber)
|
||||||
resolving_HashKey(JSDHashTable *table, const void *ptr)
|
resolving_HashKey(JSDHashTable *table, const void *ptr)
|
||||||
{
|
{
|
||||||
|
@ -532,7 +524,6 @@ resolving_MatchEntry(JSDHashTable *table,
|
||||||
static const JSDHashTableOps resolving_dhash_ops = {
|
static const JSDHashTableOps resolving_dhash_ops = {
|
||||||
JS_DHashAllocTable,
|
JS_DHashAllocTable,
|
||||||
JS_DHashFreeTable,
|
JS_DHashFreeTable,
|
||||||
resolving_GetKey,
|
|
||||||
resolving_HashKey,
|
resolving_HashKey,
|
||||||
resolving_MatchEntry,
|
resolving_MatchEntry,
|
||||||
JS_DHashMoveEntryStub,
|
JS_DHashMoveEntryStub,
|
||||||
|
|
|
@ -107,14 +107,6 @@ JS_DHashStringKey(JSDHashTable *table, const void *key)
|
||||||
return h;
|
return h;
|
||||||
}
|
}
|
||||||
|
|
||||||
JS_PUBLIC_API(const void *)
|
|
||||||
JS_DHashGetKeyStub(JSDHashTable *table, JSDHashEntryHdr *entry)
|
|
||||||
{
|
|
||||||
JSDHashEntryStub *stub = (JSDHashEntryStub *)entry;
|
|
||||||
|
|
||||||
return stub->key;
|
|
||||||
}
|
|
||||||
|
|
||||||
JS_PUBLIC_API(JSDHashNumber)
|
JS_PUBLIC_API(JSDHashNumber)
|
||||||
JS_DHashVoidPtrKeyStub(JSDHashTable *table, const void *key)
|
JS_DHashVoidPtrKeyStub(JSDHashTable *table, const void *key)
|
||||||
{
|
{
|
||||||
|
@ -174,7 +166,6 @@ JS_DHashFinalizeStub(JSDHashTable *table)
|
||||||
static const JSDHashTableOps stub_ops = {
|
static const JSDHashTableOps stub_ops = {
|
||||||
JS_DHashAllocTable,
|
JS_DHashAllocTable,
|
||||||
JS_DHashFreeTable,
|
JS_DHashFreeTable,
|
||||||
JS_DHashGetKeyStub,
|
|
||||||
JS_DHashVoidPtrKeyStub,
|
JS_DHashVoidPtrKeyStub,
|
||||||
JS_DHashMatchEntryStub,
|
JS_DHashMatchEntryStub,
|
||||||
JS_DHashMoveEntryStub,
|
JS_DHashMoveEntryStub,
|
||||||
|
|
|
@ -86,11 +86,12 @@ typedef struct JSDHashTableOps JSDHashTableOps;
|
||||||
* Table entry header structure.
|
* Table entry header structure.
|
||||||
*
|
*
|
||||||
* In order to allow in-line allocation of key and value, we do not declare
|
* In order to allow in-line allocation of key and value, we do not declare
|
||||||
* either here. Instead, the API uses const void *key as a formal parameter,
|
* either here. Instead, the API uses const void *key as a formal parameter.
|
||||||
* and asks each entry for its key when necessary via a getKey callback, used
|
* The key need not be stored in the entry; it may be part of the value, but
|
||||||
* when growing or shrinking the table. Other callback types are defined
|
* need not be stored at all.
|
||||||
* below and grouped into the JSDHashTableOps structure, for single static
|
*
|
||||||
* initialization per hash table sub-type.
|
* Callback types are defined below and grouped into the JSDHashTableOps
|
||||||
|
* structure, for single static initialization per hash table sub-type.
|
||||||
*
|
*
|
||||||
* Each hash table sub-type should nest the JSDHashEntryHdr structure at the
|
* Each hash table sub-type should nest the JSDHashEntryHdr structure at the
|
||||||
* front of its particular entry type. The keyHash member contains the result
|
* front of its particular entry type. The keyHash member contains the result
|
||||||
|
@ -242,16 +243,6 @@ typedef void *
|
||||||
typedef void
|
typedef void
|
||||||
(* JS_DLL_CALLBACK JSDHashFreeTable) (JSDHashTable *table, void *ptr);
|
(* JS_DLL_CALLBACK JSDHashFreeTable) (JSDHashTable *table, void *ptr);
|
||||||
|
|
||||||
/*
|
|
||||||
* When a table grows or shrinks, each entry is queried for its key using this
|
|
||||||
* callback. NB: in that event, entry is not in table any longer; it's in the
|
|
||||||
* old entryStore vector, which is due to be freed once all entries have been
|
|
||||||
* moved via moveEntry callbacks.
|
|
||||||
*/
|
|
||||||
typedef const void *
|
|
||||||
(* JS_DLL_CALLBACK JSDHashGetKey) (JSDHashTable *table,
|
|
||||||
JSDHashEntryHdr *entry);
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Compute the hash code for a given key to be looked up, added, or removed
|
* Compute the hash code for a given key to be looked up, added, or removed
|
||||||
* from table. A hash code may have any JSDHashNumber value.
|
* from table. A hash code may have any JSDHashNumber value.
|
||||||
|
@ -339,7 +330,6 @@ struct JSDHashTableOps {
|
||||||
/* Mandatory hooks. All implementations must provide these. */
|
/* Mandatory hooks. All implementations must provide these. */
|
||||||
JSDHashAllocTable allocTable;
|
JSDHashAllocTable allocTable;
|
||||||
JSDHashFreeTable freeTable;
|
JSDHashFreeTable freeTable;
|
||||||
JSDHashGetKey getKey;
|
|
||||||
JSDHashHashKey hashKey;
|
JSDHashHashKey hashKey;
|
||||||
JSDHashMatchEntry matchEntry;
|
JSDHashMatchEntry matchEntry;
|
||||||
JSDHashMoveEntry moveEntry;
|
JSDHashMoveEntry moveEntry;
|
||||||
|
@ -368,9 +358,6 @@ struct JSDHashEntryStub {
|
||||||
const void *key;
|
const void *key;
|
||||||
};
|
};
|
||||||
|
|
||||||
extern JS_PUBLIC_API(const void *)
|
|
||||||
JS_DHashGetKeyStub(JSDHashTable *table, JSDHashEntryHdr *entry);
|
|
||||||
|
|
||||||
extern JS_PUBLIC_API(JSDHashNumber)
|
extern JS_PUBLIC_API(JSDHashNumber)
|
||||||
JS_DHashVoidPtrKeyStub(JSDHashTable *table, const void *key);
|
JS_DHashVoidPtrKeyStub(JSDHashTable *table, const void *key);
|
||||||
|
|
||||||
|
|
|
@ -2009,7 +2009,6 @@ MatchFindPropValEntry(JSDHashTable *table,
|
||||||
static const JSDHashTableOps FindPropValOps = {
|
static const JSDHashTableOps FindPropValOps = {
|
||||||
JS_DHashAllocTable,
|
JS_DHashAllocTable,
|
||||||
JS_DHashFreeTable,
|
JS_DHashFreeTable,
|
||||||
JS_DHashGetKeyStub,
|
|
||||||
HashFindPropValKey,
|
HashFindPropValKey,
|
||||||
MatchFindPropValEntry,
|
MatchFindPropValEntry,
|
||||||
JS_DHashMoveEntryStub,
|
JS_DHashMoveEntryStub,
|
||||||
|
|
|
@ -439,7 +439,6 @@ js_MatchScopeProperty(JSDHashTable *table,
|
||||||
static const JSDHashTableOps PropertyTreeHashOps = {
|
static const JSDHashTableOps PropertyTreeHashOps = {
|
||||||
JS_DHashAllocTable,
|
JS_DHashAllocTable,
|
||||||
JS_DHashFreeTable,
|
JS_DHashFreeTable,
|
||||||
JS_DHashGetKeyStub,
|
|
||||||
js_HashScopeProperty,
|
js_HashScopeProperty,
|
||||||
js_MatchScopeProperty,
|
js_MatchScopeProperty,
|
||||||
JS_DHashMoveEntryStub,
|
JS_DHashMoveEntryStub,
|
||||||
|
|
|
@ -205,7 +205,6 @@ struct JSDHashTableOps IID2WrappedJSClassMap::Entry::sOps =
|
||||||
{
|
{
|
||||||
JS_DHashAllocTable,
|
JS_DHashAllocTable,
|
||||||
JS_DHashFreeTable,
|
JS_DHashFreeTable,
|
||||||
JS_DHashGetKeyStub,
|
|
||||||
HashIIDPtrKey,
|
HashIIDPtrKey,
|
||||||
MatchIIDPtrKey,
|
MatchIIDPtrKey,
|
||||||
JS_DHashMoveEntryStub,
|
JS_DHashMoveEntryStub,
|
||||||
|
@ -243,7 +242,6 @@ struct JSDHashTableOps IID2NativeInterfaceMap::Entry::sOps =
|
||||||
{
|
{
|
||||||
JS_DHashAllocTable,
|
JS_DHashAllocTable,
|
||||||
JS_DHashFreeTable,
|
JS_DHashFreeTable,
|
||||||
JS_DHashGetKeyStub,
|
|
||||||
HashIIDPtrKey,
|
HashIIDPtrKey,
|
||||||
MatchIIDPtrKey,
|
MatchIIDPtrKey,
|
||||||
JS_DHashMoveEntryStub,
|
JS_DHashMoveEntryStub,
|
||||||
|
@ -411,7 +409,6 @@ struct JSDHashTableOps NativeSetMap::Entry::sOps =
|
||||||
{
|
{
|
||||||
JS_DHashAllocTable,
|
JS_DHashAllocTable,
|
||||||
JS_DHashFreeTable,
|
JS_DHashFreeTable,
|
||||||
JS_DHashGetKeyStub,
|
|
||||||
HashNativeKey,
|
HashNativeKey,
|
||||||
Match,
|
Match,
|
||||||
JS_DHashMoveEntryStub,
|
JS_DHashMoveEntryStub,
|
||||||
|
@ -444,12 +441,6 @@ NativeSetMap::~NativeSetMap()
|
||||||
/***************************************************************************/
|
/***************************************************************************/
|
||||||
// implement IID2ThisTranslatorMap...
|
// implement IID2ThisTranslatorMap...
|
||||||
|
|
||||||
const void* JS_DLL_CALLBACK
|
|
||||||
IID2ThisTranslatorMap::Entry::GetKey(JSDHashTable *table, JSDHashEntryHdr *entry)
|
|
||||||
{
|
|
||||||
return &((Entry*)entry)->key;
|
|
||||||
}
|
|
||||||
|
|
||||||
JSBool JS_DLL_CALLBACK
|
JSBool JS_DLL_CALLBACK
|
||||||
IID2ThisTranslatorMap::Entry::Match(JSDHashTable *table,
|
IID2ThisTranslatorMap::Entry::Match(JSDHashTable *table,
|
||||||
const JSDHashEntryHdr *entry,
|
const JSDHashEntryHdr *entry,
|
||||||
|
@ -469,7 +460,6 @@ struct JSDHashTableOps IID2ThisTranslatorMap::Entry::sOps =
|
||||||
{
|
{
|
||||||
JS_DHashAllocTable,
|
JS_DHashAllocTable,
|
||||||
JS_DHashFreeTable,
|
JS_DHashFreeTable,
|
||||||
GetKey,
|
|
||||||
HashIIDPtrKey,
|
HashIIDPtrKey,
|
||||||
Match,
|
Match,
|
||||||
JS_DHashMoveEntryStub,
|
JS_DHashMoveEntryStub,
|
||||||
|
@ -547,7 +537,6 @@ struct JSDHashTableOps XPCNativeScriptableSharedMap::Entry::sOps =
|
||||||
{
|
{
|
||||||
JS_DHashAllocTable,
|
JS_DHashAllocTable,
|
||||||
JS_DHashFreeTable,
|
JS_DHashFreeTable,
|
||||||
JS_DHashGetKeyStub,
|
|
||||||
Hash,
|
Hash,
|
||||||
Match,
|
Match,
|
||||||
JS_DHashMoveEntryStub,
|
JS_DHashMoveEntryStub,
|
||||||
|
|
|
@ -519,9 +519,6 @@ public:
|
||||||
nsIID key;
|
nsIID key;
|
||||||
nsIXPCFunctionThisTranslator* value;
|
nsIXPCFunctionThisTranslator* value;
|
||||||
|
|
||||||
static const void* JS_DLL_CALLBACK
|
|
||||||
GetKey(JSDHashTable *table, JSDHashEntryHdr *entry);
|
|
||||||
|
|
||||||
static JSBool JS_DLL_CALLBACK
|
static JSBool JS_DLL_CALLBACK
|
||||||
Match(JSDHashTable *table,
|
Match(JSDHashTable *table,
|
||||||
const JSDHashEntryHdr *entry,
|
const JSDHashEntryHdr *entry,
|
||||||
|
|
|
@ -123,16 +123,6 @@ struct PlaceholderMapEntry : public PLDHashEntryHdr {
|
||||||
nsPlaceholderFrame *placeholderFrame;
|
nsPlaceholderFrame *placeholderFrame;
|
||||||
};
|
};
|
||||||
|
|
||||||
PR_STATIC_CALLBACK(const void *)
|
|
||||||
PlaceholderMapGetKey(PLDHashTable *table, PLDHashEntryHdr *hdr)
|
|
||||||
{
|
|
||||||
PlaceholderMapEntry *entry = NS_STATIC_CAST(PlaceholderMapEntry*, hdr);
|
|
||||||
NS_ASSERTION(entry->placeholderFrame->GetOutOfFlowFrame() !=
|
|
||||||
(void*)0xdddddddd,
|
|
||||||
"Dead placeholder in placeholder map");
|
|
||||||
return entry->placeholderFrame->GetOutOfFlowFrame();
|
|
||||||
}
|
|
||||||
|
|
||||||
PR_STATIC_CALLBACK(PRBool)
|
PR_STATIC_CALLBACK(PRBool)
|
||||||
PlaceholderMapMatchEntry(PLDHashTable *table, const PLDHashEntryHdr *hdr,
|
PlaceholderMapMatchEntry(PLDHashTable *table, const PLDHashEntryHdr *hdr,
|
||||||
const void *key)
|
const void *key)
|
||||||
|
@ -148,7 +138,6 @@ PlaceholderMapMatchEntry(PLDHashTable *table, const PLDHashEntryHdr *hdr,
|
||||||
static PLDHashTableOps PlaceholderMapOps = {
|
static PLDHashTableOps PlaceholderMapOps = {
|
||||||
PL_DHashAllocTable,
|
PL_DHashAllocTable,
|
||||||
PL_DHashFreeTable,
|
PL_DHashFreeTable,
|
||||||
PlaceholderMapGetKey,
|
|
||||||
PL_DHashVoidPtrKeyStub,
|
PL_DHashVoidPtrKeyStub,
|
||||||
PlaceholderMapMatchEntry,
|
PlaceholderMapMatchEntry,
|
||||||
PL_DHashMoveEntryStub,
|
PL_DHashMoveEntryStub,
|
||||||
|
@ -171,13 +160,6 @@ struct PrimaryFrameMapEntry : public PLDHashEntryHdr {
|
||||||
// These ops should be used if/when we switch back to a 2-word entry.
|
// These ops should be used if/when we switch back to a 2-word entry.
|
||||||
// See comment in |PrimaryFrameMapEntry| above.
|
// See comment in |PrimaryFrameMapEntry| above.
|
||||||
#if 0
|
#if 0
|
||||||
PR_STATIC_CALLBACK(const void *)
|
|
||||||
PrimaryFrameMapGetKey(PLDHashTable *table, PLDHashEntryHdr *hdr)
|
|
||||||
{
|
|
||||||
PrimaryFrameMapEntry *entry = NS_STATIC_CAST(PrimaryFrameMapEntry*, hdr);
|
|
||||||
return entry->frame->GetContent();
|
|
||||||
}
|
|
||||||
|
|
||||||
PR_STATIC_CALLBACK(PRBool)
|
PR_STATIC_CALLBACK(PRBool)
|
||||||
PrimaryFrameMapMatchEntry(PLDHashTable *table, const PLDHashEntryHdr *hdr,
|
PrimaryFrameMapMatchEntry(PLDHashTable *table, const PLDHashEntryHdr *hdr,
|
||||||
const void *key)
|
const void *key)
|
||||||
|
@ -190,7 +172,6 @@ PrimaryFrameMapMatchEntry(PLDHashTable *table, const PLDHashEntryHdr *hdr,
|
||||||
static PLDHashTableOps PrimaryFrameMapOps = {
|
static PLDHashTableOps PrimaryFrameMapOps = {
|
||||||
PL_DHashAllocTable,
|
PL_DHashAllocTable,
|
||||||
PL_DHashFreeTable,
|
PL_DHashFreeTable,
|
||||||
PrimaryFrameMapGetKey,
|
|
||||||
PL_DHashVoidPtrKeyStub,
|
PL_DHashVoidPtrKeyStub,
|
||||||
PrimaryFrameMapMatchEntry,
|
PrimaryFrameMapMatchEntry,
|
||||||
PL_DHashMoveEntryStub,
|
PL_DHashMoveEntryStub,
|
||||||
|
|
|
@ -138,16 +138,33 @@ RuleHash_CIHashKey(PLDHashTable *table, const void *key)
|
||||||
return HashString(str);
|
return HashString(str);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
typedef nsIAtom*
|
||||||
|
(* PR_CALLBACK RuleHashGetKey) (PLDHashTable *table,
|
||||||
|
const PLDHashEntryHdr *entry);
|
||||||
|
|
||||||
|
struct RuleHashTableOps {
|
||||||
|
PLDHashTableOps ops;
|
||||||
|
// Extra callback to avoid duplicating the matchEntry callback for
|
||||||
|
// each table. (There used to be a getKey callback in
|
||||||
|
// PLDHashTableOps.)
|
||||||
|
RuleHashGetKey getKey;
|
||||||
|
};
|
||||||
|
|
||||||
|
inline const RuleHashTableOps*
|
||||||
|
ToLocalOps(const PLDHashTableOps *aOps)
|
||||||
|
{
|
||||||
|
return (const RuleHashTableOps*)
|
||||||
|
(((const char*) aOps) - offsetof(RuleHashTableOps, ops));
|
||||||
|
}
|
||||||
|
|
||||||
PR_STATIC_CALLBACK(PRBool)
|
PR_STATIC_CALLBACK(PRBool)
|
||||||
RuleHash_CIMatchEntry(PLDHashTable *table, const PLDHashEntryHdr *hdr,
|
RuleHash_CIMatchEntry(PLDHashTable *table, const PLDHashEntryHdr *hdr,
|
||||||
const void *key)
|
const void *key)
|
||||||
{
|
{
|
||||||
nsIAtom *match_atom = NS_CONST_CAST(nsIAtom*, NS_STATIC_CAST(const nsIAtom*,
|
nsIAtom *match_atom = NS_CONST_CAST(nsIAtom*, NS_STATIC_CAST(const nsIAtom*,
|
||||||
key));
|
key));
|
||||||
// Use the |getKey| callback to avoid code duplication.
|
// Use our extra |getKey| callback to avoid code duplication.
|
||||||
// XXX Ugh! Why does |getKey| have different |const|-ness?
|
nsIAtom *entry_atom = ToLocalOps(table->ops)->getKey(table, hdr);
|
||||||
nsIAtom *entry_atom = NS_CONST_CAST(nsIAtom*, NS_STATIC_CAST(const nsIAtom*,
|
|
||||||
table->ops->getKey(table, NS_CONST_CAST(PLDHashEntryHdr*, hdr))));
|
|
||||||
|
|
||||||
// Check for case-sensitive match first.
|
// Check for case-sensitive match first.
|
||||||
if (match_atom == entry_atom)
|
if (match_atom == entry_atom)
|
||||||
|
@ -166,42 +183,36 @@ RuleHash_CSMatchEntry(PLDHashTable *table, const PLDHashEntryHdr *hdr,
|
||||||
{
|
{
|
||||||
nsIAtom *match_atom = NS_CONST_CAST(nsIAtom*, NS_STATIC_CAST(const nsIAtom*,
|
nsIAtom *match_atom = NS_CONST_CAST(nsIAtom*, NS_STATIC_CAST(const nsIAtom*,
|
||||||
key));
|
key));
|
||||||
// Use the |getKey| callback to avoid code duplication.
|
// Use our extra |getKey| callback to avoid code duplication.
|
||||||
// XXX Ugh! Why does |getKey| have different |const|-ness?
|
nsIAtom *entry_atom = ToLocalOps(table->ops)->getKey(table, hdr);
|
||||||
nsIAtom *entry_atom = NS_CONST_CAST(nsIAtom*, NS_STATIC_CAST(const nsIAtom*,
|
|
||||||
table->ops->getKey(table, NS_CONST_CAST(PLDHashEntryHdr*, hdr))));
|
|
||||||
|
|
||||||
return match_atom == entry_atom;
|
return match_atom == entry_atom;
|
||||||
}
|
}
|
||||||
|
|
||||||
PR_STATIC_CALLBACK(const void*)
|
PR_STATIC_CALLBACK(nsIAtom*)
|
||||||
RuleHash_TagTable_GetKey(PLDHashTable *table, PLDHashEntryHdr *hdr)
|
RuleHash_TagTable_GetKey(PLDHashTable *table, const PLDHashEntryHdr *hdr)
|
||||||
{
|
{
|
||||||
RuleHashTableEntry *entry = NS_STATIC_CAST(RuleHashTableEntry*, hdr);
|
const RuleHashTableEntry *entry =
|
||||||
|
NS_STATIC_CAST(const RuleHashTableEntry*, hdr);
|
||||||
return entry->mRules->mSelector->mTag;
|
return entry->mRules->mSelector->mTag;
|
||||||
}
|
}
|
||||||
|
|
||||||
PR_STATIC_CALLBACK(const void*)
|
PR_STATIC_CALLBACK(nsIAtom*)
|
||||||
RuleHash_ClassTable_GetKey(PLDHashTable *table, PLDHashEntryHdr *hdr)
|
RuleHash_ClassTable_GetKey(PLDHashTable *table, const PLDHashEntryHdr *hdr)
|
||||||
{
|
{
|
||||||
RuleHashTableEntry *entry = NS_STATIC_CAST(RuleHashTableEntry*, hdr);
|
const RuleHashTableEntry *entry =
|
||||||
|
NS_STATIC_CAST(const RuleHashTableEntry*, hdr);
|
||||||
return entry->mRules->mSelector->mClassList->mAtom;
|
return entry->mRules->mSelector->mClassList->mAtom;
|
||||||
}
|
}
|
||||||
|
|
||||||
PR_STATIC_CALLBACK(const void*)
|
PR_STATIC_CALLBACK(nsIAtom*)
|
||||||
RuleHash_IdTable_GetKey(PLDHashTable *table, PLDHashEntryHdr *hdr)
|
RuleHash_IdTable_GetKey(PLDHashTable *table, const PLDHashEntryHdr *hdr)
|
||||||
{
|
{
|
||||||
RuleHashTableEntry *entry = NS_STATIC_CAST(RuleHashTableEntry*, hdr);
|
const RuleHashTableEntry *entry =
|
||||||
|
NS_STATIC_CAST(const RuleHashTableEntry*, hdr);
|
||||||
return entry->mRules->mSelector->mIDList->mAtom;
|
return entry->mRules->mSelector->mIDList->mAtom;
|
||||||
}
|
}
|
||||||
|
|
||||||
PR_STATIC_CALLBACK(const void*)
|
|
||||||
RuleHash_NameSpaceTable_GetKey(PLDHashTable *table, PLDHashEntryHdr *hdr)
|
|
||||||
{
|
|
||||||
RuleHashTableEntry *entry = NS_STATIC_CAST(RuleHashTableEntry*, hdr);
|
|
||||||
return NS_INT32_TO_PTR(entry->mRules->mSelector->mNameSpace);
|
|
||||||
}
|
|
||||||
|
|
||||||
PR_STATIC_CALLBACK(PLDHashNumber)
|
PR_STATIC_CALLBACK(PLDHashNumber)
|
||||||
RuleHash_NameSpaceTable_HashKey(PLDHashTable *table, const void *key)
|
RuleHash_NameSpaceTable_HashKey(PLDHashTable *table, const void *key)
|
||||||
{
|
{
|
||||||
|
@ -220,80 +231,89 @@ RuleHash_NameSpaceTable_MatchEntry(PLDHashTable *table,
|
||||||
entry->mRules->mSelector->mNameSpace;
|
entry->mRules->mSelector->mNameSpace;
|
||||||
}
|
}
|
||||||
|
|
||||||
static PLDHashTableOps RuleHash_TagTable_Ops = {
|
static const RuleHashTableOps RuleHash_TagTable_Ops = {
|
||||||
|
{
|
||||||
PL_DHashAllocTable,
|
PL_DHashAllocTable,
|
||||||
PL_DHashFreeTable,
|
PL_DHashFreeTable,
|
||||||
RuleHash_TagTable_GetKey,
|
|
||||||
PL_DHashVoidPtrKeyStub,
|
PL_DHashVoidPtrKeyStub,
|
||||||
RuleHash_CSMatchEntry,
|
RuleHash_CSMatchEntry,
|
||||||
PL_DHashMoveEntryStub,
|
PL_DHashMoveEntryStub,
|
||||||
PL_DHashClearEntryStub,
|
PL_DHashClearEntryStub,
|
||||||
PL_DHashFinalizeStub,
|
PL_DHashFinalizeStub,
|
||||||
NULL
|
NULL
|
||||||
|
},
|
||||||
|
RuleHash_TagTable_GetKey
|
||||||
};
|
};
|
||||||
|
|
||||||
// Case-sensitive ops.
|
// Case-sensitive ops.
|
||||||
static PLDHashTableOps RuleHash_ClassTable_CSOps = {
|
static const RuleHashTableOps RuleHash_ClassTable_CSOps = {
|
||||||
|
{
|
||||||
PL_DHashAllocTable,
|
PL_DHashAllocTable,
|
||||||
PL_DHashFreeTable,
|
PL_DHashFreeTable,
|
||||||
RuleHash_ClassTable_GetKey,
|
|
||||||
PL_DHashVoidPtrKeyStub,
|
PL_DHashVoidPtrKeyStub,
|
||||||
RuleHash_CSMatchEntry,
|
RuleHash_CSMatchEntry,
|
||||||
PL_DHashMoveEntryStub,
|
PL_DHashMoveEntryStub,
|
||||||
PL_DHashClearEntryStub,
|
PL_DHashClearEntryStub,
|
||||||
PL_DHashFinalizeStub,
|
PL_DHashFinalizeStub,
|
||||||
NULL
|
NULL
|
||||||
|
},
|
||||||
|
RuleHash_ClassTable_GetKey
|
||||||
};
|
};
|
||||||
|
|
||||||
// Case-insensitive ops.
|
// Case-insensitive ops.
|
||||||
static PLDHashTableOps RuleHash_ClassTable_CIOps = {
|
static const RuleHashTableOps RuleHash_ClassTable_CIOps = {
|
||||||
|
{
|
||||||
PL_DHashAllocTable,
|
PL_DHashAllocTable,
|
||||||
PL_DHashFreeTable,
|
PL_DHashFreeTable,
|
||||||
RuleHash_ClassTable_GetKey,
|
|
||||||
RuleHash_CIHashKey,
|
RuleHash_CIHashKey,
|
||||||
RuleHash_CIMatchEntry,
|
RuleHash_CIMatchEntry,
|
||||||
PL_DHashMoveEntryStub,
|
PL_DHashMoveEntryStub,
|
||||||
PL_DHashClearEntryStub,
|
PL_DHashClearEntryStub,
|
||||||
PL_DHashFinalizeStub,
|
PL_DHashFinalizeStub,
|
||||||
NULL
|
NULL
|
||||||
|
},
|
||||||
|
RuleHash_ClassTable_GetKey
|
||||||
};
|
};
|
||||||
|
|
||||||
// Case-sensitive ops.
|
// Case-sensitive ops.
|
||||||
static PLDHashTableOps RuleHash_IdTable_CSOps = {
|
static const RuleHashTableOps RuleHash_IdTable_CSOps = {
|
||||||
|
{
|
||||||
PL_DHashAllocTable,
|
PL_DHashAllocTable,
|
||||||
PL_DHashFreeTable,
|
PL_DHashFreeTable,
|
||||||
RuleHash_IdTable_GetKey,
|
|
||||||
PL_DHashVoidPtrKeyStub,
|
PL_DHashVoidPtrKeyStub,
|
||||||
RuleHash_CSMatchEntry,
|
RuleHash_CSMatchEntry,
|
||||||
PL_DHashMoveEntryStub,
|
PL_DHashMoveEntryStub,
|
||||||
PL_DHashClearEntryStub,
|
PL_DHashClearEntryStub,
|
||||||
PL_DHashFinalizeStub,
|
PL_DHashFinalizeStub,
|
||||||
NULL
|
NULL
|
||||||
|
},
|
||||||
|
RuleHash_IdTable_GetKey
|
||||||
};
|
};
|
||||||
|
|
||||||
// Case-insensitive ops.
|
// Case-insensitive ops.
|
||||||
static PLDHashTableOps RuleHash_IdTable_CIOps = {
|
static const RuleHashTableOps RuleHash_IdTable_CIOps = {
|
||||||
|
{
|
||||||
PL_DHashAllocTable,
|
PL_DHashAllocTable,
|
||||||
PL_DHashFreeTable,
|
PL_DHashFreeTable,
|
||||||
RuleHash_IdTable_GetKey,
|
|
||||||
RuleHash_CIHashKey,
|
RuleHash_CIHashKey,
|
||||||
RuleHash_CIMatchEntry,
|
RuleHash_CIMatchEntry,
|
||||||
PL_DHashMoveEntryStub,
|
PL_DHashMoveEntryStub,
|
||||||
PL_DHashClearEntryStub,
|
PL_DHashClearEntryStub,
|
||||||
PL_DHashFinalizeStub,
|
PL_DHashFinalizeStub,
|
||||||
NULL
|
NULL
|
||||||
|
},
|
||||||
|
RuleHash_IdTable_GetKey
|
||||||
};
|
};
|
||||||
|
|
||||||
static PLDHashTableOps RuleHash_NameSpaceTable_Ops = {
|
static const PLDHashTableOps RuleHash_NameSpaceTable_Ops = {
|
||||||
PL_DHashAllocTable,
|
PL_DHashAllocTable,
|
||||||
PL_DHashFreeTable,
|
PL_DHashFreeTable,
|
||||||
RuleHash_NameSpaceTable_GetKey,
|
|
||||||
RuleHash_NameSpaceTable_HashKey,
|
RuleHash_NameSpaceTable_HashKey,
|
||||||
RuleHash_NameSpaceTable_MatchEntry,
|
RuleHash_NameSpaceTable_MatchEntry,
|
||||||
PL_DHashMoveEntryStub,
|
PL_DHashMoveEntryStub,
|
||||||
PL_DHashClearEntryStub,
|
PL_DHashClearEntryStub,
|
||||||
PL_DHashFinalizeStub,
|
PL_DHashFinalizeStub,
|
||||||
NULL
|
NULL,
|
||||||
};
|
};
|
||||||
|
|
||||||
#undef RULE_HASH_STATS
|
#undef RULE_HASH_STATS
|
||||||
|
@ -389,15 +409,15 @@ RuleHash::RuleHash(PRBool aQuirksMode)
|
||||||
// Initialize our arena
|
// Initialize our arena
|
||||||
PL_INIT_ARENA_POOL(&mArena, "RuleHashArena", NS_RULEHASH_ARENA_BLOCK_SIZE);
|
PL_INIT_ARENA_POOL(&mArena, "RuleHashArena", NS_RULEHASH_ARENA_BLOCK_SIZE);
|
||||||
|
|
||||||
PL_DHashTableInit(&mTagTable, &RuleHash_TagTable_Ops, nsnull,
|
PL_DHashTableInit(&mTagTable, &RuleHash_TagTable_Ops.ops, nsnull,
|
||||||
sizeof(RuleHashTableEntry), 64);
|
sizeof(RuleHashTableEntry), 64);
|
||||||
PL_DHashTableInit(&mIdTable,
|
PL_DHashTableInit(&mIdTable,
|
||||||
aQuirksMode ? &RuleHash_IdTable_CIOps
|
aQuirksMode ? &RuleHash_IdTable_CIOps.ops
|
||||||
: &RuleHash_IdTable_CSOps,
|
: &RuleHash_IdTable_CSOps.ops,
|
||||||
nsnull, sizeof(RuleHashTableEntry), 16);
|
nsnull, sizeof(RuleHashTableEntry), 16);
|
||||||
PL_DHashTableInit(&mClassTable,
|
PL_DHashTableInit(&mClassTable,
|
||||||
aQuirksMode ? &RuleHash_ClassTable_CIOps
|
aQuirksMode ? &RuleHash_ClassTable_CIOps.ops
|
||||||
: &RuleHash_ClassTable_CSOps,
|
: &RuleHash_ClassTable_CSOps.ops,
|
||||||
nsnull, sizeof(RuleHashTableEntry), 16);
|
nsnull, sizeof(RuleHashTableEntry), 16);
|
||||||
PL_DHashTableInit(&mNameSpaceTable, &RuleHash_NameSpaceTable_Ops, nsnull,
|
PL_DHashTableInit(&mNameSpaceTable, &RuleHash_NameSpaceTable_Ops, nsnull,
|
||||||
sizeof(RuleHashTableEntry), 16);
|
sizeof(RuleHashTableEntry), 16);
|
||||||
|
@ -636,10 +656,9 @@ AttributeSelectorClearEntry(PLDHashTable *table, PLDHashEntryHdr *hdr)
|
||||||
memset(entry, 0, table->entrySize);
|
memset(entry, 0, table->entrySize);
|
||||||
}
|
}
|
||||||
|
|
||||||
static PLDHashTableOps AttributeSelectorOps = {
|
static const PLDHashTableOps AttributeSelectorOps = {
|
||||||
PL_DHashAllocTable,
|
PL_DHashAllocTable,
|
||||||
PL_DHashFreeTable,
|
PL_DHashFreeTable,
|
||||||
PL_DHashGetKeyStub,
|
|
||||||
PL_DHashVoidPtrKeyStub,
|
PL_DHashVoidPtrKeyStub,
|
||||||
PL_DHashMatchEntryStub,
|
PL_DHashMatchEntryStub,
|
||||||
PL_DHashMoveEntryStub,
|
PL_DHashMoveEntryStub,
|
||||||
|
|
|
@ -333,7 +333,6 @@ MappedAttrTable_MatchEntry(PLDHashTable *table, const PLDHashEntryHdr *hdr,
|
||||||
static PLDHashTableOps MappedAttrTable_Ops = {
|
static PLDHashTableOps MappedAttrTable_Ops = {
|
||||||
PL_DHashAllocTable,
|
PL_DHashAllocTable,
|
||||||
PL_DHashFreeTable,
|
PL_DHashFreeTable,
|
||||||
PL_DHashGetKeyStub,
|
|
||||||
MappedAttrTable_HashKey,
|
MappedAttrTable_HashKey,
|
||||||
MappedAttrTable_MatchEntry,
|
MappedAttrTable_MatchEntry,
|
||||||
PL_DHashMoveEntryStub,
|
PL_DHashMoveEntryStub,
|
||||||
|
|
|
@ -115,13 +115,6 @@ struct ChildrenHashEntry : public PLDHashEntryHdr {
|
||||||
nsRuleNode *mRuleNode;
|
nsRuleNode *mRuleNode;
|
||||||
};
|
};
|
||||||
|
|
||||||
PR_STATIC_CALLBACK(const void *)
|
|
||||||
ChildrenHashGetKey(PLDHashTable *table, PLDHashEntryHdr *hdr)
|
|
||||||
{
|
|
||||||
ChildrenHashEntry *entry = NS_STATIC_CAST(ChildrenHashEntry*, hdr);
|
|
||||||
return entry->mRuleNode->GetRule();
|
|
||||||
}
|
|
||||||
|
|
||||||
PR_STATIC_CALLBACK(PRBool)
|
PR_STATIC_CALLBACK(PRBool)
|
||||||
ChildrenHashMatchEntry(PLDHashTable *table, const PLDHashEntryHdr *hdr,
|
ChildrenHashMatchEntry(PLDHashTable *table, const PLDHashEntryHdr *hdr,
|
||||||
const void *key)
|
const void *key)
|
||||||
|
@ -138,7 +131,6 @@ static PLDHashTableOps ChildrenHashOps = {
|
||||||
// large size allocations.
|
// large size allocations.
|
||||||
PL_DHashAllocTable,
|
PL_DHashAllocTable,
|
||||||
PL_DHashFreeTable,
|
PL_DHashFreeTable,
|
||||||
ChildrenHashGetKey,
|
|
||||||
PL_DHashVoidPtrKeyStub,
|
PL_DHashVoidPtrKeyStub,
|
||||||
ChildrenHashMatchEntry,
|
ChildrenHashMatchEntry,
|
||||||
PL_DHashMoveEntryStub,
|
PL_DHashMoveEntryStub,
|
||||||
|
|
|
@ -69,7 +69,6 @@ SpanningCellSorter::~SpanningCellSorter()
|
||||||
SpanningCellSorter::HashTableOps = {
|
SpanningCellSorter::HashTableOps = {
|
||||||
PL_DHashAllocTable,
|
PL_DHashAllocTable,
|
||||||
PL_DHashFreeTable,
|
PL_DHashFreeTable,
|
||||||
HashTableGetKey,
|
|
||||||
HashTableHashKey,
|
HashTableHashKey,
|
||||||
HashTableMatchEntry,
|
HashTableMatchEntry,
|
||||||
PL_DHashMoveEntryStub,
|
PL_DHashMoveEntryStub,
|
||||||
|
@ -78,14 +77,6 @@ SpanningCellSorter::HashTableOps = {
|
||||||
nsnull
|
nsnull
|
||||||
};
|
};
|
||||||
|
|
||||||
/* static */ PR_CALLBACK const void*
|
|
||||||
SpanningCellSorter::HashTableGetKey(PLDHashTable *table,
|
|
||||||
PLDHashEntryHdr *hdr)
|
|
||||||
{
|
|
||||||
HashTableEntry *entry = NS_STATIC_CAST(HashTableEntry*, hdr);
|
|
||||||
return NS_INT32_TO_PTR(entry->mColSpan);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* static */ PR_CALLBACK PLDHashNumber
|
/* static */ PR_CALLBACK PLDHashNumber
|
||||||
SpanningCellSorter::HashTableHashKey(PLDHashTable *table, const void *key)
|
SpanningCellSorter::HashTableHashKey(PLDHashTable *table, const void *key)
|
||||||
{
|
{
|
||||||
|
|
|
@ -99,8 +99,6 @@ private:
|
||||||
|
|
||||||
static PLDHashTableOps HashTableOps;
|
static PLDHashTableOps HashTableOps;
|
||||||
|
|
||||||
PR_STATIC_CALLBACK(const void*)
|
|
||||||
HashTableGetKey(PLDHashTable *table, PLDHashEntryHdr *hdr);
|
|
||||||
PR_STATIC_CALLBACK(PLDHashNumber)
|
PR_STATIC_CALLBACK(PLDHashNumber)
|
||||||
HashTableHashKey(PLDHashTable *table, const void *key);
|
HashTableHashKey(PLDHashTable *table, const void *key);
|
||||||
PR_STATIC_CALLBACK(PRBool)
|
PR_STATIC_CALLBACK(PRBool)
|
||||||
|
|
|
@ -127,7 +127,6 @@ static PRBool gIsAnyPrefLocked = PR_FALSE;
|
||||||
static PLDHashTableOps pref_HashTableOps = {
|
static PLDHashTableOps pref_HashTableOps = {
|
||||||
PL_DHashAllocTable,
|
PL_DHashAllocTable,
|
||||||
PL_DHashFreeTable,
|
PL_DHashFreeTable,
|
||||||
PL_DHashGetKeyStub,
|
|
||||||
PL_DHashStringKey,
|
PL_DHashStringKey,
|
||||||
matchPrefEntry,
|
matchPrefEntry,
|
||||||
PL_DHashMoveEntryStub,
|
PL_DHashMoveEntryStub,
|
||||||
|
|
|
@ -877,15 +877,6 @@ JSObjWrapperHash(PLDHashTable *table, const void *key)
|
||||||
return (PLDHashNumber)((PRWord)e->mJSObj ^ (PRWord)e->mNpp) >> 2;
|
return (PLDHashNumber)((PRWord)e->mJSObj ^ (PRWord)e->mNpp) >> 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
PR_STATIC_CALLBACK(const void *)
|
|
||||||
JSObjWrapperHashGetKey(PLDHashTable *table, PLDHashEntryHdr *entry)
|
|
||||||
{
|
|
||||||
JSObjWrapperHashEntry *e =
|
|
||||||
NS_STATIC_CAST(JSObjWrapperHashEntry *, entry);
|
|
||||||
|
|
||||||
return NS_STATIC_CAST(nsJSObjWrapperKey *, e->mJSObjWrapper);
|
|
||||||
}
|
|
||||||
|
|
||||||
PR_STATIC_CALLBACK(PRBool)
|
PR_STATIC_CALLBACK(PRBool)
|
||||||
JSObjWrapperHashMatchEntry(PLDHashTable *table, const PLDHashEntryHdr *entry,
|
JSObjWrapperHashMatchEntry(PLDHashTable *table, const PLDHashEntryHdr *entry,
|
||||||
const void *key)
|
const void *key)
|
||||||
|
@ -941,7 +932,6 @@ nsJSObjWrapper::GetNewOrUsed(NPP npp, JSContext *cx, JSObject *obj)
|
||||||
{
|
{
|
||||||
PL_DHashAllocTable,
|
PL_DHashAllocTable,
|
||||||
PL_DHashFreeTable,
|
PL_DHashFreeTable,
|
||||||
JSObjWrapperHashGetKey,
|
|
||||||
JSObjWrapperHash,
|
JSObjWrapperHash,
|
||||||
JSObjWrapperHashMatchEntry,
|
JSObjWrapperHashMatchEntry,
|
||||||
PL_DHashMoveEntryStub,
|
PL_DHashMoveEntryStub,
|
||||||
|
|
|
@ -81,14 +81,6 @@ public:
|
||||||
nsCOMPtr<nsIRequest> mKey;
|
nsCOMPtr<nsIRequest> mKey;
|
||||||
};
|
};
|
||||||
|
|
||||||
PR_STATIC_CALLBACK(const void *)
|
|
||||||
RequestHashGetKey(PLDHashTable *table, PLDHashEntryHdr *entry)
|
|
||||||
{
|
|
||||||
RequestMapEntry *e = NS_STATIC_CAST(RequestMapEntry *, entry);
|
|
||||||
|
|
||||||
return e->mKey.get();
|
|
||||||
}
|
|
||||||
|
|
||||||
PR_STATIC_CALLBACK(PRBool)
|
PR_STATIC_CALLBACK(PRBool)
|
||||||
RequestHashMatchEntry(PLDHashTable *table, const PLDHashEntryHdr *entry,
|
RequestHashMatchEntry(PLDHashTable *table, const PLDHashEntryHdr *entry,
|
||||||
const void *key)
|
const void *key)
|
||||||
|
@ -188,7 +180,6 @@ nsresult nsLoadGroup::Init()
|
||||||
{
|
{
|
||||||
PL_DHashAllocTable,
|
PL_DHashAllocTable,
|
||||||
PL_DHashFreeTable,
|
PL_DHashFreeTable,
|
||||||
RequestHashGetKey,
|
|
||||||
PL_DHashVoidPtrKeyStub,
|
PL_DHashVoidPtrKeyStub,
|
||||||
RequestHashMatchEntry,
|
RequestHashMatchEntry,
|
||||||
PL_DHashMoveEntryStub,
|
PL_DHashMoveEntryStub,
|
||||||
|
|
|
@ -397,7 +397,6 @@ nsCacheEntryHashTable::ops =
|
||||||
{
|
{
|
||||||
PL_DHashAllocTable,
|
PL_DHashAllocTable,
|
||||||
PL_DHashFreeTable,
|
PL_DHashFreeTable,
|
||||||
GetKey,
|
|
||||||
HashKey,
|
HashKey,
|
||||||
MatchEntry,
|
MatchEntry,
|
||||||
MoveEntry,
|
MoveEntry,
|
||||||
|
@ -520,13 +519,6 @@ nsCacheEntryHashTable::VisitEntry(PLDHashTable *table,
|
||||||
/**
|
/**
|
||||||
* hash table operation callback functions
|
* hash table operation callback functions
|
||||||
*/
|
*/
|
||||||
const void * PR_CALLBACK
|
|
||||||
nsCacheEntryHashTable::GetKey( PLDHashTable * /*table*/, PLDHashEntryHdr *hashEntry)
|
|
||||||
{
|
|
||||||
nsCacheEntry *cacheEntry = ((nsCacheEntryHashTableEntry *)hashEntry)->cacheEntry;
|
|
||||||
return cacheEntry->mKey;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
PLDHashNumber PR_CALLBACK
|
PLDHashNumber PR_CALLBACK
|
||||||
nsCacheEntryHashTable::HashKey( PLDHashTable *table, const void *key)
|
nsCacheEntryHashTable::HashKey( PLDHashTable *table, const void *key)
|
||||||
|
|
|
@ -307,8 +307,6 @@ private:
|
||||||
friend class nsCacheService; // XXX redefine interface so this isn't necessary
|
friend class nsCacheService; // XXX redefine interface so this isn't necessary
|
||||||
|
|
||||||
// PLDHashTable operation callbacks
|
// PLDHashTable operation callbacks
|
||||||
static const void * PR_CALLBACK GetKey( PLDHashTable *table, PLDHashEntryHdr *entry);
|
|
||||||
|
|
||||||
static PLDHashNumber PR_CALLBACK HashKey( PLDHashTable *table, const void *key);
|
static PLDHashNumber PR_CALLBACK HashKey( PLDHashTable *table, const void *key);
|
||||||
|
|
||||||
static PRBool PR_CALLBACK MatchEntry( PLDHashTable * table,
|
static PRBool PR_CALLBACK MatchEntry( PLDHashTable * table,
|
||||||
|
|
|
@ -60,13 +60,6 @@ struct HashTableEntry : PLDHashEntryHdr {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
static const void * PR_CALLBACK
|
|
||||||
GetKey(PLDHashTable * /*table*/, PLDHashEntryHdr * header)
|
|
||||||
{
|
|
||||||
return (void*) ((HashTableEntry *)header)->mBinding->mRecord.HashNumber();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static PLDHashNumber PR_CALLBACK
|
static PLDHashNumber PR_CALLBACK
|
||||||
HashKey( PLDHashTable *table, const void *key)
|
HashKey( PLDHashTable *table, const void *key)
|
||||||
{
|
{
|
||||||
|
@ -168,7 +161,6 @@ PLDHashTableOps nsDiskCacheBindery::ops =
|
||||||
{
|
{
|
||||||
PL_DHashAllocTable,
|
PL_DHashAllocTable,
|
||||||
PL_DHashFreeTable,
|
PL_DHashFreeTable,
|
||||||
GetKey,
|
|
||||||
HashKey,
|
HashKey,
|
||||||
MatchEntry,
|
MatchEntry,
|
||||||
MoveEntry,
|
MoveEntry,
|
||||||
|
|
|
@ -199,13 +199,6 @@ struct nsHostDBEnt : PLDHashEntryHdr
|
||||||
nsHostRecord *rec;
|
nsHostRecord *rec;
|
||||||
};
|
};
|
||||||
|
|
||||||
PR_STATIC_CALLBACK(const void *)
|
|
||||||
HostDB_GetKey(PLDHashTable *table, PLDHashEntryHdr *entry)
|
|
||||||
{
|
|
||||||
nsHostDBEnt *he = NS_STATIC_CAST(nsHostDBEnt *, entry);
|
|
||||||
return NS_STATIC_CAST(const nsHostKey *, he->rec);
|
|
||||||
}
|
|
||||||
|
|
||||||
PR_STATIC_CALLBACK(PLDHashNumber)
|
PR_STATIC_CALLBACK(PLDHashNumber)
|
||||||
HostDB_HashKey(PLDHashTable *table, const void *key)
|
HostDB_HashKey(PLDHashTable *table, const void *key)
|
||||||
{
|
{
|
||||||
|
@ -279,7 +272,6 @@ static PLDHashTableOps gHostDB_ops =
|
||||||
{
|
{
|
||||||
PL_DHashAllocTable,
|
PL_DHashAllocTable,
|
||||||
PL_DHashFreeTable,
|
PL_DHashFreeTable,
|
||||||
HostDB_GetKey,
|
|
||||||
HostDB_HashKey,
|
HostDB_HashKey,
|
||||||
HostDB_MatchEntry,
|
HostDB_MatchEntry,
|
||||||
HostDB_MoveEntry,
|
HostDB_MoveEntry,
|
||||||
|
|
|
@ -113,7 +113,6 @@ StringCompare(PLDHashTable *table, const PLDHashEntryHdr *entry,
|
||||||
static const PLDHashTableOps ops = {
|
static const PLDHashTableOps ops = {
|
||||||
PL_DHashAllocTable,
|
PL_DHashAllocTable,
|
||||||
PL_DHashFreeTable,
|
PL_DHashFreeTable,
|
||||||
PL_DHashGetKeyStub,
|
|
||||||
StringHash,
|
StringHash,
|
||||||
StringCompare,
|
StringCompare,
|
||||||
PL_DHashMoveEntryStub,
|
PL_DHashMoveEntryStub,
|
||||||
|
|
|
@ -54,20 +54,6 @@ struct EntityNodeEntry : public PLDHashEntryHdr
|
||||||
const EntityNode* node;
|
const EntityNode* node;
|
||||||
};
|
};
|
||||||
|
|
||||||
PR_STATIC_CALLBACK(const void*)
|
|
||||||
getStringKey(PLDHashTable*, PLDHashEntryHdr* aHdr)
|
|
||||||
{
|
|
||||||
const EntityNodeEntry* entry = NS_STATIC_CAST(const EntityNodeEntry*, aHdr);
|
|
||||||
return entry->node->mStr;
|
|
||||||
}
|
|
||||||
|
|
||||||
PR_STATIC_CALLBACK(const void*)
|
|
||||||
getUnicodeKey(PLDHashTable*, PLDHashEntryHdr* aHdr)
|
|
||||||
{
|
|
||||||
const EntityNodeEntry* entry = NS_STATIC_CAST(const EntityNodeEntry*, aHdr);
|
|
||||||
return NS_INT32_TO_PTR(entry->node->mUnicode);
|
|
||||||
}
|
|
||||||
|
|
||||||
PR_STATIC_CALLBACK(PRBool)
|
PR_STATIC_CALLBACK(PRBool)
|
||||||
matchNodeString(PLDHashTable*, const PLDHashEntryHdr* aHdr,
|
matchNodeString(PLDHashTable*, const PLDHashEntryHdr* aHdr,
|
||||||
const void* key)
|
const void* key)
|
||||||
|
@ -97,7 +83,6 @@ PR_STATIC_CALLBACK(PLDHashNumber)
|
||||||
static const PLDHashTableOps EntityToUnicodeOps = {
|
static const PLDHashTableOps EntityToUnicodeOps = {
|
||||||
PL_DHashAllocTable,
|
PL_DHashAllocTable,
|
||||||
PL_DHashFreeTable,
|
PL_DHashFreeTable,
|
||||||
getStringKey,
|
|
||||||
PL_DHashStringKey,
|
PL_DHashStringKey,
|
||||||
matchNodeString,
|
matchNodeString,
|
||||||
PL_DHashMoveEntryStub,
|
PL_DHashMoveEntryStub,
|
||||||
|
@ -109,7 +94,6 @@ static const PLDHashTableOps EntityToUnicodeOps = {
|
||||||
static const PLDHashTableOps UnicodeToEntityOps = {
|
static const PLDHashTableOps UnicodeToEntityOps = {
|
||||||
PL_DHashAllocTable,
|
PL_DHashAllocTable,
|
||||||
PL_DHashFreeTable,
|
PL_DHashFreeTable,
|
||||||
getUnicodeKey,
|
|
||||||
hashUnicodeValue,
|
hashUnicodeValue,
|
||||||
matchNodeUnicode,
|
matchNodeUnicode,
|
||||||
PL_DHashMoveEntryStub,
|
PL_DHashMoveEntryStub,
|
||||||
|
|
|
@ -167,13 +167,6 @@ struct ResourceHashEntry : public PLDHashEntryHdr {
|
||||||
const char *mKey;
|
const char *mKey;
|
||||||
nsIRDFResource *mResource;
|
nsIRDFResource *mResource;
|
||||||
|
|
||||||
static const void * PR_CALLBACK
|
|
||||||
GetKey(PLDHashTable *table, PLDHashEntryHdr *hdr)
|
|
||||||
{
|
|
||||||
ResourceHashEntry *entry = NS_STATIC_CAST(ResourceHashEntry *, hdr);
|
|
||||||
return entry->mKey;
|
|
||||||
}
|
|
||||||
|
|
||||||
static PLDHashNumber PR_CALLBACK
|
static PLDHashNumber PR_CALLBACK
|
||||||
HashKey(PLDHashTable *table, const void *key)
|
HashKey(PLDHashTable *table, const void *key)
|
||||||
{
|
{
|
||||||
|
@ -195,7 +188,6 @@ struct ResourceHashEntry : public PLDHashEntryHdr {
|
||||||
static PLDHashTableOps gResourceTableOps = {
|
static PLDHashTableOps gResourceTableOps = {
|
||||||
PL_DHashAllocTable,
|
PL_DHashAllocTable,
|
||||||
PL_DHashFreeTable,
|
PL_DHashFreeTable,
|
||||||
ResourceHashEntry::GetKey,
|
|
||||||
ResourceHashEntry::HashKey,
|
ResourceHashEntry::HashKey,
|
||||||
ResourceHashEntry::MatchEntry,
|
ResourceHashEntry::MatchEntry,
|
||||||
PL_DHashMoveEntryStub,
|
PL_DHashMoveEntryStub,
|
||||||
|
@ -213,13 +205,6 @@ struct LiteralHashEntry : public PLDHashEntryHdr {
|
||||||
nsIRDFLiteral *mLiteral;
|
nsIRDFLiteral *mLiteral;
|
||||||
const PRUnichar *mKey;
|
const PRUnichar *mKey;
|
||||||
|
|
||||||
static const void * PR_CALLBACK
|
|
||||||
GetKey(PLDHashTable *table, PLDHashEntryHdr *hdr)
|
|
||||||
{
|
|
||||||
LiteralHashEntry *entry = NS_STATIC_CAST(LiteralHashEntry *, hdr);
|
|
||||||
return entry->mKey;
|
|
||||||
}
|
|
||||||
|
|
||||||
static PLDHashNumber PR_CALLBACK
|
static PLDHashNumber PR_CALLBACK
|
||||||
HashKey(PLDHashTable *table, const void *key)
|
HashKey(PLDHashTable *table, const void *key)
|
||||||
{
|
{
|
||||||
|
@ -241,7 +226,6 @@ struct LiteralHashEntry : public PLDHashEntryHdr {
|
||||||
static PLDHashTableOps gLiteralTableOps = {
|
static PLDHashTableOps gLiteralTableOps = {
|
||||||
PL_DHashAllocTable,
|
PL_DHashAllocTable,
|
||||||
PL_DHashFreeTable,
|
PL_DHashFreeTable,
|
||||||
LiteralHashEntry::GetKey,
|
|
||||||
LiteralHashEntry::HashKey,
|
LiteralHashEntry::HashKey,
|
||||||
LiteralHashEntry::MatchEntry,
|
LiteralHashEntry::MatchEntry,
|
||||||
PL_DHashMoveEntryStub,
|
PL_DHashMoveEntryStub,
|
||||||
|
@ -259,13 +243,6 @@ struct IntHashEntry : public PLDHashEntryHdr {
|
||||||
nsIRDFInt *mInt;
|
nsIRDFInt *mInt;
|
||||||
PRInt32 mKey;
|
PRInt32 mKey;
|
||||||
|
|
||||||
static const void * PR_CALLBACK
|
|
||||||
GetKey(PLDHashTable *table, PLDHashEntryHdr *hdr)
|
|
||||||
{
|
|
||||||
IntHashEntry *entry = NS_STATIC_CAST(IntHashEntry *, hdr);
|
|
||||||
return &entry->mKey;
|
|
||||||
}
|
|
||||||
|
|
||||||
static PLDHashNumber PR_CALLBACK
|
static PLDHashNumber PR_CALLBACK
|
||||||
HashKey(PLDHashTable *table, const void *key)
|
HashKey(PLDHashTable *table, const void *key)
|
||||||
{
|
{
|
||||||
|
@ -286,7 +263,6 @@ struct IntHashEntry : public PLDHashEntryHdr {
|
||||||
static PLDHashTableOps gIntTableOps = {
|
static PLDHashTableOps gIntTableOps = {
|
||||||
PL_DHashAllocTable,
|
PL_DHashAllocTable,
|
||||||
PL_DHashFreeTable,
|
PL_DHashFreeTable,
|
||||||
IntHashEntry::GetKey,
|
|
||||||
IntHashEntry::HashKey,
|
IntHashEntry::HashKey,
|
||||||
IntHashEntry::MatchEntry,
|
IntHashEntry::MatchEntry,
|
||||||
PL_DHashMoveEntryStub,
|
PL_DHashMoveEntryStub,
|
||||||
|
@ -304,13 +280,6 @@ struct DateHashEntry : public PLDHashEntryHdr {
|
||||||
nsIRDFDate *mDate;
|
nsIRDFDate *mDate;
|
||||||
PRTime mKey;
|
PRTime mKey;
|
||||||
|
|
||||||
static const void * PR_CALLBACK
|
|
||||||
GetKey(PLDHashTable *table, PLDHashEntryHdr *hdr)
|
|
||||||
{
|
|
||||||
DateHashEntry *entry = NS_STATIC_CAST(DateHashEntry *, hdr);
|
|
||||||
return &entry->mKey;
|
|
||||||
}
|
|
||||||
|
|
||||||
static PLDHashNumber PR_CALLBACK
|
static PLDHashNumber PR_CALLBACK
|
||||||
HashKey(PLDHashTable *table, const void *key)
|
HashKey(PLDHashTable *table, const void *key)
|
||||||
{
|
{
|
||||||
|
@ -340,7 +309,6 @@ struct DateHashEntry : public PLDHashEntryHdr {
|
||||||
static PLDHashTableOps gDateTableOps = {
|
static PLDHashTableOps gDateTableOps = {
|
||||||
PL_DHashAllocTable,
|
PL_DHashAllocTable,
|
||||||
PL_DHashFreeTable,
|
PL_DHashFreeTable,
|
||||||
DateHashEntry::GetKey,
|
|
||||||
DateHashEntry::HashKey,
|
DateHashEntry::HashKey,
|
||||||
DateHashEntry::MatchEntry,
|
DateHashEntry::MatchEntry,
|
||||||
PL_DHashMoveEntryStub,
|
PL_DHashMoveEntryStub,
|
||||||
|
@ -431,13 +399,6 @@ BlobImpl::GetLength(PRInt32 *aResult)
|
||||||
struct BlobHashEntry : public PLDHashEntryHdr {
|
struct BlobHashEntry : public PLDHashEntryHdr {
|
||||||
BlobImpl *mBlob;
|
BlobImpl *mBlob;
|
||||||
|
|
||||||
static const void * PR_CALLBACK
|
|
||||||
GetKey(PLDHashTable *table, PLDHashEntryHdr *hdr)
|
|
||||||
{
|
|
||||||
BlobHashEntry *entry = NS_STATIC_CAST(BlobHashEntry *, hdr);
|
|
||||||
return &entry->mBlob->mData;
|
|
||||||
}
|
|
||||||
|
|
||||||
static PLDHashNumber PR_CALLBACK
|
static PLDHashNumber PR_CALLBACK
|
||||||
HashKey(PLDHashTable *table, const void *key)
|
HashKey(PLDHashTable *table, const void *key)
|
||||||
{
|
{
|
||||||
|
@ -471,7 +432,6 @@ struct BlobHashEntry : public PLDHashEntryHdr {
|
||||||
static PLDHashTableOps gBlobTableOps = {
|
static PLDHashTableOps gBlobTableOps = {
|
||||||
PL_DHashAllocTable,
|
PL_DHashAllocTable,
|
||||||
PL_DHashFreeTable,
|
PL_DHashFreeTable,
|
||||||
BlobHashEntry::GetKey,
|
|
||||||
BlobHashEntry::HashKey,
|
BlobHashEntry::HashKey,
|
||||||
BlobHashEntry::MatchEntry,
|
BlobHashEntry::MatchEntry,
|
||||||
PL_DHashMoveEntryStub,
|
PL_DHashMoveEntryStub,
|
||||||
|
|
|
@ -104,13 +104,6 @@ struct RequestHashEntry : PLDHashEntryHdr {
|
||||||
void *r;
|
void *r;
|
||||||
};
|
};
|
||||||
|
|
||||||
PR_STATIC_CALLBACK(const void *)
|
|
||||||
RequestMapGetKey(PLDHashTable *table, PLDHashEntryHdr *hdr)
|
|
||||||
{
|
|
||||||
RequestHashEntry *entry = NS_STATIC_CAST(RequestHashEntry*, hdr);
|
|
||||||
return entry->r;
|
|
||||||
}
|
|
||||||
|
|
||||||
PR_STATIC_CALLBACK(PRBool)
|
PR_STATIC_CALLBACK(PRBool)
|
||||||
RequestMapMatchEntry(PLDHashTable *table, const PLDHashEntryHdr *hdr,
|
RequestMapMatchEntry(PLDHashTable *table, const PLDHashEntryHdr *hdr,
|
||||||
const void *key)
|
const void *key)
|
||||||
|
@ -131,7 +124,6 @@ RequestMapInitEntry(PLDHashTable *table, PLDHashEntryHdr *hdr,
|
||||||
static PLDHashTableOps gMapOps = {
|
static PLDHashTableOps gMapOps = {
|
||||||
PL_DHashAllocTable,
|
PL_DHashAllocTable,
|
||||||
PL_DHashFreeTable,
|
PL_DHashFreeTable,
|
||||||
RequestMapGetKey,
|
|
||||||
PL_DHashVoidPtrKeyStub,
|
PL_DHashVoidPtrKeyStub,
|
||||||
RequestMapMatchEntry,
|
RequestMapMatchEntry,
|
||||||
PL_DHashMoveEntryStub,
|
PL_DHashMoveEntryStub,
|
||||||
|
|
|
@ -91,13 +91,6 @@ CompareCacheHashEntry::CompareCacheHashEntry()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
PR_STATIC_CALLBACK(const void *)
|
|
||||||
CompareCacheGetKey(PLDHashTable *table, PLDHashEntryHdr *hdr)
|
|
||||||
{
|
|
||||||
CompareCacheHashEntryPtr *entryPtr = NS_STATIC_CAST(CompareCacheHashEntryPtr*, hdr);
|
|
||||||
return entryPtr->entry->key;
|
|
||||||
}
|
|
||||||
|
|
||||||
PR_STATIC_CALLBACK(PRBool)
|
PR_STATIC_CALLBACK(PRBool)
|
||||||
CompareCacheMatchEntry(PLDHashTable *table, const PLDHashEntryHdr *hdr,
|
CompareCacheMatchEntry(PLDHashTable *table, const PLDHashEntryHdr *hdr,
|
||||||
const void *key)
|
const void *key)
|
||||||
|
@ -129,7 +122,6 @@ CompareCacheClearEntry(PLDHashTable *table, PLDHashEntryHdr *hdr)
|
||||||
static PLDHashTableOps gMapOps = {
|
static PLDHashTableOps gMapOps = {
|
||||||
PL_DHashAllocTable,
|
PL_DHashAllocTable,
|
||||||
PL_DHashFreeTable,
|
PL_DHashFreeTable,
|
||||||
CompareCacheGetKey,
|
|
||||||
PL_DHashVoidPtrKeyStub,
|
PL_DHashVoidPtrKeyStub,
|
||||||
CompareCacheMatchEntry,
|
CompareCacheMatchEntry,
|
||||||
PL_DHashMoveEntryStub,
|
PL_DHashMoveEntryStub,
|
||||||
|
|
|
@ -46,13 +46,6 @@ struct ObjectHashEntry : PLDHashEntryHdr {
|
||||||
nsNSSShutDownObject *obj;
|
nsNSSShutDownObject *obj;
|
||||||
};
|
};
|
||||||
|
|
||||||
PR_STATIC_CALLBACK(const void *)
|
|
||||||
ObjectSetGetKey(PLDHashTable *table, PLDHashEntryHdr *hdr)
|
|
||||||
{
|
|
||||||
ObjectHashEntry *entry = NS_STATIC_CAST(ObjectHashEntry*, hdr);
|
|
||||||
return entry->obj;
|
|
||||||
}
|
|
||||||
|
|
||||||
PR_STATIC_CALLBACK(PRBool)
|
PR_STATIC_CALLBACK(PRBool)
|
||||||
ObjectSetMatchEntry(PLDHashTable *table, const PLDHashEntryHdr *hdr,
|
ObjectSetMatchEntry(PLDHashTable *table, const PLDHashEntryHdr *hdr,
|
||||||
const void *key)
|
const void *key)
|
||||||
|
@ -73,7 +66,6 @@ ObjectSetInitEntry(PLDHashTable *table, PLDHashEntryHdr *hdr,
|
||||||
static PLDHashTableOps gSetOps = {
|
static PLDHashTableOps gSetOps = {
|
||||||
PL_DHashAllocTable,
|
PL_DHashAllocTable,
|
||||||
PL_DHashFreeTable,
|
PL_DHashFreeTable,
|
||||||
ObjectSetGetKey,
|
|
||||||
PL_DHashVoidPtrKeyStub,
|
PL_DHashVoidPtrKeyStub,
|
||||||
ObjectSetMatchEntry,
|
ObjectSetMatchEntry,
|
||||||
PL_DHashMoveEntryStub,
|
PL_DHashMoveEntryStub,
|
||||||
|
|
|
@ -148,7 +148,6 @@ nsDocLoader::nsDocLoader()
|
||||||
{
|
{
|
||||||
PL_DHashAllocTable,
|
PL_DHashAllocTable,
|
||||||
PL_DHashFreeTable,
|
PL_DHashFreeTable,
|
||||||
PL_DHashGetKeyStub,
|
|
||||||
PL_DHashVoidPtrKeyStub,
|
PL_DHashVoidPtrKeyStub,
|
||||||
PL_DHashMatchEntryStub,
|
PL_DHashMatchEntryStub,
|
||||||
PL_DHashMoveEntryStub,
|
PL_DHashMoveEntryStub,
|
||||||
|
|
|
@ -137,7 +137,6 @@ struct IconEntry : public PLDHashEntryHdr {
|
||||||
static PLDHashTableOps iconHashOps = {
|
static PLDHashTableOps iconHashOps = {
|
||||||
PL_DHashAllocTable,
|
PL_DHashAllocTable,
|
||||||
PL_DHashFreeTable,
|
PL_DHashFreeTable,
|
||||||
PL_DHashGetKeyStub,
|
|
||||||
PL_DHashStringKey,
|
PL_DHashStringKey,
|
||||||
PL_DHashMatchStringKey,
|
PL_DHashMatchStringKey,
|
||||||
PL_DHashMoveEntryStub,
|
PL_DHashMoveEntryStub,
|
||||||
|
|
|
@ -278,14 +278,6 @@ ArenaStrdup(const char *s, PLArenaPool *arena)
|
||||||
PRBool PR_CALLBACK
|
PRBool PR_CALLBACK
|
||||||
nsFactoryEntry_Destroy(nsHashKey *aKey, void *aData, void* closure);
|
nsFactoryEntry_Destroy(nsHashKey *aKey, void *aData, void* closure);
|
||||||
|
|
||||||
PR_STATIC_CALLBACK(const void *)
|
|
||||||
factory_GetKey(PLDHashTable *aTable, PLDHashEntryHdr *aHdr)
|
|
||||||
{
|
|
||||||
nsFactoryTableEntry* entry = NS_STATIC_CAST(nsFactoryTableEntry*, aHdr);
|
|
||||||
|
|
||||||
return &entry->mFactoryEntry->mCid;
|
|
||||||
}
|
|
||||||
|
|
||||||
PR_STATIC_CALLBACK(PLDHashNumber)
|
PR_STATIC_CALLBACK(PLDHashNumber)
|
||||||
factory_HashKey(PLDHashTable *aTable, const void *aKey)
|
factory_HashKey(PLDHashTable *aTable, const void *aKey)
|
||||||
{
|
{
|
||||||
|
@ -318,7 +310,6 @@ factory_ClearEntry(PLDHashTable *aTable, PLDHashEntryHdr *aHdr)
|
||||||
static const PLDHashTableOps factory_DHashTableOps = {
|
static const PLDHashTableOps factory_DHashTableOps = {
|
||||||
PL_DHashAllocTable,
|
PL_DHashAllocTable,
|
||||||
PL_DHashFreeTable,
|
PL_DHashFreeTable,
|
||||||
factory_GetKey,
|
|
||||||
factory_HashKey,
|
factory_HashKey,
|
||||||
factory_MatchEntry,
|
factory_MatchEntry,
|
||||||
PL_DHashMoveEntryStub,
|
PL_DHashMoveEntryStub,
|
||||||
|
@ -346,7 +337,6 @@ contractID_ClearEntry(PLDHashTable *aTable, PLDHashEntryHdr *aHdr)
|
||||||
static const PLDHashTableOps contractID_DHashTableOps = {
|
static const PLDHashTableOps contractID_DHashTableOps = {
|
||||||
PL_DHashAllocTable,
|
PL_DHashAllocTable,
|
||||||
PL_DHashFreeTable,
|
PL_DHashFreeTable,
|
||||||
PL_DHashGetKeyStub,
|
|
||||||
PL_DHashStringKey,
|
PL_DHashStringKey,
|
||||||
PL_DHashMatchStringKey,
|
PL_DHashMatchStringKey,
|
||||||
PL_DHashMoveEntryStub,
|
PL_DHashMoveEntryStub,
|
||||||
|
|
|
@ -80,10 +80,14 @@ info_InitEntry(PLDHashTable *table, PLDHashEntryHdr *entry, const void *key)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* static */ PLDHashTableOps nsStaticModuleLoader::sInfoHashOps = {
|
/* static */ PLDHashTableOps nsStaticModuleLoader::sInfoHashOps = {
|
||||||
PL_DHashAllocTable, PL_DHashFreeTable,
|
PL_DHashAllocTable,
|
||||||
PL_DHashGetKeyStub, PL_DHashStringKey, PL_DHashMatchStringKey,
|
PL_DHashFreeTable,
|
||||||
PL_DHashMoveEntryStub, info_ClearEntry,
|
PL_DHashStringKey,
|
||||||
PL_DHashFinalizeStub, info_InitEntry
|
PL_DHashMatchStringKey,
|
||||||
|
PL_DHashMoveEntryStub,
|
||||||
|
info_ClearEntry,
|
||||||
|
PL_DHashFinalizeStub,
|
||||||
|
info_InitEntry
|
||||||
};
|
};
|
||||||
|
|
||||||
nsresult
|
nsresult
|
||||||
|
|
|
@ -114,6 +114,8 @@ private:
|
||||||
// actual live entry in the table, and then mBits & ~0x1 in the
|
// actual live entry in the table, and then mBits & ~0x1 in the
|
||||||
// AtomTableEntry points to an AtomImpl or a nsStaticAtomWrapper,
|
// AtomTableEntry points to an AtomImpl or a nsStaticAtomWrapper,
|
||||||
// indicated by the first bit of PtrBits.
|
// indicated by the first bit of PtrBits.
|
||||||
|
// XXX This whole mess could be vastly simplified now that pldhash
|
||||||
|
// no longer has a getKey callback.
|
||||||
typedef PRUword PtrBits;
|
typedef PRUword PtrBits;
|
||||||
|
|
||||||
struct AtomTableEntry : public PLDHashEntryHdr {
|
struct AtomTableEntry : public PLDHashEntryHdr {
|
||||||
|
@ -240,14 +242,6 @@ struct AtomTableEntry : public PLDHashEntryHdr {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
PR_STATIC_CALLBACK(const void *)
|
|
||||||
AtomTableGetKey(PLDHashTable *table, PLDHashEntryHdr *entry)
|
|
||||||
{
|
|
||||||
AtomTableEntry *he = NS_STATIC_CAST(AtomTableEntry*, entry);
|
|
||||||
NS_ASSERTION(he->HasValue(), "Empty atom. how did that happen?");
|
|
||||||
return he;
|
|
||||||
}
|
|
||||||
|
|
||||||
PR_STATIC_CALLBACK(PLDHashNumber)
|
PR_STATIC_CALLBACK(PLDHashNumber)
|
||||||
AtomTableGetHash(PLDHashTable *table, const void *key)
|
AtomTableGetHash(PLDHashTable *table, const void *key)
|
||||||
{
|
{
|
||||||
|
@ -314,7 +308,6 @@ AtomTableClearEntry(PLDHashTable *table, PLDHashEntryHdr *entry)
|
||||||
static const PLDHashTableOps AtomTableOps = {
|
static const PLDHashTableOps AtomTableOps = {
|
||||||
PL_DHashAllocTable,
|
PL_DHashAllocTable,
|
||||||
PL_DHashFreeTable,
|
PL_DHashFreeTable,
|
||||||
AtomTableGetKey,
|
|
||||||
AtomTableGetHash,
|
AtomTableGetHash,
|
||||||
AtomTableMatchKey,
|
AtomTableMatchKey,
|
||||||
PL_DHashMoveEntryStub,
|
PL_DHashMoveEntryStub,
|
||||||
|
|
|
@ -205,12 +205,6 @@
|
||||||
// ENTRY_CLASS: the classname of the entry
|
// ENTRY_CLASS: the classname of the entry
|
||||||
//
|
//
|
||||||
#define DHASH_CALLBACKS(ENTRY_CLASS) \
|
#define DHASH_CALLBACKS(ENTRY_CLASS) \
|
||||||
PR_STATIC_CALLBACK(const void *) \
|
|
||||||
ENTRY_CLASS##GetKey(PLDHashTable* table, PLDHashEntryHdr* entry) \
|
|
||||||
{ \
|
|
||||||
ENTRY_CLASS* e = NS_STATIC_CAST(ENTRY_CLASS*, entry); \
|
|
||||||
return e->GetKey(); \
|
|
||||||
} \
|
|
||||||
PR_STATIC_CALLBACK(PLDHashNumber) \
|
PR_STATIC_CALLBACK(PLDHashNumber) \
|
||||||
ENTRY_CLASS##HashKey(PLDHashTable* table, const void* key) \
|
ENTRY_CLASS##HashKey(PLDHashTable* table, const void* key) \
|
||||||
{ \
|
{ \
|
||||||
|
@ -255,7 +249,6 @@ PR_BEGIN_MACRO \
|
||||||
{ \
|
{ \
|
||||||
PL_DHashAllocTable, \
|
PL_DHashAllocTable, \
|
||||||
PL_DHashFreeTable, \
|
PL_DHashFreeTable, \
|
||||||
ENTRY_CLASS##GetKey, \
|
|
||||||
ENTRY_CLASS##HashKey, \
|
ENTRY_CLASS##HashKey, \
|
||||||
ENTRY_CLASS##MatchEntry, \
|
ENTRY_CLASS##MatchEntry, \
|
||||||
PL_DHashMoveEntryStub, \
|
PL_DHashMoveEntryStub, \
|
||||||
|
|
|
@ -103,7 +103,6 @@ clearHashEntry(PLDHashTable* table, PLDHashEntryHdr* entry)
|
||||||
static const PLDHashTableOps hashtableOps = {
|
static const PLDHashTableOps hashtableOps = {
|
||||||
PL_DHashAllocTable,
|
PL_DHashAllocTable,
|
||||||
PL_DHashFreeTable,
|
PL_DHashFreeTable,
|
||||||
PL_DHashGetKeyStub,
|
|
||||||
hashKey,
|
hashKey,
|
||||||
matchKeyEntry,
|
matchKeyEntry,
|
||||||
PL_DHashMoveEntryStub,
|
PL_DHashMoveEntryStub,
|
||||||
|
|
|
@ -89,7 +89,6 @@ ArenaStrdup(const nsAFlatCString& aString, PLArenaPool* aArena)
|
||||||
static const struct PLDHashTableOps property_HashTableOps = {
|
static const struct PLDHashTableOps property_HashTableOps = {
|
||||||
PL_DHashAllocTable,
|
PL_DHashAllocTable,
|
||||||
PL_DHashFreeTable,
|
PL_DHashFreeTable,
|
||||||
PL_DHashGetKeyStub,
|
|
||||||
PL_DHashStringKey,
|
PL_DHashStringKey,
|
||||||
PL_DHashMatchStringKey,
|
PL_DHashMatchStringKey,
|
||||||
PL_DHashMoveEntryStub,
|
PL_DHashMoveEntryStub,
|
||||||
|
|
|
@ -72,18 +72,10 @@ struct NameTableKey
|
||||||
struct NameTableEntry : public PLDHashEntryHdr
|
struct NameTableEntry : public PLDHashEntryHdr
|
||||||
{
|
{
|
||||||
// no ownership here!
|
// no ownership here!
|
||||||
NameTableKey mKey;
|
const nsAFlatCString* mString;
|
||||||
PRInt32 mIndex;
|
PRInt32 mIndex;
|
||||||
};
|
};
|
||||||
|
|
||||||
PR_STATIC_CALLBACK(const void *)
|
|
||||||
nameTableGetKey(PLDHashTable *, PLDHashEntryHdr *aHdr)
|
|
||||||
{
|
|
||||||
NameTableEntry* entry =
|
|
||||||
NS_STATIC_CAST(NameTableEntry *, aHdr);
|
|
||||||
return &(entry->mKey);
|
|
||||||
}
|
|
||||||
|
|
||||||
PR_STATIC_CALLBACK(PRBool)
|
PR_STATIC_CALLBACK(PRBool)
|
||||||
matchNameKeysCaseInsensitive(PLDHashTable*, const PLDHashEntryHdr* aHdr,
|
matchNameKeysCaseInsensitive(PLDHashTable*, const PLDHashEntryHdr* aHdr,
|
||||||
const void* key)
|
const void* key)
|
||||||
|
@ -92,10 +84,7 @@ matchNameKeysCaseInsensitive(PLDHashTable*, const PLDHashEntryHdr* aHdr,
|
||||||
NS_STATIC_CAST(const NameTableEntry *, aHdr);
|
NS_STATIC_CAST(const NameTableEntry *, aHdr);
|
||||||
const NameTableKey *keyValue = NS_STATIC_CAST(const NameTableKey*, key);
|
const NameTableKey *keyValue = NS_STATIC_CAST(const NameTableKey*, key);
|
||||||
|
|
||||||
NS_ASSERTION(!entry->mKey.mIsUnichar,
|
const nsAFlatCString* entryKey = entry->mString;
|
||||||
"Entry shouldn't have a unichar key!");
|
|
||||||
|
|
||||||
const nsAFlatCString* entryKey = entry->mKey.mKeyStr.m1b;
|
|
||||||
|
|
||||||
if (keyValue->mIsUnichar) {
|
if (keyValue->mIsUnichar) {
|
||||||
return keyValue->mKeyStr.m2b->
|
return keyValue->mKeyStr.m2b->
|
||||||
|
@ -138,7 +127,6 @@ caseInsensitiveStringHashKey(PLDHashTable *table, const void *key)
|
||||||
static const struct PLDHashTableOps nametable_CaseInsensitiveHashTableOps = {
|
static const struct PLDHashTableOps nametable_CaseInsensitiveHashTableOps = {
|
||||||
PL_DHashAllocTable,
|
PL_DHashAllocTable,
|
||||||
PL_DHashFreeTable,
|
PL_DHashFreeTable,
|
||||||
nameTableGetKey,
|
|
||||||
caseInsensitiveStringHashKey,
|
caseInsensitiveStringHashKey,
|
||||||
matchNameKeysCaseInsensitive,
|
matchNameKeysCaseInsensitive,
|
||||||
PL_DHashMoveEntryStub,
|
PL_DHashMoveEntryStub,
|
||||||
|
@ -215,10 +203,9 @@ nsStaticCaseInsensitiveNameTable::Init(const char* const aNames[], PRInt32 Count
|
||||||
|
|
||||||
if (!entry) continue;
|
if (!entry) continue;
|
||||||
|
|
||||||
NS_ASSERTION(entry->mKey.mKeyStr.m1b == 0, "Entry already exists!");
|
NS_ASSERTION(entry->mString == 0, "Entry already exists!");
|
||||||
|
|
||||||
entry->mKey.mIsUnichar = PR_FALSE;
|
entry->mString = strPtr; // not owned!
|
||||||
entry->mKey.mKeyStr.m1b = strPtr; // not owned!
|
|
||||||
entry->mIndex = index;
|
entry->mIndex = index;
|
||||||
}
|
}
|
||||||
return PR_TRUE;
|
return PR_TRUE;
|
||||||
|
|
|
@ -329,7 +329,6 @@ nsTHashtable<EntryType>::Init(PRUint32 initSize)
|
||||||
{
|
{
|
||||||
::PL_DHashAllocTable,
|
::PL_DHashAllocTable,
|
||||||
::PL_DHashFreeTable,
|
::PL_DHashFreeTable,
|
||||||
s_GetKey,
|
|
||||||
s_HashKey,
|
s_HashKey,
|
||||||
s_MatchEntry,
|
s_MatchEntry,
|
||||||
::PL_DHashMoveEntryStub,
|
::PL_DHashMoveEntryStub,
|
||||||
|
@ -355,14 +354,6 @@ nsTHashtable<EntryType>::Init(PRUint32 initSize)
|
||||||
|
|
||||||
// static definitions
|
// static definitions
|
||||||
|
|
||||||
template<class EntryType>
|
|
||||||
const void*
|
|
||||||
nsTHashtable<EntryType>::s_GetKey(PLDHashTable *table,
|
|
||||||
PLDHashEntryHdr *entry)
|
|
||||||
{
|
|
||||||
return ((EntryType*) entry)->GetKeyPointer();
|
|
||||||
}
|
|
||||||
|
|
||||||
template<class EntryType>
|
template<class EntryType>
|
||||||
PLDHashNumber
|
PLDHashNumber
|
||||||
nsTHashtable<EntryType>::s_HashKey(PLDHashTable *table,
|
nsTHashtable<EntryType>::s_HashKey(PLDHashTable *table,
|
||||||
|
|
|
@ -108,14 +108,6 @@ PL_DHashStringKey(PLDHashTable *table, const void *key)
|
||||||
return h;
|
return h;
|
||||||
}
|
}
|
||||||
|
|
||||||
const void *
|
|
||||||
PL_DHashGetKeyStub(PLDHashTable *table, PLDHashEntryHdr *entry)
|
|
||||||
{
|
|
||||||
PLDHashEntryStub *stub = (PLDHashEntryStub *)entry;
|
|
||||||
|
|
||||||
return stub->key;
|
|
||||||
}
|
|
||||||
|
|
||||||
PLDHashNumber
|
PLDHashNumber
|
||||||
PL_DHashVoidPtrKeyStub(PLDHashTable *table, const void *key)
|
PL_DHashVoidPtrKeyStub(PLDHashTable *table, const void *key)
|
||||||
{
|
{
|
||||||
|
@ -175,7 +167,6 @@ PL_DHashFinalizeStub(PLDHashTable *table)
|
||||||
static const PLDHashTableOps stub_ops = {
|
static const PLDHashTableOps stub_ops = {
|
||||||
PL_DHashAllocTable,
|
PL_DHashAllocTable,
|
||||||
PL_DHashFreeTable,
|
PL_DHashFreeTable,
|
||||||
PL_DHashGetKeyStub,
|
|
||||||
PL_DHashVoidPtrKeyStub,
|
PL_DHashVoidPtrKeyStub,
|
||||||
PL_DHashMatchEntryStub,
|
PL_DHashMatchEntryStub,
|
||||||
PL_DHashMoveEntryStub,
|
PL_DHashMoveEntryStub,
|
||||||
|
|
|
@ -87,11 +87,12 @@ typedef struct PLDHashTableOps PLDHashTableOps;
|
||||||
* Table entry header structure.
|
* Table entry header structure.
|
||||||
*
|
*
|
||||||
* In order to allow in-line allocation of key and value, we do not declare
|
* In order to allow in-line allocation of key and value, we do not declare
|
||||||
* either here. Instead, the API uses const void *key as a formal parameter,
|
* either here. Instead, the API uses const void *key as a formal parameter.
|
||||||
* and asks each entry for its key when necessary via a getKey callback, used
|
* The key need not be stored in the entry; it may be part of the value, but
|
||||||
* when growing or shrinking the table. Other callback types are defined
|
* need not be stored at all.
|
||||||
* below and grouped into the PLDHashTableOps structure, for single static
|
*
|
||||||
* initialization per hash table sub-type.
|
* Callback types are defined below and grouped into the PLDHashTableOps
|
||||||
|
* structure, for single static initialization per hash table sub-type.
|
||||||
*
|
*
|
||||||
* Each hash table sub-type should nest the PLDHashEntryHdr structure at the
|
* Each hash table sub-type should nest the PLDHashEntryHdr structure at the
|
||||||
* front of its particular entry type. The keyHash member contains the result
|
* front of its particular entry type. The keyHash member contains the result
|
||||||
|
@ -243,16 +244,6 @@ typedef void *
|
||||||
typedef void
|
typedef void
|
||||||
(* PR_CALLBACK PLDHashFreeTable) (PLDHashTable *table, void *ptr);
|
(* PR_CALLBACK PLDHashFreeTable) (PLDHashTable *table, void *ptr);
|
||||||
|
|
||||||
/*
|
|
||||||
* When a table grows or shrinks, each entry is queried for its key using this
|
|
||||||
* callback. NB: in that event, entry is not in table any longer; it's in the
|
|
||||||
* old entryStore vector, which is due to be freed once all entries have been
|
|
||||||
* moved via moveEntry callbacks.
|
|
||||||
*/
|
|
||||||
typedef const void *
|
|
||||||
(* PR_CALLBACK PLDHashGetKey) (PLDHashTable *table,
|
|
||||||
PLDHashEntryHdr *entry);
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Compute the hash code for a given key to be looked up, added, or removed
|
* Compute the hash code for a given key to be looked up, added, or removed
|
||||||
* from table. A hash code may have any PLDHashNumber value.
|
* from table. A hash code may have any PLDHashNumber value.
|
||||||
|
@ -340,7 +331,6 @@ struct PLDHashTableOps {
|
||||||
/* Mandatory hooks. All implementations must provide these. */
|
/* Mandatory hooks. All implementations must provide these. */
|
||||||
PLDHashAllocTable allocTable;
|
PLDHashAllocTable allocTable;
|
||||||
PLDHashFreeTable freeTable;
|
PLDHashFreeTable freeTable;
|
||||||
PLDHashGetKey getKey;
|
|
||||||
PLDHashHashKey hashKey;
|
PLDHashHashKey hashKey;
|
||||||
PLDHashMatchEntry matchEntry;
|
PLDHashMatchEntry matchEntry;
|
||||||
PLDHashMoveEntry moveEntry;
|
PLDHashMoveEntry moveEntry;
|
||||||
|
@ -369,9 +359,6 @@ struct PLDHashEntryStub {
|
||||||
const void *key;
|
const void *key;
|
||||||
};
|
};
|
||||||
|
|
||||||
NS_COM_GLUE const void *
|
|
||||||
PL_DHashGetKeyStub(PLDHashTable *table, PLDHashEntryHdr *entry);
|
|
||||||
|
|
||||||
NS_COM_GLUE PLDHashNumber
|
NS_COM_GLUE PLDHashNumber
|
||||||
PL_DHashVoidPtrKeyStub(PLDHashTable *table, const void *key);
|
PL_DHashVoidPtrKeyStub(PLDHashTable *table, const void *key);
|
||||||
|
|
||||||
|
|
|
@ -340,7 +340,6 @@ strmap_ClearEntry(PLDHashTable *aTable, PLDHashEntryHdr *aHdr)
|
||||||
static const PLDHashTableOps strmap_DHashTableOps = {
|
static const PLDHashTableOps strmap_DHashTableOps = {
|
||||||
PL_DHashAllocTable,
|
PL_DHashAllocTable,
|
||||||
PL_DHashFreeTable,
|
PL_DHashFreeTable,
|
||||||
PL_DHashGetKeyStub,
|
|
||||||
PL_DHashStringKey,
|
PL_DHashStringKey,
|
||||||
PL_DHashMatchStringKey,
|
PL_DHashMatchStringKey,
|
||||||
PL_DHashMoveEntryStub,
|
PL_DHashMoveEntryStub,
|
||||||
|
@ -376,7 +375,6 @@ objmap_ClearEntry(PLDHashTable *aTable, PLDHashEntryHdr *aHdr)
|
||||||
static const PLDHashTableOps objmap_DHashTableOps = {
|
static const PLDHashTableOps objmap_DHashTableOps = {
|
||||||
PL_DHashAllocTable,
|
PL_DHashAllocTable,
|
||||||
PL_DHashFreeTable,
|
PL_DHashFreeTable,
|
||||||
PL_DHashGetKeyStub,
|
|
||||||
PL_DHashVoidPtrKeyStub,
|
PL_DHashVoidPtrKeyStub,
|
||||||
PL_DHashMatchEntryStub,
|
PL_DHashMatchEntryStub,
|
||||||
PL_DHashMoveEntryStub,
|
PL_DHashMoveEntryStub,
|
||||||
|
@ -1247,14 +1245,6 @@ struct nsIDMapEntry : public PLDHashEntryHdr {
|
||||||
nsID mSlowID; // key, used by PLDHashTableOps below
|
nsID mSlowID; // key, used by PLDHashTableOps below
|
||||||
};
|
};
|
||||||
|
|
||||||
PR_STATIC_CALLBACK(const void *)
|
|
||||||
idmap_GetKey(PLDHashTable *aTable, PLDHashEntryHdr *aHdr)
|
|
||||||
{
|
|
||||||
nsIDMapEntry* entry = NS_STATIC_CAST(nsIDMapEntry*, aHdr);
|
|
||||||
|
|
||||||
return &entry->mSlowID;
|
|
||||||
}
|
|
||||||
|
|
||||||
PR_STATIC_CALLBACK(PLDHashNumber)
|
PR_STATIC_CALLBACK(PLDHashNumber)
|
||||||
idmap_HashKey(PLDHashTable *aTable, const void *aKey)
|
idmap_HashKey(PLDHashTable *aTable, const void *aKey)
|
||||||
{
|
{
|
||||||
|
@ -1277,7 +1267,6 @@ idmap_MatchEntry(PLDHashTable *aTable,
|
||||||
static const PLDHashTableOps idmap_DHashTableOps = {
|
static const PLDHashTableOps idmap_DHashTableOps = {
|
||||||
PL_DHashAllocTable,
|
PL_DHashAllocTable,
|
||||||
PL_DHashFreeTable,
|
PL_DHashFreeTable,
|
||||||
idmap_GetKey,
|
|
||||||
idmap_HashKey,
|
idmap_HashKey,
|
||||||
idmap_MatchEntry,
|
idmap_MatchEntry,
|
||||||
PL_DHashMoveEntryStub,
|
PL_DHashMoveEntryStub,
|
||||||
|
|
|
@ -48,12 +48,6 @@
|
||||||
|
|
||||||
/***************************************************************************/
|
/***************************************************************************/
|
||||||
|
|
||||||
PR_STATIC_CALLBACK(const void*)
|
|
||||||
IIDGetKey(PLDHashTable *table, PLDHashEntryHdr *entry)
|
|
||||||
{
|
|
||||||
return ((xptiHashEntry*)entry)->value->GetTheIID();
|
|
||||||
}
|
|
||||||
|
|
||||||
PR_STATIC_CALLBACK(PLDHashNumber)
|
PR_STATIC_CALLBACK(PLDHashNumber)
|
||||||
IIDHash(PLDHashTable *table, const void *key)
|
IIDHash(PLDHashTable *table, const void *key)
|
||||||
{
|
{
|
||||||
|
@ -75,7 +69,6 @@ const static struct PLDHashTableOps IIDTableOps =
|
||||||
{
|
{
|
||||||
PL_DHashAllocTable,
|
PL_DHashAllocTable,
|
||||||
PL_DHashFreeTable,
|
PL_DHashFreeTable,
|
||||||
IIDGetKey,
|
|
||||||
IIDHash,
|
IIDHash,
|
||||||
IIDMatch,
|
IIDMatch,
|
||||||
PL_DHashMoveEntryStub,
|
PL_DHashMoveEntryStub,
|
||||||
|
@ -85,12 +78,6 @@ const static struct PLDHashTableOps IIDTableOps =
|
||||||
|
|
||||||
/***************************************************************************/
|
/***************************************************************************/
|
||||||
|
|
||||||
PR_STATIC_CALLBACK(const void*)
|
|
||||||
NameGetKey(PLDHashTable *table, PLDHashEntryHdr *entry)
|
|
||||||
{
|
|
||||||
return ((xptiHashEntry*)entry)->value->GetTheName();
|
|
||||||
}
|
|
||||||
|
|
||||||
PR_STATIC_CALLBACK(PRBool)
|
PR_STATIC_CALLBACK(PRBool)
|
||||||
NameMatch(PLDHashTable *table,
|
NameMatch(PLDHashTable *table,
|
||||||
const PLDHashEntryHdr *entry,
|
const PLDHashEntryHdr *entry,
|
||||||
|
@ -105,7 +92,6 @@ static const struct PLDHashTableOps NameTableOps =
|
||||||
{
|
{
|
||||||
PL_DHashAllocTable,
|
PL_DHashAllocTable,
|
||||||
PL_DHashFreeTable,
|
PL_DHashFreeTable,
|
||||||
NameGetKey,
|
|
||||||
PL_DHashStringKey,
|
PL_DHashStringKey,
|
||||||
NameMatch,
|
NameMatch,
|
||||||
PL_DHashMoveEntryStub,
|
PL_DHashMoveEntryStub,
|
||||||
|
|
Загрузка…
Ссылка в новой задаче