Index: src/snapshot/snapshot-common.cc |
diff --git a/src/snapshot/snapshot-common.cc b/src/snapshot/snapshot-common.cc |
index 06c6eade4be1c3dbb95498c94040ce639da949cc..655563ccd9cafbf7aaf3d43aa5a91601376cec56 100644 |
--- a/src/snapshot/snapshot-common.cc |
+++ b/src/snapshot/snapshot-common.cc |
@@ -86,23 +86,23 @@ MaybeHandle<Context> Snapshot::NewContextFromSnapshot( |
return Handle<Context>::cast(result); |
} |
-void CalculateFirstPageSizes(const SnapshotData& startup_snapshot, |
- const SnapshotData& context_snapshot, |
+void CalculateFirstPageSizes(const SnapshotData* startup_snapshot, |
+ const SnapshotData* context_snapshot, |
uint32_t* sizes_out) { |
Vector<const SerializedData::Reservation> startup_reservations = |
- startup_snapshot.Reservations(); |
+ startup_snapshot->Reservations(); |
Vector<const SerializedData::Reservation> context_reservations = |
- context_snapshot.Reservations(); |
+ context_snapshot->Reservations(); |
int startup_index = 0; |
int context_index = 0; |
if (FLAG_profile_deserialization) { |
int startup_total = 0; |
int context_total = 0; |
- for (auto& reservation : startup_reservations) { |
+ for (const auto& reservation : startup_reservations) { |
startup_total += reservation.chunk_size(); |
} |
- for (auto& reservation : context_reservations) { |
+ for (const auto& reservation : context_reservations) { |
context_total += reservation.chunk_size(); |
} |
PrintF( |
@@ -152,16 +152,17 @@ void CalculateFirstPageSizes(const SnapshotData& startup_snapshot, |
} |
v8::StartupData Snapshot::CreateSnapshotBlob( |
- const i::StartupSerializer& startup_ser, |
- const i::PartialSerializer& context_ser) { |
- SnapshotData startup_snapshot(startup_ser); |
- SnapshotData context_snapshot(context_ser); |
+ const StartupSerializer* startup_serializer, |
+ const PartialSerializer* context_serializer) { |
+ SnapshotData startup_snapshot(startup_serializer); |
+ SnapshotData context_snapshot(context_serializer); |
Vector<const byte> startup_data = startup_snapshot.RawData(); |
Vector<const byte> context_data = context_snapshot.RawData(); |
uint32_t first_page_sizes[kNumPagedSpaces]; |
- CalculateFirstPageSizes(startup_snapshot, context_snapshot, first_page_sizes); |
+ CalculateFirstPageSizes(&startup_snapshot, &context_snapshot, |
+ first_page_sizes); |
int startup_length = startup_data.length(); |
int context_length = context_data.length(); |
@@ -210,32 +211,32 @@ Vector<const byte> Snapshot::ExtractContextData(const v8::StartupData* data) { |
return Vector<const byte>(context_data, context_length); |
} |
-SnapshotData::SnapshotData(const Serializer& ser) { |
+SnapshotData::SnapshotData(const Serializer* serializer) { |
DisallowHeapAllocation no_gc; |
List<Reservation> reservations; |
- ser.EncodeReservations(&reservations); |
- const List<byte>& payload = ser.sink()->data(); |
+ serializer->EncodeReservations(&reservations); |
+ const List<byte>* payload = serializer->sink()->data(); |
// Calculate sizes. |
int reservation_size = reservations.length() * kInt32Size; |
- int size = kHeaderSize + reservation_size + payload.length(); |
+ int size = kHeaderSize + reservation_size + payload->length(); |
// Allocate backing store and create result data. |
AllocateData(size); |
// Set header values. |
- SetMagicNumber(ser.isolate()); |
+ SetMagicNumber(serializer->isolate()); |
SetHeaderValue(kCheckSumOffset, Version::Hash()); |
SetHeaderValue(kNumReservationsOffset, reservations.length()); |
- SetHeaderValue(kPayloadLengthOffset, payload.length()); |
+ SetHeaderValue(kPayloadLengthOffset, payload->length()); |
// Copy reservation chunk sizes. |
CopyBytes(data_ + kHeaderSize, reinterpret_cast<byte*>(reservations.begin()), |
reservation_size); |
// Copy serialized data. |
- CopyBytes(data_ + kHeaderSize + reservation_size, payload.begin(), |
- static_cast<size_t>(payload.length())); |
+ CopyBytes(data_ + kHeaderSize + reservation_size, payload->begin(), |
+ static_cast<size_t>(payload->length())); |
} |
bool SnapshotData::IsSane() { |