blob: 21de10868564d3a517b23132628364e139d14884 [file] [edit]
#include "node_snapshotable.h"
#include "base_object-inl.h"
namespace node {
using v8::Local;
using v8::Object;
using v8::StartupData;
void DeserializeNodeInternalFields(Local<Object> holder,
int index,
v8::StartupData payload,
void* env) {
if (payload.raw_size == 0) {
holder->SetAlignedPointerInInternalField(index, nullptr);
return;
}
// No embedder object in the builtin snapshot yet.
UNREACHABLE();
}
StartupData SerializeNodeContextInternalFields(Local<Object> holder,
int index,
void* env) {
void* ptr = holder->GetAlignedPointerFromInternalField(index);
if (ptr == nullptr || ptr == env) {
return StartupData{nullptr, 0};
}
if (ptr == env && index == ContextEmbedderIndex::kEnvironment) {
return StartupData{nullptr, 0};
}
// No embedder objects in the builtin snapshot yet.
UNREACHABLE();
return StartupData{nullptr, 0};
}
} // namespace node