#ifdef ENABLE_WASM_COMPONENTS using SharedModuleOrComponent =
mozilla::Maybe<mozilla::Variant<SharedModule, SharedComponent>>; #endif
// Return a uint32_t which captures the observed properties of the CPU that // affect compilation. If code compiled now is to be serialized and executed // later, the ObservedCPUFeatures() must be ensured to be the same.
uint32_t ObservedCPUFeatures();
// Return the estimated compiled (machine) code size for the given bytecode size // compiled at the given tier. double EstimateCompiledCodeSize(Tier tier, size_t bytecodeSize);
// Compile the given WebAssembly bytecode with the given arguments into a // wasm::Module. On success, the Module is returned. On failure, the returned // SharedModule pointer is null and either: // - *error points to a string description of the error // - *error is null and the caller should report out-of-memory.
SharedModule CompileModule(const CompileArgs& args, const BytecodeBufferOrSource& bytecode,
UniqueChars* error, UniqueCharsVector* warnings,
JS::OptimizedEncodingListener* listener = nullptr);
// Attempt to compile the second tier of the given wasm::Module. bool CompileCompleteTier2(const ShareableBytes* codeSection, const Module& module, UniqueChars* error,
UniqueCharsVector* warnings,
mozilla::Atomic<bool>* cancelled);
// Attempt to compile the second tier for the given functions of a wasm::Module. bool CompilePartialTier2(const Code& code, uint32_t funcIndex,
UniqueChars* error, UniqueCharsVector* warnings,
mozilla::Atomic<bool>* cancelled);
// Compile the given WebAssembly module which has been broken into three // partitions: // - envBytes contains a complete ModuleMetadata that has already been // copied in from the stream. // - codeBytes is pre-sized to hold the complete code section when the stream // completes. // - The range [codeBytes.begin(), codeBytesEnd) contains the bytes currently // read from the stream and codeBytesEnd will advance until either // the stream is cancelled or codeBytesEnd == codeBytes.end(). // - streamEnd contains the final information received after the code section: // the remaining module bytecodes and maybe a JS::OptimizedEncodingListener. // When the stream is successfully closed, streamEnd.reached is set. // The ExclusiveWaitableData are notified when CompileStreaming() can make // progress (i.e., codeBytesEnd advances or streamEnd.reached is set). // If cancelled is set to true, compilation aborts and returns null. After // cancellation is set, both ExclusiveWaitableData will be notified and so every // wait() loop must check cancelled. using ExclusiveBytesPtr = ExclusiveWaitableData<const uint8_t*>;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.