summaryrefslogtreecommitdiff
path: root/deps/v8/src/codegen/compiler.h
diff options
context:
space:
mode:
authorMichaël Zasso <targos@protonmail.com>2021-09-17 14:34:02 +0200
committerMichaël Zasso <targos@protonmail.com>2021-10-02 08:40:27 +0200
commit4f722915218862b108c90371503d26a3fe89f4c9 (patch)
treecd1577faff9acc20eb8e4a0e2d6ed1856bf308fd /deps/v8/src/codegen/compiler.h
parent606bb521591a29df5401732bfbd19c1e31239ed9 (diff)
downloadnode-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.h49
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