Bug 415262 - "Make general use of new NSPR rotate macros" [p=swsnyder@insightbb.com (Steve Snyder) r=wtc sr=dbaron a=blocking1.9+]
This commit is contained in:
Родитель
90c67752a1
Коммит
15381b0f9e
|
@ -47,6 +47,7 @@
|
|||
#include "nsString.h"
|
||||
#include "nsInterfaceHashtable.h"
|
||||
#include "nsCycleCollectionParticipant.h"
|
||||
#include "prbit.h"
|
||||
|
||||
class nsIAtom;
|
||||
class nsIContent;
|
||||
|
@ -104,8 +105,7 @@ public:
|
|||
if (!aKey)
|
||||
return 0;
|
||||
|
||||
return (aKey->mNamespaceID >> 28) ^
|
||||
(aKey->mNamespaceID << 4) ^
|
||||
return PR_ROTATE_LEFT32(static_cast<PRUint32>aKey->mNamespaceID, 4) ^
|
||||
NS_PTR_TO_INT32(aKey->mLocalName);
|
||||
}
|
||||
enum { ALLOW_MEMMOVE = PR_TRUE };
|
||||
|
|
|
@ -54,6 +54,7 @@
|
|||
#include "nsIAtom.h"
|
||||
#include "nsReadableUtils.h"
|
||||
#include "prlog.h"
|
||||
#include "prbit.h"
|
||||
|
||||
#ifdef PR_LOGGING
|
||||
static PRLogModuleInfo* gMapLog;
|
||||
|
@ -415,7 +416,7 @@ nsElementMap::Hash(const void* aKey)
|
|||
PLHashNumber result = 0;
|
||||
const PRUnichar* s = reinterpret_cast<const PRUnichar*>(aKey);
|
||||
while (*s != nsnull) {
|
||||
result = (result >> 28) ^ (result << 4) ^ *s;
|
||||
result = PR_ROTATE_LEFT32(result, 4) ^ *s;
|
||||
++s;
|
||||
}
|
||||
return result;
|
||||
|
|
|
@ -55,6 +55,7 @@
|
|||
|
||||
#include "prtypes.h"
|
||||
#include "prthread.h"
|
||||
#include "prbit.h"
|
||||
|
||||
#include "private/pprio.h"
|
||||
|
||||
|
@ -249,7 +250,7 @@ nsDiskCache::Hash(const char * key)
|
|||
{
|
||||
PLDHashNumber h = 0;
|
||||
for (const PRUint8* s = (PRUint8*) key; *s != '\0'; ++s)
|
||||
h = (h >> (PL_DHASH_BITS - 4)) ^ (h << 4) ^ *s;
|
||||
h = PR_ROTATE_LEFT32(h, 4) ^ *s;
|
||||
return (h == 0 ? ULONG_MAX : h);
|
||||
}
|
||||
|
||||
|
|
|
@ -41,6 +41,7 @@
|
|||
#include "nsAutoLock.h"
|
||||
#include "pldhash.h"
|
||||
#include "nsCRT.h"
|
||||
#include "prbit.h"
|
||||
|
||||
#if defined(PR_LOGGING)
|
||||
PRLogModuleInfo *gHttpLog = nsnull;
|
||||
|
@ -95,7 +96,7 @@ StringHash(PLDHashTable *table, const void *key)
|
|||
{
|
||||
PLDHashNumber h = 0;
|
||||
for (const char *s = reinterpret_cast<const char*>(key); *s; ++s)
|
||||
h = (h >> 28) ^ (h << 4) ^ nsCRT::ToLower(*s);
|
||||
h = PR_ROTATE_LEFT32(h, 4) ^ nsCRT::ToLower(*s);
|
||||
return h;
|
||||
}
|
||||
|
||||
|
|
|
@ -88,6 +88,7 @@
|
|||
#include "rdf.h"
|
||||
#include "nsCRT.h"
|
||||
#include "nsCRTGlue.h"
|
||||
#include "prbit.h"
|
||||
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
@ -408,7 +409,7 @@ struct BlobHashEntry : public PLDHashEntryHdr {
|
|||
const PRUint8 *p = data->mBytes, *limit = p + data->mLength;
|
||||
PLDHashNumber h = 0;
|
||||
for ( ; p < limit; ++p)
|
||||
h = (h >> 28) ^ (h << 4) ^ *p;
|
||||
h = PR_ROTATE_LEFT32(h, 4) ^ *p;
|
||||
return h;
|
||||
}
|
||||
|
||||
|
|
|
@ -54,9 +54,10 @@
|
|||
#include "nsCRT.h"
|
||||
#include "nsIServiceManager.h"
|
||||
#include "nsCharTraits.h"
|
||||
#include "prbit.h"
|
||||
|
||||
#define ADD_TO_HASHVAL(hashval, c) \
|
||||
hashval = (hashval>>28) ^ (hashval<<4) ^ (c)
|
||||
hashval = PR_ROTATE_LEFT32(hashval, 4) ^ (c);
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
||||
|
@ -346,8 +347,7 @@ PRUint32 nsCRT::BufferHashCode(const PRUnichar* s, PRUint32 len)
|
|||
const PRUnichar* done = s + len;
|
||||
|
||||
while ( s < done )
|
||||
h = (h>>28) ^ (h<<4) ^ PRUint16(*s++); // cast to unsigned to prevent possible sign extension
|
||||
|
||||
h = PR_ROTATE_LEFT32(h, 4) ^ PRUint16(*s++); // cast to unsigned to prevent possible sign extension
|
||||
return h;
|
||||
}
|
||||
|
||||
|
|
|
@ -44,6 +44,7 @@
|
|||
#include "nscore.h"
|
||||
#include "nsString.h"
|
||||
#include "nsReadableUtils.h"
|
||||
#include "prbit.h"
|
||||
|
||||
#define PL_ARENA_CONST_ALIGN_MASK 3
|
||||
#include "nsStaticNameTable.h"
|
||||
|
@ -112,14 +113,14 @@ caseInsensitiveStringHashKey(PLDHashTable *table, const void *key)
|
|||
for (const PRUnichar* s = tableKey->mKeyStr.m2b->get();
|
||||
*s != '\0';
|
||||
s++)
|
||||
h = (h >> (PL_DHASH_BITS - 4)) ^ (h << 4) ^ (*s & ~0x20);
|
||||
h = PR_ROTATE_LEFT32(h, 4) ^ (*s & ~0x20);
|
||||
} else {
|
||||
for (const unsigned char* s =
|
||||
reinterpret_cast<const unsigned char*>
|
||||
(tableKey->mKeyStr.m1b->get());
|
||||
*s != '\0';
|
||||
s++)
|
||||
h = (h >> (PL_DHASH_BITS - 4)) ^ (h << 4) ^ (*s & ~0x20);
|
||||
h = PR_ROTATE_LEFT32(h, 4) ^ (*s & ~0x20);
|
||||
}
|
||||
return h;
|
||||
}
|
||||
|
|
|
@ -37,6 +37,7 @@
|
|||
|
||||
#include "nsTHashtable.h"
|
||||
#include "nsHashKeys.h"
|
||||
#include "prbit.h"
|
||||
|
||||
PRUint32
|
||||
HashString( const nsAString& aStr )
|
||||
|
@ -54,7 +55,7 @@ HashString( const nsAString& aStr )
|
|||
#endif
|
||||
|
||||
while (begin != end) {
|
||||
code = (code>>28) ^ (code<<4) ^ PRUint32(*begin);
|
||||
code = PR_ROTATE_LEFT32(code, 4) ^ PRUint32(*begin);
|
||||
++begin;
|
||||
}
|
||||
|
||||
|
@ -77,7 +78,7 @@ HashString( const nsACString& aStr )
|
|||
#endif
|
||||
|
||||
while (begin != end) {
|
||||
code = (code>>28) ^ (code<<4) ^ PRUint32(*begin);
|
||||
code = PR_ROTATE_LEFT32(code, 4) ^ PRUint32(*begin);
|
||||
++begin;
|
||||
}
|
||||
|
||||
|
@ -90,7 +91,7 @@ HashString(const char *str)
|
|||
PRUint32 code = 0;
|
||||
|
||||
while (*str) {
|
||||
code = (code>>28) ^ (code<<4) ^ PRUint32(*str);
|
||||
code = PR_ROTATE_LEFT32(code, 4) ^ PRUint32(*str);
|
||||
++str;
|
||||
}
|
||||
|
||||
|
@ -103,7 +104,7 @@ HashString(const PRUnichar *str)
|
|||
PRUint32 code = 0;
|
||||
|
||||
while (*str) {
|
||||
code = (code>>28) ^ (code<<4) ^ PRUint32(*str);
|
||||
code = PR_ROTATE_LEFT32(code, 4) ^ PRUint32(*str);
|
||||
++str;
|
||||
}
|
||||
|
||||
|
@ -124,11 +125,11 @@ PRUint32 nsIDHashKey::HashKey(const nsID* id)
|
|||
PRUint32 h = id->m0;
|
||||
PRUint32 i;
|
||||
|
||||
h = (h>>28) ^ (h<<4) ^ id->m1;
|
||||
h = (h>>28) ^ (h<<4) ^ id->m2;
|
||||
h = PR_ROTATE_LEFT32(h, 4) ^ id->m1;
|
||||
h = PR_ROTATE_LEFT32(h, 4) ^ id->m2;
|
||||
|
||||
for (i = 0; i < 8; i++)
|
||||
h = (h>>28) ^ (h<<4) ^ id->m3[i];
|
||||
h = PR_ROTATE_LEFT32(h, 4) ^ id->m3[i];
|
||||
|
||||
return h;
|
||||
}
|
||||
|
|
|
@ -104,7 +104,7 @@ PL_DHashStringKey(PLDHashTable *table, const void *key)
|
|||
|
||||
h = 0;
|
||||
for (s = key; *s != '\0'; s++)
|
||||
h = (h >> (PL_DHASH_BITS - 4)) ^ (h << 4) ^ *s;
|
||||
h = PR_ROTATE_LEFT32(h, 4) ^ *s;
|
||||
return h;
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче