34 uint32_t field = name->RawHash();
39 uint32_t map_low32bits =
42 uint32_t
key = map_low32bits + field;
51 uint32_t name_low32bits =
static_cast<uint32_t
>(name.ptr());
52 uint32_t map_low32bits =
static_cast<uint32_t
>(old_map.
ptr());
53 uint32_t
key = (map_low32bits + name_low32bits);
75#ifdef V8_COMPRESS_POINTERS
79 DCHECK(handler.IsSmi() || handler.IsInMainCageBase());
91 DCHECK(CommonStubCacheChecks(
this, name, map, handler));
103 if (!old_handler.
SafeEquals(isolate()->builtins()->
code(Builtin::kIllegal)) &&
111 *secondary = *primary;
125 if (primary->
key == name && primary->
map == map) {
130 if (secondary->
key == name && secondary->
map == map) {
V8_EXPORT_PRIVATE Tagged< Code > code(Builtin builtin)
static V8_INLINE bool InYoungGeneration(Tagged< Object > object)
static bool IsHandler(Tagged< MaybeObject > object)
static bool IsHashFieldComputed(uint32_t raw_hash_field)
static constexpr Tagged< Smi > zero()
static Tagged< Object > ToObject(Isolate *isolate, StrongTaggedValue object)
static const int kCacheIndexShift
static const int kPrimaryTableBits
static int SecondaryOffsetForTesting(Tagged< Name > name, Tagged< Map > map)
static int SecondaryOffset(Tagged< Name > name, Tagged< Map > map)
Entry secondary_[kSecondaryTableSize]
static const int kSecondaryTableBits
StubCache(Isolate *isolate)
static int PrimaryOffset(Tagged< Name > name, Tagged< Map > map)
static const int kSecondaryTableSize
static const int kPrimaryTableSize
Entry primary_[kPrimaryTableSize]
static Entry * entry(Entry *table, int offset)
void Set(Tagged< Name > name, Tagged< Map > map, Tagged< MaybeObject > handler)
Tagged< MaybeObject > Get(Tagged< Name > name, Tagged< Map > map)
static int PrimaryOffsetForTesting(Tagged< Name > name, Tagged< Map > map)
V8_INLINE constexpr StorageType ptr() const
constexpr bool SafeEquals(TaggedImpl< kOtherRefType, StorageType > other) const
constexpr bool IsSmi() const
static Tagged< MaybeObject > ToMaybeObject(Isolate *isolate, TaggedValue object)
constexpr bool IsPowerOfTwo(T value)
Tagged(T object) -> Tagged< T >
bool IsUniqueName(Tagged< Name > obj)
constexpr bool kAllCodeObjectsLiveInTrustedSpace
static constexpr Address kNullAddress
Tagged< To > Cast(Tagged< From > value, const v8::SourceLocation &loc=INIT_SOURCE_LOCATION_IN_DEBUG)
#define DCHECK(condition)