| Index: src/serialize.cc
|
| diff --git a/src/serialize.cc b/src/serialize.cc
|
| index d37ebbe72c9ca6c0a23e096cced976e767b47a75..c26b3b99254da8c65402adb31ccf6cdc5afa2f64 100644
|
| --- a/src/serialize.cc
|
| +++ b/src/serialize.cc
|
| @@ -691,8 +691,14 @@ void Deserializer::ReadObject(int space_number,
|
| ASSERT(size == Map::kSize);
|
| HeapObject* obj = HeapObject::FromAddress(address);
|
| Map* map = reinterpret_cast<Map*>(obj);
|
| - map->set_scavenger(Heap::GetScavenger(map->instance_type(),
|
| - map->instance_size()));
|
| + if (map->instance_type() == MAP_TYPE) {
|
| + // Meta map has Heap pointer instead of scavenger.
|
| + ASSERT(map == map->map());
|
| + map->set_heap(HEAP);
|
| + } else {
|
| + map->set_scavenger(Heap::GetScavenger(map->instance_type(),
|
| + map->instance_size()));
|
| + }
|
| }
|
| }
|
|
|
|
|