src: mark generated snapshot_data
as const
This renders the mutex protecting it unnecessary, since mutexes only need to protect concurrent accesses to mutable data. PR-URL: https://github.com/nodejs/node/pull/45786 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By: Minwoo Jung <nodecorelab@gmail.com>
This commit is contained in:
parent
2ec418984b
commit
94d23f5ec0
@ -32,8 +32,6 @@ class NODE_EXTERN_PRIVATE SnapshotBuilder {
|
|||||||
v8::Isolate::CreateParams* params);
|
v8::Isolate::CreateParams* params);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// Used to synchronize access to the snapshot data
|
|
||||||
static Mutex snapshot_data_mutex_;
|
|
||||||
static const std::vector<intptr_t>& CollectExternalReferences();
|
static const std::vector<intptr_t>& CollectExternalReferences();
|
||||||
|
|
||||||
static std::unique_ptr<ExternalReferenceRegistry> registry_;
|
static std::unique_ptr<ExternalReferenceRegistry> registry_;
|
||||||
|
@ -978,7 +978,7 @@ static void WriteCodeCacheInitializer(std::ostream* ss, const std::string& id) {
|
|||||||
*ss << " },\n";
|
*ss << " },\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
void FormatBlob(std::ostream& ss, SnapshotData* data) {
|
void FormatBlob(std::ostream& ss, const SnapshotData* data) {
|
||||||
ss << R"(#include <cstddef>
|
ss << R"(#include <cstddef>
|
||||||
#include "env.h"
|
#include "env.h"
|
||||||
#include "node_snapshot_builder.h"
|
#include "node_snapshot_builder.h"
|
||||||
@ -1004,7 +1004,7 @@ static const int v8_snapshot_blob_size = )"
|
|||||||
WriteStaticCodeCacheData(&ss, item);
|
WriteStaticCodeCacheData(&ss, item);
|
||||||
}
|
}
|
||||||
|
|
||||||
ss << R"(SnapshotData snapshot_data {
|
ss << R"(const SnapshotData snapshot_data {
|
||||||
// -- data_ownership begins --
|
// -- data_ownership begins --
|
||||||
SnapshotData::DataOwnership::kNotOwned,
|
SnapshotData::DataOwnership::kNotOwned,
|
||||||
// -- data_ownership ends --
|
// -- data_ownership ends --
|
||||||
@ -1036,7 +1036,6 @@ static const int v8_snapshot_blob_size = )"
|
|||||||
};
|
};
|
||||||
|
|
||||||
const SnapshotData* SnapshotBuilder::GetEmbeddedSnapshotData() {
|
const SnapshotData* SnapshotBuilder::GetEmbeddedSnapshotData() {
|
||||||
Mutex::ScopedLock lock(snapshot_data_mutex_);
|
|
||||||
return &snapshot_data;
|
return &snapshot_data;
|
||||||
}
|
}
|
||||||
} // namespace node
|
} // namespace node
|
||||||
@ -1053,8 +1052,6 @@ static void ResetContextSettingsBeforeSnapshot(Local<Context> context) {
|
|||||||
context->AllowCodeGenerationFromStrings(true);
|
context->AllowCodeGenerationFromStrings(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
Mutex SnapshotBuilder::snapshot_data_mutex_;
|
|
||||||
|
|
||||||
const std::vector<intptr_t>& SnapshotBuilder::CollectExternalReferences() {
|
const std::vector<intptr_t>& SnapshotBuilder::CollectExternalReferences() {
|
||||||
static auto registry = std::make_unique<ExternalReferenceRegistry>();
|
static auto registry = std::make_unique<ExternalReferenceRegistry>();
|
||||||
return registry->external_references();
|
return registry->external_references();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user