26 int* out_last_checked_field)
const {
27 if (
length() != other->length())
return false;
28 if (
Flags() != other->Flags())
return false;
30 if (out_last_checked_field) *out_last_checked_field =
index;
31 if (index ==
kFlags)
continue;
39 if (entry != other_entry)
return false;
45 if (IsString(entry)) {
49 }
else if (IsScopeInfo(entry)) {
54 }
else if (IsSourceTextModuleInfo(entry)) {
55 if (!is_live_edit_compare &&
60 }
else if (IsOddball(entry)) {
65 }
else if (IsDependentCode(entry)) {
66 DCHECK(IsDependentCode(other_entry));
78template <
typename IsolateT>
82 int context_local_count = 0;
83 int module_vars_count = 0;
89 switch (var->location()) {
92 context_local_count++;
125 bool has_inlined_local_names =
128 const bool has_new_target =
159 const bool has_brand =
164 const bool should_save_class_variable_index =
168 const bool has_function_name =
174 const bool has_outer_scope_info = !outer_scope.
is_null();
186 kContextLocalCountOffset);
189 bool sloppy_eval_can_extend_vars =
false;
192 sloppy_eval_can_extend_vars =
197 const int local_names_container_size =
198 has_inlined_local_names ? context_local_count : 1;
200 const int has_dependent_code = sloppy_eval_can_extend_vars;
203 (should_save_class_variable_index ? 1 : 0) +
205 (has_inferred_function_name ? 1 : 0) + (has_outer_scope_info ? 1 : 0) +
209 (has_dependent_code ? 1 : 0);
213 if (!has_inlined_local_names) {
214 local_names_hashtable = NameToIndexHashTable::New(
219 isolate->factory()->NewScopeInfo(length);
226 bool has_simple_parameters =
false;
227 bool is_asm_module =
false;
231#if V8_ENABLE_WEBASSEMBLY
232 is_asm_module = function_scope->is_asm_module();
239 SloppyEvalCanExtendVarsBit::encode(sloppy_eval_can_extend_vars) |
242 ReceiverVariableBits::encode(receiver_info) |
243 ClassScopeHasPrivateBrandBit::encode(has_brand) |
244 HasSavedClassVariableBit::encode(should_save_class_variable_index) |
245 HasNewTargetBit::encode(has_new_target) |
246 FunctionVariableBits::encode(function_name_info) |
247 HasInferredFunctionNameBit::encode(has_inferred_function_name) |
248 IsAsmModuleBit::encode(is_asm_module) |
249 HasSimpleParametersBit::encode(has_simple_parameters) |
251 HasOuterScopeInfoBit::encode(has_outer_scope_info) |
253 ForceContextAllocationBit::encode(
255 PrivateNameLookupSkipsOuterClassBit::encode(
258 IsHiddenBit::encode(scope->
is_hidden()) |
263 scope_info->set_context_local_count(context_local_count);
266 scope_info->set_position_info_end(scope->
end_position());
269 scope_info->set_module_variable_count(module_vars_count);
272 if (!has_inlined_local_names) {
273 scope_info->set_context_local_names_hashtable(*local_names_hashtable);
278 int context_local_base =
index;
279 int context_local_info_base =
280 context_local_base + local_names_container_size;
281 int module_var_entry = scope_info->ModuleVariablesIndex();
284 switch (var->location()) {
291 DCHECK_LT(local_index, context_local_count);
293 VariableModeBits::encode(var->mode()) |
294 InitFlagBit::encode(var->initialization_flag()) |
295 MaybeAssignedFlagBit::encode(var->maybe_assigned()) |
296 ParameterNumberBits::encode(ParameterNumberBits::kMax) |
297 IsStaticFlagBit::encode(var->is_static_flag());
298 if (has_inlined_local_names) {
299 scope_info->set(context_local_base + local_index, *var->name(),
303 isolate, local_names_hashtable, var->name(), local_index);
304 DCHECK_EQ(*new_table, *local_names_hashtable);
307 scope_info->set(context_local_info_base + local_index,
314 TorqueGeneratedModuleVariableOffsets::kNameOffset /
319 TorqueGeneratedModuleVariableOffsets::kIndexOffset /
322 uint32_t properties =
323 VariableModeBits::encode(var->mode()) |
324 InitFlagBit::encode(var->initialization_flag()) |
325 MaybeAssignedFlagBit::encode(var->maybe_assigned()) |
326 ParameterNumberBits::encode(ParameterNumberBits::kMax) |
327 IsStaticFlagBit::encode(var->is_static_flag());
330 TorqueGeneratedModuleVariableOffsets::kPropertiesOffset /
353 int info_index = context_local_info_base + param_index;
354 int info =
Smi::ToInt(scope_info->get(info_index));
355 info = ParameterNumberBits::update(info,
i);
361 index += local_names_container_size + context_local_count;
363 DCHECK_EQ(index, scope_info->SavedClassVariableInfoIndex());
367 if (should_save_class_variable_index) {
371 if (has_inlined_local_names) {
372 local_index = class_variable->
index();
375 InternalIndex entry = local_names_hashtable->FindEntry(isolate, name);
376 local_index = entry.
as_int();
382 DCHECK_EQ(index, scope_info->FunctionVariableInfoIndex());
383 if (has_function_name) {
387 if (var !=
nullptr) {
388 var_index = var->
index();
391 scope_info->set(index++, name, mode);
394 var_index == scope_info->ContextLength() - 1);
397 DCHECK_EQ(index, scope_info->InferredFunctionNameIndex());
398 if (has_inferred_function_name) {
404 DCHECK_EQ(index, scope_info->OuterScopeInfoIndex());
405 if (has_outer_scope_info) {
411 DCHECK_EQ(index, scope_info->ModuleInfoIndex());
412 scope_info->set(index++, *module_info);
413 DCHECK_EQ(index, scope_info->ModuleVariablesIndex());
418 DCHECK_EQ(index, scope_info->DependentCodeIndex());
419 if (has_dependent_code) {
425 DCHECK_EQ(index, scope_info_handle->length());
426 DCHECK_EQ(length, scope_info_handle->length());
430 return scope_info_handle;
445 const bool has_outer_scope_info = !outer_scope.
is_null();
448 Factory* factory = isolate->factory();
454 SloppyEvalCanExtendVarsBit::encode(
false) |
456 DeclarationScopeBit::encode(
false) |
458 ClassScopeHasPrivateBrandBit::encode(
false) |
459 HasSavedClassVariableBit::encode(
false) | HasNewTargetBit::encode(
false) |
461 IsAsmModuleBit::encode(
false) | HasSimpleParametersBit::encode(
true) |
463 HasOuterScopeInfoBit::encode(has_outer_scope_info) |
464 IsDebugEvaluateScopeBit::encode(
false) |
465 ForceContextAllocationBit::encode(
false) |
466 PrivateNameLookupSkipsOuterClassBit::encode(
false) |
467 HasContextExtensionSlotBit::encode(
true) | IsHiddenBit::encode(
false) |
468 IsWrappedFunctionBit::encode(
false);
471 scope_info->set_parameter_count(0);
472 scope_info->set_context_local_count(0);
474 scope_info->set_position_info_start(0);
475 scope_info->set_position_info_end(0);
478 DCHECK_EQ(index, scope_info->FunctionVariableInfoIndex());
479 DCHECK_EQ(index, scope_info->InferredFunctionNameIndex());
480 DCHECK_EQ(index, scope_info->OuterScopeInfoIndex());
481 if (has_outer_scope_info) {
483 scope_info->set(index++, outer);
485 DCHECK_EQ(index, scope_info->DependentCodeIndex());
488 DCHECK_EQ(0, scope_info->ParameterCount());
489 DCHECK_EQ(scope_info->ContextHeaderLength(), scope_info->ContextLength());
523 const bool has_const_tracking_let_side_data = is_script;
524 const int context_local_count =
525 is_empty_function || is_native_context ? 0 : 1;
526 const bool has_inferred_function_name = is_empty_function;
531 (has_inferred_function_name ? 1 : 0);
533 Factory* factory = isolate->factory();
540 ScopeTypeBits::encode(
544 SloppyEvalCanExtendVarsBit::encode(
false) |
546 DeclarationScopeBit::encode(
true) |
549 ClassScopeHasPrivateBrandBit::encode(
false) |
550 HasSavedClassVariableBit::encode(
false) | HasNewTargetBit::encode(
false) |
551 FunctionVariableBits::encode(is_empty_function
554 HasInferredFunctionNameBit::encode(has_inferred_function_name) |
555 IsAsmModuleBit::encode(
false) | HasSimpleParametersBit::encode(
true) |
557 HasOuterScopeInfoBit::encode(
false) |
558 IsDebugEvaluateScopeBit::encode(
false) |
559 ForceContextAllocationBit::encode(
false) |
560 PrivateNameLookupSkipsOuterClassBit::encode(
false) |
561 HasContextExtensionSlotBit::encode(is_native_context ||
562 has_const_tracking_let_side_data) |
563 IsHiddenBit::encode(
false) | IsWrappedFunctionBit::encode(
false);
567 raw_scope_info->set_context_local_count(context_local_count);
568 raw_scope_info->set_position_info_start(0);
569 raw_scope_info->set_position_info_end(0);
574 DCHECK_EQ(index, raw_scope_info->ContextLocalNamesIndex());
576 if (context_local_count) {
577 raw_scope_info->set(index++, roots.this_string());
579 DCHECK_EQ(index, raw_scope_info->ContextLocalInfosIndex());
580 if (context_local_count > 0) {
581 const uint32_t value =
585 ParameterNumberBits::encode(ParameterNumberBits::kMax) |
590 DCHECK_EQ(index, raw_scope_info->FunctionVariableInfoIndex());
591 if (is_empty_function) {
592 raw_scope_info->set(index++, roots.empty_string());
593 raw_scope_info->set(index++,
Smi::zero());
595 DCHECK_EQ(index, raw_scope_info->InferredFunctionNameIndex());
596 if (has_inferred_function_name) {
597 raw_scope_info->set(index++, roots.empty_string());
599 DCHECK_EQ(index, raw_scope_info->OuterScopeInfoIndex());
600 DCHECK_EQ(index, raw_scope_info->DependentCodeIndex());
601 DCHECK_EQ(index, raw_scope_info->length());
602 DCHECK_EQ(length, raw_scope_info->length());
604 if (is_empty_function || is_native_context) {
605 DCHECK_EQ(raw_scope_info->ContextLength(), 0);
607 DCHECK_EQ(raw_scope_info->ContextLength(),
608 raw_scope_info->ContextHeaderLength() + 1);
616 return get(cage_base, index);
620 DCHECK_LT(
static_cast<unsigned>(index),
static_cast<unsigned>(
length()));
626 DCHECK_LT(
static_cast<unsigned>(index),
static_cast<unsigned>(
length()));
633 DCHECK_LT(
static_cast<unsigned>(index),
static_cast<unsigned>(
length()));
642 if (len == 0)
return;
643 DCHECK_LE(src_index + len, src->length());
647 ObjectSlot src_slot(src->RawFieldOfElementAt(src_index));
648 isolate->heap()->CopyRange(*
this, dst_slot, src_slot, len, mode);
670 return ScopeTypeBits::decode(
Flags());
679 bool sloppy_eval_can_extend_vars =
680 SloppyEvalCanExtendVarsBit::decode(
Flags());
683 return sloppy_eval_can_extend_vars;
687 return LanguageModeBit::decode(
Flags());
691 return DeclarationScopeBit::decode(
Flags());
698 bool force_context = ForceContextAllocationBit::decode(
Flags());
700 context_locals > 0 || force_context || function_name_context_slot ||
708 if (!has_context)
return 0;
710 (function_name_context_slot ? 1 : 0);
733 return HasContextExtensionSlotBit::decode(
Flags());
737 return SomeContextHasExtensionBit::decode(
Flags());
770 return ClassScopeHasPrivateBrandBit::decode(
Flags());
774 return HasSavedClassVariableBit::decode(
Flags());
778 return HasNewTargetBit::decode(
Flags());
787 FunctionVariableBits::decode(
Flags());
791 return HasInferredFunctionNameBit::decode(
Flags());
804 set_function_variable_info_name(name);
809 set_inferred_function_name(name);
813 return HasOuterScopeInfoBit::decode(
Flags());
817 return IsDebugEvaluateScopeBit::decode(
Flags());
827 return PrivateNameLookupSkipsOuterClassBit::decode(
Flags());
837 return IsWrappedFunctionBit::decode(
Flags());
844 return function_variable_info_name();
849 return inferred_function_name();
867 return position_info_start();
872 return position_info_end();
878 set_position_info_start(
start);
879 set_position_info_end(
end);
894 return context_local_names(var);
900 return context_local_names(cage_base, var);
904 int value = context_local_infos(var);
905 return VariableModeBits::decode(value);
909 int value = context_local_infos(var);
910 return IsStaticFlagBit::decode(value);
914 int value = context_local_infos(var);
915 return InitFlagBit::decode(value);
919 int value = context_local_infos(var);
920 return ParameterNumberBits::decode(value) != ParameterNumberBits::kMax;
925 int value = context_local_infos(var);
926 return ParameterNumberBits::decode(value);
930 int value = context_local_infos(var);
931 return MaybeAssignedFlagBit::decode(value);
940 return name->length() == 0 || name->Get(0) ==
'.' || name->Get(0) ==
'#' ||
946 return module_variable_count();
953 DCHECK(IsInternalizedString(name));
959 int module_vars_count = module_variable_count();
960 for (
int i = 0;
i < module_vars_count; ++
i) {
962 if (name->Equals(var_name)) {
964 ModuleVariable(
i,
nullptr, &index, mode, init_flag, maybe_assigned_flag);
975 int local_count = context_local_count();
976 for (
int i = 0;
i < local_count; ++
i) {
987 DCHECK(IsInternalizedString(*name));
990 if (this->
IsEmpty())
return -1;
994 : context_local_names_hashtable()->Lookup(name);
1004 return context_slot;
1016 DCHECK(HasSavedClassVariableBit::decode(
Flags()));
1023 return std::make_pair(name, index);
1031 return std::make_pair(
Cast<String>(name), table->IndexAt(entry));
1036 if (ReceiverVariableBits::decode(
Flags()) ==
1044 if (ReceiverVariableBits::decode(
Flags()) ==
1052 DCHECK(IsInternalizedString(name));
1056 return function_variable_info_context_or_stack_slot_index();
1063 return FunctionKindBits::decode(
Flags());
1106 int properties = module_variables_properties(
i);
1108 if (name !=
nullptr) {
1109 *name = module_variables_name(
i);
1111 if (index !=
nullptr) {
1112 *index = module_variables_index(
i);
1115 if (mode !=
nullptr) {
1116 *mode = VariableModeBits::decode(properties);
1118 if (init_flag !=
nullptr) {
1119 *init_flag = InitFlagBit::decode(properties);
1121 if (maybe_assigned_flag !=
nullptr) {
1122 *maybe_assigned_flag = MaybeAssignedFlagBit::decode(properties);
1139 return static_cast<uint32_t
>(
1146 return os <<
"NONE";
1148 return os <<
"STACK";
1150 return os <<
"CONTEXT";
1152 return os <<
"UNUSED";
1157template <
typename IsolateT>
1165 raw->set_specifier(*specifier);
1166 raw->set_import_attributes(*import_attributes);
1169 raw->set_phase(
phase);
1183template <
typename IsolateT>
1188 int cell_index,
int beg_pos,
int end_pos) {
1193 raw->set_export_name(*export_name);
1194 raw->set_local_name(*local_name);
1195 raw->set_import_name(*import_name);
1196 raw->set_module_request(module_request);
1197 raw->set_cell_index(cell_index);
1198 raw->set_beg_pos(beg_pos);
1199 raw->set_end_pos(end_pos);
1207 int cell_index,
int beg_pos,
int end_pos);
1212 int cell_index,
int beg_pos,
int end_pos);
1214template <
typename IsolateT>
1223 elem->Serialize(isolate);
1234 entry->Serialize(isolate);
1241 isolate->factory()->NewFixedArray(
1248 entry->Serialize(isolate);
1264 elem.second->Serialize(isolate);
1270 isolate->factory()->NewSourceTextModuleInfo();
bool should_save_class_variable_index() const
Variable * class_variable()
@ MIN_CONTEXT_EXTENDED_SLOTS
FunctionKind function_kind() const
bool class_scope_has_private_brand() const
Variable * function_var() const
Variable * new_target_var()
Variable * parameter(int index) const
int num_parameters() const
bool sloppy_eval_can_extend_vars() const
bool has_this_declaration() const
bool has_simple_parameters() const
static V8_EXPORT_PRIVATE Tagged< DependentCode > empty_dependent_code(const ReadOnlyRoots &roots)
Handle< ScopeInfo > NewScopeInfo(int length, AllocationType type=AllocationType::kOld)
static constexpr int kHeaderSize
constexpr int as_int() const
V8_INLINE DirectHandle< T > ToHandleChecked() const
V8_INLINE bool is_null() const
static NEVER_READ_ONLY_SPACE Handle< ModuleRequest > New(IsolateT *isolate, DirectHandle< String > specifier, ModuleImportPhase phase, DirectHandle< FixedArray > import_attributes, int position)
ModuleImportPhase phase() const
SourceTextModuleDescriptor * module() const
static Handle< NameToIndexHashTable > Add(IsolateT *isolate, Handle< NameToIndexHashTable > table, DirectHandle< Name > key, int32_t value)
bool HasPositionInfo() const
bool HasContextExtensionSlot() const
uint32_t ContextLocalParameterNumber(int var) const
bool HasContextAllocatedFunctionName() const
V8_EXPORT_PRIVATE uint32_t Hash()
int FunctionContextSlotIndex(Tagged< String > name) const
static DirectHandle< ScopeInfo > CreateForBootstrapping(Isolate *isolate, BootstrappingType type)
void CopyElements(Isolate *isolate, int dst_index, Tagged< ScopeInfo > src, int src_index, int len, WriteBarrierMode mode)
V8_EXPORT_PRIVATE Tagged< Object > get(int index) const
V8_EXPORT_PRIVATE Tagged< Object > InferredFunctionName() const
void mark_some_context_has_extension()
Tagged< SourceTextModuleInfo > ModuleDescriptorInfo() const
int ParametersStartIndex() const
bool HasNewTarget() const
static DirectHandle< ScopeInfo > CreateGlobalThisBinding(Isolate *isolate)
V8_EXPORT_PRIVATE bool HasFunctionName() const
int ContextSlotIndex(DirectHandle< String > name)
Tagged< String > ContextInlinedLocalName(int var) const
void SetFunctionName(Tagged< UnionOf< Smi, String > > name)
void SetInferredFunctionName(Tagged< String > name)
bool ClassScopeHasPrivateBrand() const
bool PrivateNameLookupSkipsOuterClass() const
bool SomeContextHasExtension() const
bool Equals(Tagged< ScopeInfo > other, bool is_live_edit_compare=false, int *out_last_checked_field=nullptr) const
bool IsReplModeScope() const
int ContextLocalInfosIndex() const
bool is_declaration_scope() const
bool HasOuterScopeInfo() const
int ModuleIndex(Tagged< String > name, VariableMode *mode, InitializationFlag *init_flag, MaybeAssignedFlag *maybe_assigned_flag)
static DirectHandle< ScopeInfo > CreateForShadowRealmNativeContext(Isolate *isolate)
void set(int index, Tagged< Smi > value)
FunctionKind function_kind() const
LanguageMode language_mode() const
int ContextLocalNamesIndex() const
int InferredFunctionNameIndex() const
void ModuleVariable(int i, Tagged< String > *name, int *index, VariableMode *mode=nullptr, InitializationFlag *init_flag=nullptr, MaybeAssignedFlag *maybe_assigned_flag=nullptr)
ObjectSlot RawFieldOfElementAt(int index)
ScopeType scope_type() const
int DependentCodeIndex() const
bool HasAllocatedReceiver() const
V8_EXPORT_PRIVATE Tagged< UnionOf< Smi, String > > FunctionName() const
static const int kFunctionNameEntries
int ContextHeaderLength() const
static const int kModuleVariableEntryLength
bool IsWrappedFunctionScope() const
int UniqueIdInScript() const
static constexpr int OffsetOfElementAt(int index)
bool SloppyEvalCanExtendVars() const
bool IsDebugEvaluateScope() const
static V8_EXPORT_PRIVATE DirectHandle< ScopeInfo > CreateForEmptyFunction(Isolate *isolate)
int ContextLength() const
bool HasSavedClassVariable() const
int InlinedLocalNamesLookup(Tagged< String > name)
IsStaticFlag ContextLocalIsStaticFlag(int var) const
std::pair< Tagged< String >, int > SavedClassVariable() const
static V8_EXPORT_PRIVATE DirectHandle< ScopeInfo > CreateForWithScope(Isolate *isolate, MaybeDirectHandle< ScopeInfo > outer_scope)
int StartPosition() const
static DirectHandle< ScopeInfo > CreateForNativeContext(Isolate *isolate)
int ModuleVariablesIndex() const
int FunctionVariableInfoIndex() const
int ModuleVariableCountIndex() const
V8_EXPORT_PRIVATE bool HasInferredFunctionName() const
InitializationFlag ContextLocalInitFlag(int var) const
V8_EXPORT_PRIVATE bool HasSharedFunctionName() const
bool is_script_scope() const
void SetIsDebugEvaluateScope()
static constexpr int ConvertOffsetToIndex(int offset)
int ContextLocalCount() const
int SavedClassVariableInfoIndex() const
int ReceiverContextSlotIndex() const
void SetPositionInfo(int start, int end)
bool HasInlinedLocalNames() const
int OuterScopeInfoIndex() const
MaybeAssignedFlag ContextLocalMaybeAssignedFlag(int var) const
Tagged< String > FunctionDebugName() const
static V8_EXPORT_PRIVATE Tagged< ScopeInfo > Empty(Isolate *isolate)
VariableMode ContextLocalMode(int var) const
V8_EXPORT_PRIVATE int length() const
static Handle< ScopeInfo > Create(IsolateT *isolate, Zone *zone, Scope *scope, MaybeDirectHandle< ScopeInfo > outer_scope)
bool ContextLocalIsParameter(int var) const
Tagged< ScopeInfo > OuterScopeInfo() const
int ModuleVariableCount() const
static bool VariableIsSynthetic(Tagged< String > name)
int ModuleInfoIndex() const
int ContextLocalCount() const
bool HasContextExtensionSlot() const
int num_heap_slots() const
bool private_name_lookup_skips_outer_class() const
DeclarationScope * AsDeclarationScope()
bool IsConstructorScope() const
ClassScope * AsClassScope()
base::ThreadedList< Variable > * locals()
bool is_script_scope() const
int ContextHeaderLength() const
ModuleScope * AsModuleScope()
bool is_debug_evaluate_scope() const
bool is_class_scope() const
bool is_eval_scope() const
bool is_function_scope() const
ScopeType scope_type() const
bool is_wrapped_function() const
LanguageMode language_mode() const
int start_position() const
bool is_module_scope() const
bool ForceContextForLanguageMode() const
bool is_declaration_scope() const
static V8_EXPORT_PRIVATE constexpr Tagged< Smi > const kNoSharedNameSentinel
static constexpr int ToInt(const Tagged< Object > object)
static constexpr Tagged< Smi > FromInt(int value)
static constexpr Tagged< Smi > zero()
DirectHandle< FixedArray > SerializeRegularExports(IsolateT *isolate, Zone *zone) const
const ModuleRequestMap & module_requests() const
const RegularImportMap & regular_imports() const
const ZoneVector< const Entry * > & namespace_imports() const
const ZoneVector< const Entry * > & special_exports() const
static Handle< SourceTextModuleInfoEntry > New(IsolateT *isolate, DirectHandle< UnionOf< String, Undefined > > export_name, DirectHandle< UnionOf< String, Undefined > > local_name, DirectHandle< UnionOf< String, Undefined > > import_name, int module_request, int cell_index, int beg_pos, int end_pos)
Tagged< FixedArray > regular_imports() const
Tagged< FixedArray > special_exports() const
int RegularExportCount() const
Tagged< FixedArray > namespace_imports() const
Tagged< String > RegularExportLocalName(int i) const
Tagged< FixedArray > module_requests() const
int RegularExportCellIndex(int i) const
static DirectHandle< SourceTextModuleInfo > New(IsolateT *isolate, Zone *zone, SourceTextModuleDescriptor *descr)
Tagged< FixedArray > RegularExportExportNames(int i) const
@ kRegularExportLocalNameOffset
@ kRegularExportCellIndexOffset
@ kRegularExportExportNamesOffset
Tagged< FixedArray > regular_exports() const
Tagged< ElementT > get(int index) const
static PtrType Relaxed_Load(Tagged< HeapObject > host, int offset=0)
VariableLocation location() const
bool IsStackLocal() const
bool IsContextSlot() const
Handle< String > name() const
#define EXPORT_TEMPLATE_DEFINE(export)
ZoneVector< RpoNumber > & result
V8_INLINE size_t hash_combine(size_t seed, size_t hash)
constexpr int kTaggedSize
bool is_sloppy(LanguageMode language_mode)
ReadOnlyRoots GetReadOnlyRoots()
V8_INLINE constexpr bool IsSmi(TaggedImpl< kRefType, StorageType > obj)
constexpr int kScopeInfoMaxInlinedLocalNamesSize
std::ostream & operator<<(std::ostream &os, AtomicMemoryOrder order)
V8_INLINE PtrComprCageBase GetPtrComprCageBase()
typename detail::FlattenUnionHelper< Union<>, Ts... >::type UnionOf
refactor address components for immediate indexing make OptimizeMaglevOnNextCall optimize to turbofan instead of maglev filter for tracing turbofan compilation nullptr
bool IsDefaultConstructor(FunctionKind kind)
Tagged< To > Cast(Tagged< From > value, const v8::SourceLocation &loc=INIT_SOURCE_LOCATION_IN_DEBUG)
static constexpr RelaxedLoadTag kRelaxedLoad
static constexpr RelaxedStoreTag kRelaxedStore
#define CONDITIONAL_WRITE_BARRIER(object, offset, value, mode)
#define RELAXED_WRITE_FIELD(p, offset, value)
#define DCHECK_LE(v1, v2)
#define DCHECK_NOT_NULL(val)
#define DCHECK_IMPLIES(v1, v2)
#define DCHECK_NE(v1, v2)
#define DCHECK_GE(v1, v2)
#define DCHECK(condition)
#define DCHECK_LT(v1, v2)
#define DCHECK_EQ(v1, v2)
#define V8_EXPORT_PRIVATE
MaybeAssignedFlag maybe_assigned_flag
InitializationFlag init_flag
IsStaticFlag is_static_flag