| Index: src/base/hashmap.h
|
| diff --git a/src/base/hashmap.h b/src/base/hashmap.h
|
| index efb5dc8baaafd7bdb0f036bca43347f1322aa42d..36755f62c3a051bf4bbe23d2a0515434594a0faf 100644
|
| --- a/src/base/hashmap.h
|
| +++ b/src/base/hashmap.h
|
| @@ -61,6 +61,9 @@ class TemplateHashMapImpl {
|
| Entry* LookupOrInsert(void* key, uint32_t hash,
|
| AllocationPolicy allocator = AllocationPolicy());
|
|
|
| + Entry* InsertNew(void* key, uint32_t hash,
|
| + AllocationPolicy allocator = AllocationPolicy());
|
| +
|
| // Removes the entry with matching key.
|
| // It returns the value of the deleted entry
|
| // or null if there is no value for such key.
|
| @@ -134,6 +137,17 @@ TemplateHashMapImpl<AllocationPolicy>::LookupOrInsert(
|
| return p;
|
| }
|
|
|
| + return InsertNew(key, hash, allocator);
|
| +}
|
| +
|
| +template <class AllocationPolicy>
|
| +typename TemplateHashMapImpl<AllocationPolicy>::Entry*
|
| +TemplateHashMapImpl<AllocationPolicy>::InsertNew(void* key, uint32_t hash,
|
| + AllocationPolicy allocator) {
|
| + // Find a matching entry.
|
| + Entry* p = Probe(key, hash);
|
| + DCHECK(p->key == NULL);
|
| +
|
| // No entry found; insert one.
|
| p->key = key;
|
| p->value = NULL;
|
|
|