Index: src/objects.h |
diff --git a/src/objects.h b/src/objects.h |
index 7c5e05a209599d6ac2f19c79604c4c652e9d44e9..c7dd71af7b981504675118ca0446e7b4463fc3b5 100644 |
--- a/src/objects.h |
+++ b/src/objects.h |
@@ -3736,7 +3736,7 @@ class HashTable: public FixedArray { |
PretenureFlag pretenure = NOT_TENURED); |
// Returns a new HashTable object. |
- static Handle<Derived> New( |
+ MUST_USE_RESULT static Handle<Derived> New( |
Isolate* isolate, |
int at_least_space_for, |
MinimumCapacity capacity_option = USE_DEFAULT_MINIMUM_CAPACITY, |
@@ -3843,29 +3843,26 @@ class HashTable: public FixedArray { |
return (last + number) & (size - 1); |
} |
- // Returns _expected_ if one of entries given by the first _probe_ probes is |
- // equal to _expected_. Otherwise, returns the entry given by the probe |
- // number _probe_. |
- uint32_t EntryForProbe(Key key, Object* k, int probe, uint32_t expected); |
- |
- void Swap(uint32_t entry1, uint32_t entry2, WriteBarrierMode mode); |
- |
- // Rehashes this hash-table into the new table. |
- void Rehash(Derived* new_table, Key key); |
- |
// Attempt to shrink hash table after removal of key. |
static Handle<Derived> Shrink(Handle<Derived> table, Key key); |
// Ensure enough space for n additional elements. |
- MUST_USE_RESULT MaybeObject* EnsureCapacity( |
- int n, |
- Key key, |
- PretenureFlag pretenure = NOT_TENURED); |
- static Handle<Derived> EnsureCapacity( |
+ MUST_USE_RESULT static Handle<Derived> EnsureCapacity( |
Handle<Derived> table, |
int n, |
Key key, |
PretenureFlag pretenure = NOT_TENURED); |
+ |
+ private: |
+ // Returns _expected_ if one of entries given by the first _probe_ probes is |
+ // equal to _expected_. Otherwise, returns the entry given by the probe |
+ // number _probe_. |
+ uint32_t EntryForProbe(Key key, Object* k, int probe, uint32_t expected); |
+ |
+ void Swap(uint32_t entry1, uint32_t entry2, WriteBarrierMode mode); |
+ |
+ // Rehashes this hash-table into the new table. |
+ void Rehash(Handle<Derived> new_table, Key key); |
}; |
@@ -4108,6 +4105,15 @@ class Dictionary: public HashTable<Derived, Shape, Key> { |
static void GenerateNewEnumerationIndices(Handle<Derived> dictionary); |
static const int kMaxNumberKeyIndex = DerivedHashTable::kPrefixStartIndex; |
static const int kNextEnumerationIndexIndex = kMaxNumberKeyIndex + 1; |
+ |
+ private: |
+ // This is to hide HashTable::New() which could clash with Dictionary::New(). |
+ // The latter one must be used for creating Dictionary and successors. |
+ MUST_USE_RESULT static Handle<Derived> New( |
+ Isolate* isolate, |
+ int at_least_space_for, |
+ MinimumCapacity capacity_option, |
+ PretenureFlag pretenure); |
}; |