5#ifndef V8_OBJECTS_SOURCE_TEXT_MODULE_H_
6#define V8_OBJECTS_SOURCE_TEXT_MODULE_H_
13#include "torque-generated/bit-fields.h"
21class UnorderedModuleSet;
22class StructBodyDescriptor;
24#include "torque-generated/src/objects/source-text-module-tq.inc"
29 :
public TorqueGeneratedSourceTextModule<SourceTextModule, Module> {
90 std::pair<DirectHandleVector<SourceTextModule>,
126 DEFINE_TORQUE_GENERATED_SOURCE_TEXT_MODULE_FLAGS()
166 bool must_resolve, ResolveSet* resolve_set);
176 v8::
Module::ResolveModuleCallback module_callback,
177 v8::
Module::ResolveSourceCallback source_callback);
241 template <
typename IsolateT>
252 int RegularExportCount()
const;
254 int RegularExportCellIndex(
int i)
const;
260 template <
typename Impl>
280 :
public TorqueGeneratedModuleRequest<ModuleRequest, Struct> {
285 template <
typename IsolateT>
294 static const size_t kAttributeEntrySize = 3;
297 DEFINE_TORQUE_GENERATED_MODULE_REQUEST_FLAGS()
298 static_assert(PositionBits::kMax >=
String::kMaxLength,
299 "
String::kMaxLength should fit in PositionBits::kMax");
315 template <
typename IsolateT>
320 int cell_index,
int beg_pos,
int end_pos);
static NEVER_READ_ONLY_SPACE Handle< ModuleRequest > New(IsolateT *isolate, DirectHandle< String > specifier, ModuleImportPhase phase, DirectHandle< FixedArray > import_attributes, int position)
FixedBodyDescriptor< kExportsOffset, kHeaderSize, kHeaderSize > BodyDescriptor
@ kRegularExportLocalNameOffset
@ kRegularExportCellIndexOffset
@ kRegularExportExportNamesOffset
Tagged< Script > GetScript() const
static V8_WARN_UNUSED_RESULT MaybeDirectHandle< Object > InnerExecuteAsyncModule(Isolate *isolate, DirectHandle< SourceTextModule > module, DirectHandle< JSPromise > capability)
static void CreateExport(Isolate *isolate, DirectHandle< SourceTextModule > module, int cell_index, DirectHandle< FixedArray > names)
static V8_WARN_UNUSED_RESULT bool MaybeTransitionComponent(Isolate *isolate, DirectHandle< SourceTextModule > module, ZoneForwardList< Handle< SourceTextModule > > *stack, Status new_status)
static V8_WARN_UNUSED_RESULT MaybeDirectHandle< Object > Evaluate(Isolate *isolate, Handle< SourceTextModule > module)
static void CreateIndirectExport(Isolate *isolate, DirectHandle< SourceTextModule > module, DirectHandle< String > name, DirectHandle< SourceTextModuleInfoEntry > entry)
static void AddAsyncParentModule(Isolate *isolate, DirectHandle< SourceTextModule > module, DirectHandle< SourceTextModule > parent)
Tagged< Cell > GetCell(int cell_index)
static constexpr unsigned kAsyncEvaluateDidFinish
static V8_WARN_UNUSED_RESULT MaybeHandle< Cell > ResolveExportUsingStarExports(Isolate *isolate, DirectHandle< SourceTextModule > module, DirectHandle< String > module_specifier, Handle< String > export_name, MessageLocation loc, bool must_resolve, ResolveSet *resolve_set)
static V8_EXPORT_PRIVATE MaybeHandle< JSObject > GetImportMeta(Isolate *isolate, DirectHandle< SourceTextModule > module)
V8_EXPORT_PRIVATE std::pair< DirectHandleVector< SourceTextModule >, DirectHandleVector< JSMessageObject > > GetStalledTopLevelAwaitMessages(Isolate *isolate)
void IncrementPendingAsyncDependencies()
static DirectHandle< JSModuleNamespace > GetModuleNamespace(Isolate *isolate, DirectHandle< SourceTextModule > module, int module_request)
static V8_WARN_UNUSED_RESULT bool RunInitializationCode(Isolate *isolate, DirectHandle< SourceTextModule > module)
Handle< SourceTextModule > GetAsyncParentModule(Isolate *isolate, int index)
bool HasPendingAsyncDependencies()
static void FetchStarExports(Isolate *isolate, Handle< SourceTextModule > module, Zone *zone, UnorderedModuleSet *visited)
static V8_WARN_UNUSED_RESULT MaybeDirectHandle< Object > InnerModuleEvaluation(Isolate *isolate, Handle< SourceTextModule > module, ZoneForwardList< Handle< SourceTextModule > > *stack, unsigned *dfs_index)
static V8_WARN_UNUSED_RESULT Maybe< bool > ExecuteAsyncModule(Isolate *isolate, DirectHandle< SourceTextModule > module)
bool MaybeHandleEvaluationException(Isolate *isolate, ZoneForwardList< Handle< SourceTextModule > > *stack)
static constexpr unsigned kFirstAsyncEvaluationOrdinal
Handle< SourceTextModule > GetCycleRoot(Isolate *isolate) const
static V8_WARN_UNUSED_RESULT bool PrepareInstantiate(Isolate *isolate, DirectHandle< SourceTextModule > module, v8::Local< v8::Context > context, v8::Module::ResolveModuleCallback module_callback, v8::Module::ResolveSourceCallback source_callback)
bool HasAsyncEvaluationOrdinal() const
static void StoreVariable(DirectHandle< SourceTextModule > module, int cell_index, DirectHandle< Object > value)
static V8_WARN_UNUSED_RESULT MaybeHandle< Cell > ResolveExport(Isolate *isolate, Handle< SourceTextModule > module, DirectHandle< String > module_specifier, Handle< String > export_name, MessageLocation loc, bool must_resolve, ResolveSet *resolve_set)
static V8_WARN_UNUSED_RESULT bool FinishInstantiate(Isolate *isolate, Handle< SourceTextModule > module, ZoneForwardList< Handle< SourceTextModule > > *stack, unsigned *dfs_index, Zone *zone)
static V8_WARN_UNUSED_RESULT MaybeHandle< Cell > ResolveImport(Isolate *isolate, DirectHandle< SourceTextModule > module, Handle< String > name, int module_request_index, MessageLocation loc, bool must_resolve, ResolveSet *resolve_set)
ExecuteAsyncModuleContextSlots
V8_EXPORT_PRIVATE void InnerGetStalledTopLevelAwaitModule(Isolate *isolate, UnorderedModuleSet *visited, DirectHandleVector< SourceTextModule > *result)
static void Reset(Isolate *isolate, DirectHandle< SourceTextModule > module)
static void GatherAvailableAncestors(Isolate *isolate, Zone *zone, Handle< SourceTextModule > start, AvailableAncestorsSet *exec_list)
static V8_WARN_UNUSED_RESULT MaybeDirectHandle< Object > ExecuteModule(Isolate *isolate, DirectHandle< SourceTextModule > module, MaybeDirectHandle< Object > *exception_out)
static void AsyncModuleExecutionRejected(Isolate *isolate, DirectHandle< SourceTextModule > module, DirectHandle< Object > exception)
static Handle< Object > LoadVariable(Isolate *isolate, DirectHandle< SourceTextModule > module, int cell_index)
NEVER_READ_ONLY_SPACE Tagged< SharedFunctionInfo > GetSharedFunctionInfo() const
void DecrementPendingAsyncDependencies()
static int ImportIndex(int cell_index)
int AsyncParentModuleCount()
static Maybe< bool > AsyncModuleExecutionFulfilled(Isolate *isolate, Handle< SourceTextModule > module)
Tagged< SourceTextModuleInfo > info() const
static constexpr unsigned kNotAsyncEvaluated
static int ExportIndex(int cell_index)
MaybeDirectHandle< Object > * exception_out
ZoneVector< RpoNumber > & result
typename detail::FlattenUnionHelper< Union<>, Ts... >::type UnionOf
#define DECL_ACCESSORS(name,...)
#define DECL_VERIFIER(Name)
#define DECL_BOOLEAN_ACCESSORS(name)
#define NEVER_READ_ONLY_SPACE
#define DECL_PRIMITIVE_ACCESSORS(name, type)
#define DECL_PRINTER(Name)
#define TQ_OBJECT_CONSTRUCTORS(Type)
#define V8_EXPORT_PRIVATE
#define V8_WARN_UNUSED_RESULT