5#ifndef V8_IC_STUB_CACHE_H_
6#define V8_IC_STUB_CACHE_H_
56 reinterpret_cast<Address
>(&first_entry(table)->
key));
61 reinterpret_cast<Address
>(&first_entry(table)->map));
66 reinterpret_cast<Address
>(&first_entry(table)->value));
71 case StubCache::kPrimary:
72 return StubCache::primary_;
73 case StubCache::kSecondary:
74 return StubCache::secondary_;
86 static const int kCacheIndexShift = Name::HashBits::kShift;
88 static const int kPrimaryTableBits = 11;
89 static const int kPrimaryTableSize = (1 << kPrimaryTableBits);
90 static const int kSecondaryTableBits = 9;
91 static const int kSecondaryTableSize = (1 << kSecondaryTableBits);
126 static_assert((
sizeof(*table) >> kCacheIndexShift) << kCacheIndexShift ==
128 const int multiplier =
sizeof(*table) >> kCacheIndexShift;
129 return reinterpret_cast<Entry*
>(
reinterpret_cast<Address
>(table) +
135 Entry secondary_[kSecondaryTableSize];
SCTableReference(Address address)
StubCache::Entry * first_entry(StubCache::Table table)
SCTableReference value_reference(StubCache::Table table)
StubCache & operator=(const StubCache &)=delete
StubCache(const StubCache &)=delete
SCTableReference key_reference(StubCache::Table table)
SCTableReference map_reference(StubCache::Table table)
static Entry * entry(Entry *table, int offset)
V8_INLINE const Operation & Get(const Graph &graph, OpIndex index)
#define V8_EXPORT_PRIVATE
std::unique_ptr< ValueMirror > key