5#ifndef V8_OBJECTS_NAME_INL_H_
6#define V8_OBJECTS_NAME_INL_H_
36 Symbol::IsWellKnownSymbolBit)
38 Symbol::IsInPublicSymbolTableBit)
40 Symbol::IsInterestingSymbolBit)
42bool Symbol::is_private_brand()
const {
68 uint32_t type = obj->map()->instance_type();
77 if (other ==
this)
return true;
78 if ((IsInternalizedString(
this) && IsInternalizedString(other)) ||
79 IsSymbol(
this) || IsSymbol(other)) {
87 if (
one.is_identical_to(two))
return true;
88 if ((IsInternalizedString(*
one) && IsInternalizedString(*two)) ||
89 IsSymbol(*
one) || IsSymbol(*two)) {
172 return isolate->string_forwarding_table()->GetRawHash(isolate, index);
197 return Cast<String>(
this)->ComputeAndSetRawHash(access_guard);
224 v8_flags.always_use_string_forwarding_table) &&
253 return (IsSymbol(
this) &&
Cast<Symbol>(
this)->is_interesting_symbol()) ||
254 this == *isolate->factory()->toJSON_string() ||
255 this == *isolate->factory()->get_string();
259 return IsSymbol(
this) &&
Cast<Symbol>(
this)->is_private();
263 bool is_private_name =
264 IsSymbol(
this) &&
Cast<Symbol>(
this)->is_private_name();
266 return is_private_name;
270 bool is_private_brand =
271 IsSymbol(
this) &&
Cast<Symbol>(
this)->is_private_brand();
273 return is_private_brand;
282 return IsString(
this) &&
Cast<String>(
this)->AsArrayIndex(index);
286 return IsString(
this) &&
Cast<String>(
this)->AsIntegerIndex(index);
#define SLOW_DCHECK(condition)
static constexpr T decode(U value)
static constexpr U encode(T value)
static V8_NODISCARD constexpr U update(U previous, T value)
static V8_INLINE Isolate * Current()
bool HasForwardingIndex(AcquireLoadTag) const
std::atomic_uint32_t raw_hash_field_
static bool IsIntegerIndex(uint32_t raw_hash_field)
bool IsInteresting(Isolate *isolate)
static bool IsForwardingIndex(uint32_t raw_hash_field)
static bool IsHash(uint32_t raw_hash_field)
static uint32_t CreateHashFieldValue(uint32_t hash, HashFieldType type)
bool TryGetHash(uint32_t *hash) const
static bool ContainsCachedArrayIndex(uint32_t hash)
void set_raw_hash_field_if_empty(uint32_t hash)
static constexpr int kEmptyHashField
bool Equals(Tagged< Name > other)
uint32_t raw_hash_field() const
static constexpr int kHashNotComputedMask
static const unsigned int kDoesNotContainCachedArrayIndexMask
static uint32_t CreateExternalForwardingIndex(uint32_t index)
bool HasExternalForwardingIndex(AcquireLoadTag) const
static uint32_t CreateInternalizedForwardingIndex(uint32_t index)
bool AsArrayIndex(uint32_t *index)
static bool IsInternalizedForwardingIndex(uint32_t raw_hash_field)
bool AsIntegerIndex(size_t *index)
static bool IsExternalForwardingIndex(uint32_t raw_hash_field)
uint32_t GetRawHashFromForwardingTable(uint32_t raw_hash) const
bool HasInternalizedForwardingIndex(AcquireLoadTag) const
static bool IsHashFieldComputed(uint32_t raw_hash_field)
V8_EXPORT_PRIVATE bool SlowEquals(Tagged< String > other) const
TaggedMember< PrimitiveHeapObject > description_
void set_is_private_name()
void set_description(Tagged< PrimitiveHeapObject > value, WriteBarrierMode mode=UPDATE_WRITE_BARRIER)
void set_flags(uint32_t value)
void set_is_private_brand()
Tagged< PrimitiveHeapObject > description() const
bool is_private_name() const
ZoneVector< RpoNumber > & result
const uint32_t kNotInternalizedTag
const uint32_t kStringTag
bool IsShared(Tagged< Object > obj)
V8_EXPORT_PRIVATE FlagValues v8_flags
bool IsUniqueName(Tagged< Name > obj)
const uint32_t kIsNotInternalizedMask
is_in_public_symbol_table
const uint32_t kIsNotStringMask
Tagged< To > Cast(Tagged< From > value, const v8::SourceLocation &loc=INIT_SOURCE_LOCATION_IN_DEBUG)
static constexpr AcquireLoadTag kAcquireLoad
#define DEF_HEAP_OBJECT_PREDICATE(holder, name)
#define BIT_FIELD_ACCESSORS(holder, field, name, BitField)
#define DCHECK_IMPLIES(v1, v2)
#define DCHECK_NE(v1, v2)
#define DCHECK(condition)
#define V8_UNLIKELY(condition)