-
Notifications
You must be signed in to change notification settings - Fork 30.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
bootstrap: move embedded snapshot to SnapshotBuilder
So that the embedded snapshot can be reused by the worker. PR-URL: #42702 Refs: #35711 Reviewed-By: Chengzhong Wu <legendecas@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: James M Snell <jasnell@gmail.com>
- Loading branch information
1 parent
cc90d11
commit 27bed94
Showing
10 changed files
with
78 additions
and
44 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
|
||
#ifndef SRC_NODE_SNAPSHOT_BUILDER_H_ | ||
#define SRC_NODE_SNAPSHOT_BUILDER_H_ | ||
|
||
#if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS | ||
|
||
#include <cstdint> | ||
#include "node_mutex.h" | ||
#include "v8.h" | ||
|
||
namespace node { | ||
|
||
class ExternalReferenceRegistry; | ||
struct SnapshotData; | ||
|
||
class SnapshotBuilder { | ||
public: | ||
static std::string Generate(const std::vector<std::string> args, | ||
const std::vector<std::string> exec_args); | ||
|
||
// Generate the snapshot into out. | ||
static void Generate(SnapshotData* out, | ||
const std::vector<std::string> args, | ||
const std::vector<std::string> exec_args); | ||
|
||
// If nullptr is returned, the binary is not built with embedded | ||
// snapshot. | ||
static const SnapshotData* GetEmbeddedSnapshotData(); | ||
static void InitializeIsolateParams(const SnapshotData* data, | ||
v8::Isolate::CreateParams* params); | ||
|
||
private: | ||
// Used to synchronize access to the snapshot data | ||
static Mutex snapshot_data_mutex_; | ||
static const std::vector<intptr_t>& CollectExternalReferences(); | ||
|
||
static std::unique_ptr<ExternalReferenceRegistry> registry_; | ||
}; | ||
} // namespace node | ||
|
||
#endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS | ||
|
||
#endif // SRC_NODE_SNAPSHOT_BUILDER_H_ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters