v8
3.25.30(node0.11.13)
V8 is Google's open source JavaScript engine
|
#include <objects.h>
Public Member Functions | |
StringHasher (int length, uint32_t seed) | |
INLINE (static uint32_t AddCharacterCore(uint32_t running_hash, uint16_t c)) | |
INLINE (static uint32_t GetHashCore(uint32_t running_hash)) | |
Static Public Member Functions | |
template<typename schar > | |
static uint32_t | HashSequentialString (const schar *chars, int length, uint32_t seed) |
static uint32_t | ComputeUtf8Hash (Vector< const char > chars, uint32_t seed, int *utf16_length_out) |
static uint32_t | MakeArrayIndexHash (uint32_t value, int length) |
Static Public Attributes | |
static const int | kZeroHash = 27 |
Protected Member Functions | |
uint32_t | GetHashField () |
bool | has_trivial_hash () |
template<typename Char > | |
void | AddCharacters (const Char *chars, int len) |
|
inlineexplicit |
Definition at line 6173 of file objects-inl.h.
References ASSERT.
|
inlineprotected |
Definition at line 6238 of file objects-inl.h.
References ASSERT.
Referenced by StringHasher::HashSequentialString(), IteratingStringHasher::VisitOneByteString(), and IteratingStringHasher::VisitTwoByteString().
|
static |
Definition at line 9214 of file objects.cc.
References ASSERT, StringHasher::GetHashField(), StringHasher::HashSequentialString(), String::kMaxArrayIndexSize, String::kMaxHashCalcLength, Utf16::kMaxNonSurrogateCharCode, Utf8::kMaxOneByteChar, Utf16::LeadSurrogate(), Vector< T >::length(), Vector< T >::start(), Utf16::TrailSurrogate(), and Utf8::ValueOf().
Referenced by Utf8StringKey::Hash().
|
protected |
Definition at line 9201 of file objects.cc.
References Name::kHashShift, Name::kIsNotArrayIndexMask, String::kMaxHashCalcLength, and StringHasher::MakeArrayIndexHash().
Referenced by StringHasher::ComputeUtf8Hash(), IteratingStringHasher::Hash(), and StringHasher::HashSequentialString().
|
inlineprotected |
Definition at line 6183 of file objects-inl.h.
References String::kMaxHashCalcLength.
Referenced by IteratingStringHasher::Hash(), and StringHasher::HashSequentialString().
|
inlinestatic |
Definition at line 6258 of file objects-inl.h.
References StringHasher::AddCharacters(), StringHasher::GetHashField(), and StringHasher::has_trivial_hash().
Referenced by StringHasher::ComputeUtf8Hash(), HeapObjectsMap::GenerateId(), SubStringKey< Char >::Hash(), and TwoCharHashTableKey::TwoCharHashTableKey().
INLINE | ( | static uint32_t | AddCharacterCoreuint32_t running_hash, uint16_t c | ) |
INLINE | ( | static uint32_t | GetHashCoreuint32_t running_hash | ) |
|
static |
Definition at line 9183 of file objects.cc.
References ASSERT, Name::kArrayIndexHashLengthShift, Name::kArrayIndexValueBits, Name::kContainsCachedArrayIndexMask, Name::kHashShift, Name::kIsNotArrayIndexMask, String::kMaxArrayIndexSize, Name::kMaxCachedArrayIndexLength, and v8::internal::TenToThe().
Referenced by StringHasher::GetHashField(), and v8::internal::RUNTIME_FUNCTION().
|
static |
Definition at line 8520 of file objects.h.
Referenced by TwoCharHashTableKey::TwoCharHashTableKey().