| Index: runtime/vm/raw_object_snapshot.cc
|
| diff --git a/runtime/vm/raw_object_snapshot.cc b/runtime/vm/raw_object_snapshot.cc
|
| index 1c317d8ee859fac83d88cbcd11033bf592d2406b..524690df21fe61298c9c159bf3ca9c8887fe8e53 100644
|
| --- a/runtime/vm/raw_object_snapshot.cc
|
| +++ b/runtime/vm/raw_object_snapshot.cc
|
| @@ -719,16 +719,20 @@ RawFunction* Function::ReadFrom(SnapshotReader* reader,
|
| // don't set them until after setting the kind.
|
| const int32_t token_pos = reader->Read<int32_t>();
|
| const int32_t end_token_pos = reader->Read<uint32_t>();
|
| + int32_t kernel_offset = 0;
|
| +#if !defined(DART_PRECOMPILED_RUNTIME)
|
| + kernel_offset = reader->Read<int32_t>();
|
| +#endif
|
| func.set_num_fixed_parameters(reader->Read<int16_t>());
|
| func.set_num_optional_parameters(reader->Read<int16_t>());
|
| func.set_kind_tag(reader->Read<uint32_t>());
|
| func.set_token_pos(TokenPosition::SnapshotDecode(token_pos));
|
| func.set_end_token_pos(TokenPosition::SnapshotDecode(end_token_pos));
|
| + func.set_kernel_offset(kernel_offset);
|
| func.set_usage_counter(reader->Read<int32_t>());
|
| func.set_deoptimization_counter(reader->Read<int8_t>());
|
| func.set_optimized_instruction_count(reader->Read<uint16_t>());
|
| func.set_optimized_call_site_count(reader->Read<uint16_t>());
|
| - func.set_kernel_offset(0);
|
| func.set_was_compiled(false);
|
|
|
| // Set all the object fields.
|
| @@ -788,6 +792,7 @@ void RawFunction::WriteTo(SnapshotWriter* writer,
|
| #if !defined(DART_PRECOMPILED_RUNTIME)
|
| writer->Write<int32_t>(ptr()->token_pos_.SnapshotEncode());
|
| writer->Write<int32_t>(ptr()->end_token_pos_.SnapshotEncode());
|
| + writer->Write<int32_t>(ptr()->kernel_offset_);
|
| #endif
|
| writer->Write<int16_t>(ptr()->num_fixed_parameters_);
|
| writer->Write<int16_t>(ptr()->num_optional_parameters_);
|
| @@ -831,8 +836,10 @@ RawField* Field::ReadFrom(SnapshotReader* reader,
|
| field.set_token_pos(TokenPosition::SnapshotDecode(reader->Read<int32_t>()));
|
| field.set_guarded_cid(reader->Read<int32_t>());
|
| field.set_is_nullable(reader->Read<int32_t>());
|
| +#if !defined(DART_PRECOMPILED_RUNTIME)
|
| + field.set_kernel_offset(reader->Read<int32_t>());
|
| +#endif
|
| field.set_kind_bits(reader->Read<uint8_t>());
|
| - field.set_kernel_offset(0);
|
|
|
| // Set all the object fields.
|
| READ_OBJECT_FIELDS(field, field.raw()->from(), field.raw()->to_snapshot(kind),
|
| @@ -869,6 +876,9 @@ void RawField::WriteTo(SnapshotWriter* writer,
|
| writer->Write<int32_t>(ptr()->token_pos_.SnapshotEncode());
|
| writer->Write<int32_t>(ptr()->guarded_cid_);
|
| writer->Write<int32_t>(ptr()->is_nullable_);
|
| +#if !defined(DART_PRECOMPILED_RUNTIME)
|
| + writer->Write<int32_t>(ptr()->kernel_offset_);
|
| +#endif
|
| writer->Write<uint8_t>(ptr()->kind_bits_);
|
|
|
| // Write out the name.
|
| @@ -1020,6 +1030,8 @@ RawScript* Script::ReadFrom(SnapshotReader* reader,
|
| script.StoreNonPointer(&script.raw_ptr()->col_offset_,
|
| reader->Read<int32_t>());
|
| script.StoreNonPointer(&script.raw_ptr()->kind_, reader->Read<int8_t>());
|
| + script.StoreNonPointer(&script.raw_ptr()->kernel_script_index_,
|
| + reader->Read<int32_t>());
|
|
|
| *reader->StringHandle() ^= String::null();
|
| script.set_source(*reader->StringHandle());
|
| @@ -1061,6 +1073,7 @@ void RawScript::WriteTo(SnapshotWriter* writer,
|
| writer->Write<int32_t>(ptr()->line_offset_);
|
| writer->Write<int32_t>(ptr()->col_offset_);
|
| writer->Write<int8_t>(ptr()->kind_);
|
| + writer->Write<int32_t>(ptr()->kernel_script_index_);
|
|
|
| // Write out all the object pointer fields.
|
| SnapshotWriterVisitor visitor(writer, kAsReference);
|
|
|