| Index: src/serialize.cc
|
| diff --git a/src/serialize.cc b/src/serialize.cc
|
| index ba7b2a5184825acd41a9b5e9f7619c8aac9aee7b..9a628aab958859c07ccc4c1d67db2f543f99c99e 100644
|
| --- a/src/serialize.cc
|
| +++ b/src/serialize.cc
|
| @@ -1471,6 +1471,16 @@ void Serializer::ObjectSerializer::VisitPointers(Object** start,
|
| }
|
|
|
|
|
| +void Serializer::ObjectSerializer::VisitEmbeddedPointer(RelocInfo* rinfo) {
|
| + Object** current = rinfo->target_object_address();
|
| +
|
| + OutputRawData(rinfo->target_address_address());
|
| + HowToCode representation = rinfo->IsCodedSpecially() ? kFromCode : kPlain;
|
| + serializer_->SerializeObject(*current, representation, kStartOfObject);
|
| + bytes_processed_so_far_ += rinfo->target_address_size();
|
| +}
|
| +
|
| +
|
| void Serializer::ObjectSerializer::VisitExternalReferences(Address* start,
|
| Address* end) {
|
| Address references_start = reinterpret_cast<Address>(start);
|
| @@ -1485,6 +1495,20 @@ void Serializer::ObjectSerializer::VisitExternalReferences(Address* start,
|
| }
|
|
|
|
|
| +void Serializer::ObjectSerializer::VisitExternalReference(RelocInfo* rinfo) {
|
| + Address references_start = rinfo->target_address_address();
|
| + OutputRawData(references_start);
|
| +
|
| + Address* current = rinfo->target_reference_address();
|
| + int representation = rinfo->IsCodedSpecially() ?
|
| + kFromCode + kStartOfObject : kPlain + kStartOfObject;
|
| + sink_->Put(kExternalReference + representation, "ExternalRef");
|
| + int reference_id = serializer_->EncodeExternalReference(*current);
|
| + sink_->PutInt(reference_id, "reference id");
|
| + bytes_processed_so_far_ += rinfo->target_address_size();
|
| +}
|
| +
|
| +
|
| void Serializer::ObjectSerializer::VisitRuntimeEntry(RelocInfo* rinfo) {
|
| Address target_start = rinfo->target_address_address();
|
| OutputRawData(target_start);
|
|
|