diff options
author | Michaël Zasso <targos@protonmail.com> | 2021-09-17 14:34:02 +0200 |
---|---|---|
committer | Michaël Zasso <targos@protonmail.com> | 2021-10-02 08:40:27 +0200 |
commit | 4f722915218862b108c90371503d26a3fe89f4c9 (patch) | |
tree | cd1577faff9acc20eb8e4a0e2d6ed1856bf308fd /deps/v8/src/codegen/compiler.h | |
parent | 606bb521591a29df5401732bfbd19c1e31239ed9 (diff) | |
download | node-new-4f722915218862b108c90371503d26a3fe89f4c9.tar.gz |
deps: update V8 to 9.4.146.18
PR-URL: https://github.com/nodejs/node/pull/39945
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Diffstat (limited to 'deps/v8/src/codegen/compiler.h')
-rw-r--r-- | deps/v8/src/codegen/compiler.h | 49 |
1 files changed, 25 insertions, 24 deletions
diff --git a/deps/v8/src/codegen/compiler.h b/deps/v8/src/codegen/compiler.h index 78b5bea7bb..0d1582d872 100644 --- a/deps/v8/src/codegen/compiler.h +++ b/deps/v8/src/codegen/compiler.h @@ -19,6 +19,7 @@ #include "src/objects/debug-objects.h" #include "src/parsing/parse-info.h" #include "src/parsing/pending-compilation-error-handler.h" +#include "src/snapshot/code-serializer.h" #include "src/utils/allocation.h" #include "src/zone/zone.h" @@ -26,6 +27,7 @@ namespace v8 { namespace internal { // Forward declarations. +class AlignedCachedData; class AstRawString; class BackgroundCompileTask; class IsCompiledScope; @@ -35,12 +37,12 @@ class OptimizedCompilationJob; class ParseInfo; class Parser; class RuntimeCallStats; -class ScriptData; -struct ScriptStreamingData; class TimedHistogram; class UnoptimizedCompilationInfo; class UnoptimizedCompilationJob; class WorkerThreadRuntimeCallStats; +struct ScriptDetails; +struct ScriptStreamingData; using UnoptimizedCompilationJobList = std::forward_list<std::unique_ptr<UnoptimizedCompilationJob>>; @@ -130,29 +132,12 @@ class V8_EXPORT_PRIVATE Compiler : public AllStatic { ParseRestriction restriction, int parameters_end_pos, int eval_scope_position, int eval_position); - struct ScriptDetails { - ScriptDetails() - : line_offset(0), column_offset(0), repl_mode(REPLMode::kNo) {} - explicit ScriptDetails(Handle<Object> script_name) - : line_offset(0), - column_offset(0), - name_obj(script_name), - repl_mode(REPLMode::kNo) {} - - int line_offset; - int column_offset; - i::MaybeHandle<i::Object> name_obj; - i::MaybeHandle<i::Object> source_map_url; - i::MaybeHandle<i::FixedArray> host_defined_options; - REPLMode repl_mode; - }; - // Create a function that results from wrapping |source| in a function, // with |arguments| being a list of parameters for that function. V8_WARN_UNUSED_RESULT static MaybeHandle<JSFunction> GetWrappedFunction( Handle<String> source, Handle<FixedArray> arguments, Handle<Context> context, const ScriptDetails& script_details, - ScriptOriginOptions origin_options, ScriptData* cached_data, + AlignedCachedData* cached_data, v8::ScriptCompiler::CompileOptions compile_options, v8::ScriptCompiler::NoCacheReason no_cache_reason); @@ -176,8 +161,8 @@ class V8_EXPORT_PRIVATE Compiler : public AllStatic { // Create a shared function info object for a String source. static MaybeHandle<SharedFunctionInfo> GetSharedFunctionInfoForScript( Isolate* isolate, Handle<String> source, - const ScriptDetails& script_details, ScriptOriginOptions origin_options, - v8::Extension* extension, ScriptData* cached_data, + const ScriptDetails& script_details, v8::Extension* extension, + AlignedCachedData* cached_data, ScriptCompiler::CompileOptions compile_options, ScriptCompiler::NoCacheReason no_cache_reason, NativesFlag is_natives_code); @@ -189,8 +174,7 @@ class V8_EXPORT_PRIVATE Compiler : public AllStatic { // owned by the caller. static MaybeHandle<SharedFunctionInfo> GetSharedFunctionInfoForStreamedScript( Isolate* isolate, Handle<String> source, - const ScriptDetails& script_details, ScriptOriginOptions origin_options, - ScriptStreamingData* streaming_data); + const ScriptDetails& script_details, ScriptStreamingData* streaming_data); // Create a shared function info object for the given function literal // node (the code may be lazily compiled). @@ -576,6 +560,23 @@ struct ScriptStreamingData { std::unique_ptr<BackgroundCompileTask> task; }; +class V8_EXPORT_PRIVATE BackgroundDeserializeTask { + public: + BackgroundDeserializeTask(Isolate* isolate, + std::unique_ptr<ScriptCompiler::CachedData> data); + + void Run(); + + MaybeHandle<SharedFunctionInfo> Finish(Isolate* isolate, + Handle<String> source, + ScriptOriginOptions origin_options); + + private: + Isolate* isolate_for_local_isolate_; + AlignedCachedData cached_data_; + CodeSerializer::OffThreadDeserializeData off_thread_data_; +}; + } // namespace internal } // namespace v8 |