5#ifndef V8_AST_VARIABLES_H_
6#define V8_AST_VARIABLES_H_
99 if (
name_->IsPrivateName()) {
218 std::numeric_limits<HoleCheckBitmap>::digits;
230 index = list.
size() + 1;
static constexpr T decode(U value)
static constexpr U encode(T value)
static V8_NODISCARD constexpr U update(U previous, T value)
Variable * local_if_not_shadowed() const
int initializer_position_
bool binding_needs_init() const
ForceHoleInitializationFlag
@ kHoleInitializationNotForced
@ kHasHoleCheckUseInDifferentClosureScope
@ kHasHoleCheckUseInSameClosureScope
@ kHasHoleCheckUseInUnknownScope
void clear_maybe_assigned()
void set_maybe_assigned()
VariableMode mode() const
void ResetHoleCheckBitmapIndex()
bool IsStackAllocated() const
static constexpr uint8_t kUncacheableHoleCheckBitmapIndex
bool is_parameter() const
const AstRawString * name_
uint16_t hole_check_analysis_bit_field_
MaybeAssignedFlag maybe_assigned() const
bool is_sloppy_block_function()
void set_mode(VariableMode mode)
void AllocateTo(VariableLocation location, int index)
int initializer_position()
bool IsLookupSlot() const
Variable * local_if_not_shadowed_
VariableLocation location() const
void set_local_if_not_shadowed(Variable *local)
bool IsHoleInitializationForced() const
bool requires_brand_check() const
bool HasRememberedHoleCheck(HoleCheckBitmap bitmap) const
bool has_local_if_not_shadowed() const
bool has_forced_context_allocation() const
void MakeParameterNonSimple()
static InitializationFlag DefaultInitializationFlag(VariableMode mode)
uint8_t HoleCheckBitmapIndex() const
void set_initializer_position(int pos)
VariableKind kind() const
ForceHoleInitializationFlag force_hole_initialization_flag_field() const
InitializationFlag initialization_flag() const
bool HasHoleCheckUseInSameClosureScope() const
bool IsGlobalObjectProperty() const
bool IsReplGlobal() const
bool throw_on_const_assignment(LanguageMode language_mode) const
Variable(Scope *scope, const AstRawString *name, VariableMode mode, VariableKind kind, InitializationFlag initialization_flag, MaybeAssignedFlag maybe_assigned_flag=kNotAssigned, IsStaticFlag is_static_flag=IsStaticFlag::kNotStatic)
static constexpr uint8_t kHoleCheckBitmapBits
void RememberHoleCheckInBitmap(HoleCheckBitmap &bitmap, ZoneVector< Variable * > &list)
void RewriteLocationForRepl()
bool IsStackLocal() const
void set_is_static_flag(IsStaticFlag is_static_flag)
void ForceHoleInitialization(ForceHoleInitializationFlag flag)
void set_scope(Scope *scope)
const AstRawString * raw_name() const
void ForceContextAllocation()
IsStaticFlag is_static_flag() const
bool IsContextSlot() const
void AssignHoleCheckBitmapIndex(ZoneVector< Variable * > &list, uint8_t next_index)
bool is_sloppy_function_name() const
bool IsUnallocated() const
Handle< String > name() const
ZoneVector< RpoNumber > & result
SnapshotTable< OpIndex, VariableData >::Key Variable
constexpr int kNoSourcePosition
bool IsLexicalVariableMode(VariableMode mode)
bool IsDeclaredVariableMode(VariableMode mode)
bool IsImmutableLexicalVariableMode(VariableMode mode)
@ SLOPPY_FUNCTION_NAME_VARIABLE
@ SLOPPY_BLOCK_FUNCTION_VARIABLE
bool is_strict(LanguageMode language_mode)
V8_EXPORT_PRIVATE FlagValues v8_flags
bool IsPrivateMethodOrAccessorVariableMode(VariableMode mode)
bool IsDynamicVariableMode(VariableMode mode)
bool IsImmutableLexicalOrPrivateVariableMode(VariableMode mode)
#define DCHECK_IMPLIES(v1, v2)
#define DCHECK_NE(v1, v2)
#define DCHECK(condition)
#define DCHECK_EQ(v1, v2)
#define V8_UNLIKELY(condition)