Flutter Engine
The Flutter Engine
|
#include <hash_table.h>
Public Types | |
typedef KeyTraits | Traits |
typedef StorageTraits | Storage |
Public Member Functions | |
HashTable (Object *key, Smi *index, typename StorageTraits::ArrayHandle *data) | |
HashTable (Zone *zone, typename StorageTraits::ArrayPtr data) | |
StorageTraits::ArrayHandle & | Release () |
~HashTable () | |
void | Initialize () const |
template<typename Key > | |
bool | ContainsKey (const Key &key) const |
template<typename Key > | |
intptr_t | FindKey (const Key &key) const |
template<typename Key > | |
bool | FindKeyOrDeletedOrUnused (const Key &key, intptr_t *entry) const |
void | InsertKey (intptr_t entry, const Object &key) const |
bool | IsUnused (intptr_t entry) const |
bool | IsOccupied (intptr_t entry) const |
bool | IsDeleted (intptr_t entry) const |
ObjectPtr | GetKey (intptr_t entry) const |
ObjectPtr | GetPayload (intptr_t entry, intptr_t component) const |
void | UpdatePayload (intptr_t entry, intptr_t component, const Object &value) const |
void | DeleteEntry (intptr_t entry) const |
intptr_t | NumEntries () const |
intptr_t | NumUnused () const |
intptr_t | NumOccupied () const |
intptr_t | NumDeleted () const |
Object & | KeyHandle () const |
Smi & | SmiHandle () const |
intptr_t | NumGrows () const |
intptr_t | NumLT5Collisions () const |
intptr_t | NumLT25Collisions () const |
intptr_t | NumGT25Collisions () const |
intptr_t | NumProbes () const |
void | UpdateGrowth () const |
void | UpdateCollisions (intptr_t collisions) const |
void | PrintStats () const |
void | UpdateWeakDeleted () const |
Public Member Functions inherited from dart::ValueObject | |
ValueObject () | |
~ValueObject () | |
Static Public Member Functions | |
static intptr_t | ArrayLengthForNumOccupied (intptr_t num_occupied) |
Static Public Member Functions inherited from dart::HashTableBase | |
static const Object & | UnusedMarker () |
static const Object & | DeletedMarker () |
Protected Member Functions | |
intptr_t | KeyIndex (intptr_t entry) const |
intptr_t | PayloadIndex (intptr_t entry, intptr_t component) const |
ObjectPtr | InternalGetKey (intptr_t entry) const |
void | InternalSetKey (intptr_t entry, const Object &key) const |
intptr_t | GetSmiValueAt (intptr_t index) const |
void | SetSmiValueAt (intptr_t index, intptr_t value) const |
void | AdjustSmiValueAt (intptr_t index, intptr_t delta) const |
Protected Attributes | |
Object * | key_handle_ |
Smi * | smi_handle_ |
StorageTraits::ArrayHandle * | data_ |
StorageTraits::ArrayHandle * | released_data_ |
Static Protected Attributes | |
static constexpr intptr_t | kOccupiedEntriesIndex = 0 |
static constexpr intptr_t | kDeletedEntriesIndex = 1 |
static constexpr intptr_t | kNumGrowsIndex = 2 |
static constexpr intptr_t | kNumLT5LookupsIndex = 3 |
static constexpr intptr_t | kNumLT25LookupsIndex = 4 |
static constexpr intptr_t | kNumGT25LookupsIndex = 5 |
static constexpr intptr_t | kNumProbesIndex = 6 |
static constexpr intptr_t | kHeaderSize = kNumProbesIndex + 1 |
static constexpr intptr_t | kMetaDataIndex = kHeaderSize |
static constexpr intptr_t | kFirstKeyIndex = kHeaderSize + kMetaDataSize |
static constexpr intptr_t | kEntrySize = 1 + kPayloadSize |
Friends | |
class | HashTables |
template<typename Table , bool kAllCanonicalObjectsAreIncludedIntoSet> | |
class | CanonicalSetDeserializationCluster |
template<typename Table , typename HandleType , typename PointerType , bool kAllCanonicalObjectsAreIncludedIntoSet> | |
class | CanonicalSetSerializationCluster |
Definition at line 172 of file hash_table.h.
typedef StorageTraits dart::HashTable< KeyTraits, kPayloadSize, kMetaDataSize, StorageTraits >::Storage |
Definition at line 175 of file hash_table.h.
typedef KeyTraits dart::HashTable< KeyTraits, kPayloadSize, kMetaDataSize, StorageTraits >::Traits |
Definition at line 174 of file hash_table.h.
|
inline |
Definition at line 180 of file hash_table.h.
|
inline |
Definition at line 187 of file hash_table.h.
|
inline |
Definition at line 204 of file hash_table.h.
|
inlineprotected |
Definition at line 510 of file hash_table.h.
|
inlinestatic |
Definition at line 214 of file hash_table.h.
|
inline |
Definition at line 246 of file hash_table.h.
|
inline |
Definition at line 365 of file hash_table.h.
|
inline |
Definition at line 252 of file hash_table.h.
|
inline |
Definition at line 286 of file hash_table.h.
|
inline |
Definition at line 348 of file hash_table.h.
|
inline |
Definition at line 352 of file hash_table.h.
|
inlineprotected |
Definition at line 496 of file hash_table.h.
|
inline |
Definition at line 225 of file hash_table.h.
|
inline |
Definition at line 324 of file hash_table.h.
|
inlineprotected |
Definition at line 487 of file hash_table.h.
|
inlineprotected |
Definition at line 492 of file hash_table.h.
|
inline |
Definition at line 344 of file hash_table.h.
|
inline |
Definition at line 341 of file hash_table.h.
|
inline |
Definition at line 338 of file hash_table.h.
|
inline |
Definition at line 382 of file hash_table.h.
|
inlineprotected |
Definition at line 477 of file hash_table.h.
|
inline |
Definition at line 381 of file hash_table.h.
|
inline |
Definition at line 374 of file hash_table.h.
|
inline |
Definition at line 386 of file hash_table.h.
|
inline |
Definition at line 393 of file hash_table.h.
|
inline |
Definition at line 390 of file hash_table.h.
|
inline |
Definition at line 387 of file hash_table.h.
|
inline |
Definition at line 380 of file hash_table.h.
|
inline |
Definition at line 396 of file hash_table.h.
|
inline |
Definition at line 377 of file hash_table.h.
|
inlineprotected |
Definition at line 482 of file hash_table.h.
|
inline |
Definition at line 417 of file hash_table.h.
|
inline |
Definition at line 195 of file hash_table.h.
|
inlineprotected |
Definition at line 505 of file hash_table.h.
|
inline |
Definition at line 383 of file hash_table.h.
|
inline |
Definition at line 402 of file hash_table.h.
|
inline |
Definition at line 397 of file hash_table.h.
|
inline |
Definition at line 357 of file hash_table.h.
|
inline |
Definition at line 440 of file hash_table.h.
|
friend |
Definition at line 522 of file hash_table.h.
|
friend |
Definition at line 527 of file hash_table.h.
|
friend |
Definition at line 520 of file hash_table.h.
|
protected |
Definition at line 517 of file hash_table.h.
|
staticconstexprprotected |
Definition at line 462 of file hash_table.h.
|
staticconstexprprotected |
Definition at line 475 of file hash_table.h.
|
protected |
Definition at line 514 of file hash_table.h.
|
staticconstexprprotected |
Definition at line 474 of file hash_table.h.
|
staticconstexprprotected |
Definition at line 471 of file hash_table.h.
|
staticconstexprprotected |
Definition at line 473 of file hash_table.h.
|
staticconstexprprotected |
Definition at line 466 of file hash_table.h.
|
staticconstexprprotected |
Definition at line 469 of file hash_table.h.
|
staticconstexprprotected |
Definition at line 468 of file hash_table.h.
|
staticconstexprprotected |
Definition at line 467 of file hash_table.h.
|
staticconstexprprotected |
Definition at line 470 of file hash_table.h.
|
staticconstexprprotected |
Definition at line 461 of file hash_table.h.
|
protected |
Definition at line 518 of file hash_table.h.
|
protected |
Definition at line 515 of file hash_table.h.