• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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()16 int OrderedHashSet::GetMapRootIndex() {
17   return Heap::kOrderedHashSetMapRootIndex;
18 }
19 
GetMapRootIndex()20 int OrderedHashMap::GetMapRootIndex() {
21   return Heap::kOrderedHashMapMapRootIndex;
22 }
23 
GetMapRootIndex()24 int SmallOrderedHashMap::GetMapRootIndex() {
25   return Heap::kSmallOrderedHashMapMapRootIndex;
26 }
27 
GetMapRootIndex()28 int SmallOrderedHashSet::GetMapRootIndex() {
29   return Heap::kSmallOrderedHashSetMapRootIndex;
30 }
31 
ValueAt(int entry)32 inline Object* OrderedHashMap::ValueAt(int entry) {
33   DCHECK_LT(entry, this->UsedCapacity());
34   return get(EntryToIndex(entry) + kValueOffset);
35 }
36 
Is(Handle<HeapObject> table)37 inline bool OrderedHashSet::Is(Handle<HeapObject> table) {
38   return table->IsOrderedHashSet();
39 }
40 
Is(Handle<HeapObject> table)41 inline bool OrderedHashMap::Is(Handle<HeapObject> table) {
42   return table->IsOrderedHashMap();
43 }
44 
Is(Handle<HeapObject> table)45 inline bool SmallOrderedHashSet::Is(Handle<HeapObject> table) {
46   return table->IsSmallOrderedHashSet();
47 }
48 
Is(Handle<HeapObject> table)49 inline 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