1 // Copyright 2018 the V8 project authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef V8_OBJECTS_ORDERED_HASH_TABLE_INL_H_ 6 #define V8_OBJECTS_ORDERED_HASH_TABLE_INL_H_ 7 8 #include "src/objects/ordered-hash-table.h" 9 10 #include "src/heap/heap.h" 11 #include "src/objects/fixed-array-inl.h" 12 13 namespace v8 { 14 namespace internal { 15 GetMapRootIndex()16int OrderedHashSet::GetMapRootIndex() { 17 return Heap::kOrderedHashSetMapRootIndex; 18 } 19 GetMapRootIndex()20int OrderedHashMap::GetMapRootIndex() { 21 return Heap::kOrderedHashMapMapRootIndex; 22 } 23 GetMapRootIndex()24int SmallOrderedHashMap::GetMapRootIndex() { 25 return Heap::kSmallOrderedHashMapMapRootIndex; 26 } 27 GetMapRootIndex()28int SmallOrderedHashSet::GetMapRootIndex() { 29 return Heap::kSmallOrderedHashSetMapRootIndex; 30 } 31 ValueAt(int entry)32inline Object* OrderedHashMap::ValueAt(int entry) { 33 DCHECK_LT(entry, this->UsedCapacity()); 34 return get(EntryToIndex(entry) + kValueOffset); 35 } 36 Is(Handle<HeapObject> table)37inline bool OrderedHashSet::Is(Handle<HeapObject> table) { 38 return table->IsOrderedHashSet(); 39 } 40 Is(Handle<HeapObject> table)41inline bool OrderedHashMap::Is(Handle<HeapObject> table) { 42 return table->IsOrderedHashMap(); 43 } 44 Is(Handle<HeapObject> table)45inline bool SmallOrderedHashSet::Is(Handle<HeapObject> table) { 46 return table->IsSmallOrderedHashSet(); 47 } 48 Is(Handle<HeapObject> table)49inline bool SmallOrderedHashMap::Is(Handle<HeapObject> table) { 50 return table->IsSmallOrderedHashMap(); 51 } 52 } // namespace internal 53 } // namespace v8 54 55 #endif // V8_OBJECTS_ORDERED_HASH_TABLE_INL_H_ 56