diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 01:13:27 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 01:13:27 +0000 |
commit | 40a355a42d4a9444dc753c04c6608dade2f06a23 (patch) | |
tree | 871fc667d2de662f171103ce5ec067014ef85e61 /js/public/experimental | |
parent | Adding upstream version 124.0.1. (diff) | |
download | firefox-40a355a42d4a9444dc753c04c6608dade2f06a23.tar.xz firefox-40a355a42d4a9444dc753c04c6608dade2f06a23.zip |
Adding upstream version 125.0.1.upstream/125.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'js/public/experimental')
-rw-r--r-- | js/public/experimental/CompileScript.h | 58 | ||||
-rw-r--r-- | js/public/experimental/JSStencil.h | 4 |
2 files changed, 5 insertions, 57 deletions
diff --git a/js/public/experimental/CompileScript.h b/js/public/experimental/CompileScript.h index 308a5848d9..ebb87e6227 100644 --- a/js/public/experimental/CompileScript.h +++ b/js/public/experimental/CompileScript.h @@ -105,71 +105,21 @@ JS_PUBLIC_API const JSErrorReport* GetFrontendWarningAt( JS::FrontendContext* fc, size_t index, const JS::ReadOnlyCompileOptions& options); -// Temporary storage used during compiling and preparing to instantiate a -// Stencil. -// -// Off-thread consumers can allocate this instance off main thread, and pass it -// back to the main thread, in order to reduce the main thread allocation. -struct CompilationStorage { - private: - // Owned CompilationInput. - // - // This uses raw pointer instead of UniquePtr because CompilationInput - // is opaque. - JS_HAZ_NON_GC_POINTER js::frontend::CompilationInput* input_ = nullptr; - bool isBorrowed_ = false; - - public: - CompilationStorage() = default; - explicit CompilationStorage(js::frontend::CompilationInput* input) - : input_(input), isBorrowed_(true) {} - CompilationStorage(CompilationStorage&& other) - : input_(other.input_), isBorrowed_(other.isBorrowed_) { - other.input_ = nullptr; - } - - ~CompilationStorage(); - - private: - CompilationStorage(const CompilationStorage& other) = delete; - void operator=(const CompilationStorage& aOther) = delete; - - public: - bool hasInput() { return !!input_; } - - // Internal function that initializes the CompilationInput. It should only be - // called once. - bool allocateInput(FrontendContext* fc, - const JS::ReadOnlyCompileOptions& options); - - js::frontend::CompilationInput& getInput() { - MOZ_ASSERT(hasInput()); - return *input_; - } - - // Size of dynamic data. Note that GC data is counted by GC and not here. - size_t sizeOfIncludingThis(mozilla::MallocSizeOf mallocSizeOf) const; - - void trace(JSTracer* trc); -}; - extern JS_PUBLIC_API already_AddRefed<JS::Stencil> CompileGlobalScriptToStencil( JS::FrontendContext* fc, const JS::ReadOnlyCompileOptions& options, - JS::SourceText<mozilla::Utf8Unit>& srcBuf, - JS::CompilationStorage& compileStorage); + JS::SourceText<mozilla::Utf8Unit>& srcBuf); extern JS_PUBLIC_API already_AddRefed<JS::Stencil> CompileGlobalScriptToStencil( JS::FrontendContext* fc, const JS::ReadOnlyCompileOptions& options, - JS::SourceText<char16_t>& srcBuf, JS::CompilationStorage& compileStorage); + JS::SourceText<char16_t>& srcBuf); extern JS_PUBLIC_API already_AddRefed<JS::Stencil> CompileModuleScriptToStencil( JS::FrontendContext* fc, const JS::ReadOnlyCompileOptions& options, - JS::SourceText<mozilla::Utf8Unit>& srcBuf, - JS::CompilationStorage& compileStorage); + JS::SourceText<mozilla::Utf8Unit>& srcBuf); extern JS_PUBLIC_API already_AddRefed<JS::Stencil> CompileModuleScriptToStencil( JS::FrontendContext* fc, const JS::ReadOnlyCompileOptions& options, - JS::SourceText<char16_t>& srcBuf, JS::CompilationStorage& compileStorage); + JS::SourceText<char16_t>& srcBuf); extern JS_PUBLIC_API bool PrepareForInstantiate( JS::FrontendContext* fc, JS::Stencil& stencil, diff --git a/js/public/experimental/JSStencil.h b/js/public/experimental/JSStencil.h index 8a79687898..780c3e1c62 100644 --- a/js/public/experimental/JSStencil.h +++ b/js/public/experimental/JSStencil.h @@ -47,8 +47,6 @@ struct PreallocatedCompilationGCOutput; namespace JS { -struct CompilationStorage; - using Stencil = js::frontend::CompilationStencil; using FrontendContext = js::FrontendContext; @@ -56,7 +54,7 @@ using FrontendContext = js::FrontendContext; // // Off-thread APIs can allocate this instance off main thread, and pass it back // to the main thread, in order to reduce the main thread allocation. -struct InstantiationStorage { +struct JS_PUBLIC_API InstantiationStorage { private: // Owned CompilationGCOutput. // |