Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1011)

Unified Diff: runtime/vm/hash_table.h

Issue 2481873005: clang-format runtime/vm (Closed)
Patch Set: Merge Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « runtime/vm/hash_map_test.cc ('k') | runtime/vm/hash_table_test.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/hash_table.h
diff --git a/runtime/vm/hash_table.h b/runtime/vm/hash_table.h
index 5835b226509a189afceaf280da58a32f5dcc849c..05d69fc4f83813341ad8ebab9d68988c49396016 100644
--- a/runtime/vm/hash_table.h
+++ b/runtime/vm/hash_table.h
@@ -72,7 +72,7 @@ namespace dart {
// uword Hash(const Key& key) for any number of desired lookup key types.
// kPayloadSize: number of components of the payload in each entry.
// kMetaDataSize: number of elements reserved (e.g., for iteration order data).
-template<typename KeyTraits, intptr_t kPayloadSize, intptr_t kMetaDataSize>
+template <typename KeyTraits, intptr_t kPayloadSize, intptr_t kMetaDataSize>
class HashTable : public ValueObject {
public:
typedef KeyTraits Traits;
@@ -127,12 +127,12 @@ class HashTable : public ValueObject {
data_->SetAt(kOccupiedEntriesIndex, *smi_handle_);
data_->SetAt(kDeletedEntriesIndex, *smi_handle_);
-NOT_IN_PRODUCT(
+#if !defined(PRODUCT)
data_->SetAt(kNumGrowsIndex, *smi_handle_);
data_->SetAt(kNumLT5LookupsIndex, *smi_handle_);
data_->SetAt(kNumLT25LookupsIndex, *smi_handle_);
data_->SetAt(kNumGT25LookupsIndex, *smi_handle_);
-) // !PRODUCT
+#endif // !defined(PRODUCT)
for (intptr_t i = kHeaderSize; i < data_->Length(); ++i) {
data_->SetAt(i, Object::sentinel());
@@ -140,13 +140,13 @@ NOT_IN_PRODUCT(
}
// Returns whether 'key' matches any key in the table.
- template<typename Key>
+ template <typename Key>
bool ContainsKey(const Key& key) const {
return FindKey(key) != -1;
}
// Returns the entry that matches 'key', or -1 if none exists.
- template<typename Key>
+ template <typename Key>
intptr_t FindKey(const Key& key) const {
const intptr_t num_entries = NumEntries();
ASSERT(NumOccupied() < num_entries);
@@ -179,7 +179,7 @@ NOT_IN_PRODUCT(
// - an occupied entry matching 'key', and returns true, or
// - an unused/deleted entry where a matching key may be inserted,
// and returns false.
- template<typename Key>
+ template <typename Key>
bool FindKeyOrDeletedOrUnused(const Key& key, intptr_t* entry) const {
const intptr_t num_entries = NumEntries();
ASSERT(entry != NULL);
@@ -271,23 +271,13 @@ NOT_IN_PRODUCT(
intptr_t NumUnused() const {
return NumEntries() - NumOccupied() - NumDeleted();
}
- intptr_t NumOccupied() const {
- return GetSmiValueAt(kOccupiedEntriesIndex);
- }
- intptr_t NumDeleted() const {
- return GetSmiValueAt(kDeletedEntriesIndex);
- }
- Object& KeyHandle() const {
- return *key_handle_;
- }
- Smi& SmiHandle() const {
- return *smi_handle_;
- }
+ intptr_t NumOccupied() const { return GetSmiValueAt(kOccupiedEntriesIndex); }
+ intptr_t NumDeleted() const { return GetSmiValueAt(kDeletedEntriesIndex); }
+ Object& KeyHandle() const { return *key_handle_; }
+ Smi& SmiHandle() const { return *smi_handle_; }
-NOT_IN_PRODUCT(
- intptr_t NumGrows() const {
- return GetSmiValueAt(kNumGrowsIndex);
- }
+#if !defined(PRODUCT)
+ intptr_t NumGrows() const { return GetSmiValueAt(kNumGrowsIndex); }
intptr_t NumLT5Collisions() const {
return GetSmiValueAt(kNumLT5LookupsIndex);
}
@@ -297,9 +287,7 @@ NOT_IN_PRODUCT(
intptr_t NumGT25Collisions() const {
return GetSmiValueAt(kNumGT25LookupsIndex);
}
- void UpdateGrowth() const {
- AdjustSmiValueAt(kNumGrowsIndex, 1);
- }
+ void UpdateGrowth() const { AdjustSmiValueAt(kNumGrowsIndex, 1); }
void UpdateCollisions(intptr_t collisions) const {
if (data_->raw()->IsVMHeapObject()) {
return;
@@ -316,6 +304,7 @@ NOT_IN_PRODUCT(
if (!KeyTraits::ReportStats()) {
return;
}
+ // clang-format off
OS::Print("Stats for %s table :\n"
" Size of table = %" Pd ",Number of Occupied entries = %" Pd "\n"
" Number of Grows = %" Pd "\n"
@@ -326,8 +315,9 @@ NOT_IN_PRODUCT(
NumEntries(), NumOccupied(),
NumGrows(),
NumLT5Collisions(), NumLT25Collisions(), NumGT25Collisions());
+ // clang-format on
}
-) // !PRODUCT
+#endif // !PRODUCT
protected:
static const intptr_t kOccupiedEntriesIndex = 0;
@@ -389,7 +379,7 @@ NOT_IN_PRODUCT(
// Table with unspecified iteration order. No payload overhead or metadata.
-template<typename KeyTraits, intptr_t kUserPayloadSize>
+template <typename KeyTraits, intptr_t kUserPayloadSize>
class UnorderedHashTable : public HashTable<KeyTraits, kUserPayloadSize, 0> {
public:
typedef HashTable<KeyTraits, kUserPayloadSize, 0> BaseTable;
@@ -413,9 +403,7 @@ class UnorderedHashTable : public HashTable<KeyTraits, kUserPayloadSize, 0> {
}
return false;
}
- intptr_t Current() {
- return entry_;
- }
+ intptr_t Current() { return entry_; }
private:
const UnorderedHashTable* table_;
@@ -429,16 +417,17 @@ class UnorderedHashTable : public HashTable<KeyTraits, kUserPayloadSize, 0> {
class HashTables : public AllStatic {
public:
// Allocates and initializes a table.
- template<typename Table>
+ template <typename Table>
static RawArray* New(intptr_t initial_capacity,
Heap::Space space = Heap::kNew) {
- Table table(Thread::Current()->zone(), Array::New(
- Table::ArrayLengthForNumOccupied(initial_capacity), space));
+ Table table(
+ Thread::Current()->zone(),
+ Array::New(Table::ArrayLengthForNumOccupied(initial_capacity), space));
table.Initialize();
return table.Release().raw();
}
- template<typename Table>
+ template <typename Table>
static RawArray* New(const Array& array) {
Table table(Thread::Current()->zone(), array.raw());
table.Initialize();
@@ -447,7 +436,7 @@ class HashTables : public AllStatic {
// Clears 'to' and inserts all elements from 'from', in iteration order.
// The tables must have the same user payload size.
- template<typename From, typename To>
+ template <typename From, typename To>
static void Copy(const From& from, const To& to) {
COMPILE_ASSERT(From::kPayloadSize == To::kPayloadSize);
to.Initialize();
@@ -469,25 +458,24 @@ class HashTables : public AllStatic {
}
}
- template<typename Table>
+ template <typename Table>
static void EnsureLoadFactor(double low, double high, const Table& table) {
double current = (1 + table.NumOccupied() + table.NumDeleted()) /
- static_cast<double>(table.NumEntries());
+ static_cast<double>(table.NumEntries());
if (low <= current && current < high) {
return;
}
double target = (low + high) / 2.0;
intptr_t new_capacity = (1 + table.NumOccupied()) / target;
- Table new_table(New<Table>(
- new_capacity,
- table.data_->IsOld() ? Heap::kOld : Heap::kNew));
+ Table new_table(New<Table>(new_capacity,
+ table.data_->IsOld() ? Heap::kOld : Heap::kNew));
Copy(table, new_table);
*table.data_ = new_table.Release().raw();
NOT_IN_PRODUCT(table.UpdateGrowth(); table.PrintStats();)
}
// Serializes a table by concatenating its entries as an array.
- template<typename Table>
+ template <typename Table>
static RawArray* ToArray(const Table& table, bool include_payload) {
const intptr_t entry_size = include_payload ? (1 + Table::kPayloadSize) : 1;
Array& result = Array::Handle(Array::New(table.NumOccupied() * entry_size));
@@ -510,7 +498,7 @@ class HashTables : public AllStatic {
};
-template<typename BaseIterTable>
+template <typename BaseIterTable>
class HashMap : public BaseIterTable {
public:
explicit HashMap(RawArray* data)
@@ -518,7 +506,7 @@ class HashMap : public BaseIterTable {
HashMap(Zone* zone, RawArray* data) : BaseIterTable(zone, data) {}
HashMap(Object* key, Smi* value, Array* data)
: BaseIterTable(key, value, data) {}
- template<typename Key>
+ template <typename Key>
RawObject* GetOrNull(const Key& key, bool* present = NULL) const {
intptr_t entry = BaseIterTable::FindKey(key);
if (present != NULL) {
@@ -537,7 +525,7 @@ class HashMap : public BaseIterTable {
return present;
}
// Update the value of an existing key. Note that 'key' need not be an Object.
- template<typename Key>
+ template <typename Key>
void UpdateValue(const Key& key, const Object& value) const {
intptr_t entry = BaseIterTable::FindKey(key);
ASSERT(entry != -1);
@@ -558,7 +546,7 @@ class HashMap : public BaseIterTable {
}
}
// Like InsertOrGetValue, but calls NewKey to allocate a key object if needed.
- template<typename Key>
+ template <typename Key>
RawObject* InsertNewOrGetValue(const Key& key,
const Object& value_if_absent) const {
EnsureCapacity();
@@ -574,7 +562,7 @@ class HashMap : public BaseIterTable {
}
}
- template<typename Key>
+ template <typename Key>
bool Remove(const Key& key) const {
intptr_t entry = BaseIterTable::FindKey(key);
if (entry == -1) {
@@ -585,9 +573,7 @@ class HashMap : public BaseIterTable {
}
}
- void Clear() const {
- BaseIterTable::Initialize();
- }
+ void Clear() const { BaseIterTable::Initialize(); }
protected:
void EnsureCapacity() const {
@@ -598,7 +584,7 @@ class HashMap : public BaseIterTable {
};
-template<typename KeyTraits>
+template <typename KeyTraits>
class UnorderedHashMap : public HashMap<UnorderedHashTable<KeyTraits, 1> > {
public:
typedef HashMap<UnorderedHashTable<KeyTraits, 1> > BaseMap;
@@ -610,7 +596,7 @@ class UnorderedHashMap : public HashMap<UnorderedHashTable<KeyTraits, 1> > {
};
-template<typename BaseIterTable>
+template <typename BaseIterTable>
class HashSet : public BaseIterTable {
public:
explicit HashSet(RawArray* data)
@@ -642,7 +628,7 @@ class HashSet : public BaseIterTable {
}
// Like InsertOrGet, but calls NewKey to allocate a key object if needed.
- template<typename Key>
+ template <typename Key>
RawObject* InsertNewOrGet(const Key& key) const {
EnsureCapacity();
intptr_t entry = -1;
@@ -656,7 +642,7 @@ class HashSet : public BaseIterTable {
}
}
- template<typename Key>
+ template <typename Key>
RawObject* GetOrNull(const Key& key, bool* present = NULL) const {
intptr_t entry = BaseIterTable::FindKey(key);
if (present != NULL) {
@@ -665,7 +651,7 @@ class HashSet : public BaseIterTable {
return (entry == -1) ? Object::null() : BaseIterTable::GetKey(entry);
}
- template<typename Key>
+ template <typename Key>
bool Remove(const Key& key) const {
intptr_t entry = BaseIterTable::FindKey(key);
if (entry == -1) {
@@ -676,9 +662,7 @@ class HashSet : public BaseIterTable {
}
}
- void Clear() const {
- BaseIterTable::Initialize();
- }
+ void Clear() const { BaseIterTable::Initialize(); }
protected:
void EnsureCapacity() const {
@@ -689,7 +673,7 @@ class HashSet : public BaseIterTable {
};
-template<typename KeyTraits>
+template <typename KeyTraits>
class UnorderedHashSet : public HashSet<UnorderedHashTable<KeyTraits, 0> > {
public:
typedef HashSet<UnorderedHashTable<KeyTraits, 0> > BaseSet;
« no previous file with comments | « runtime/vm/hash_map_test.cc ('k') | runtime/vm/hash_table_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698