Index: src/mark-compact.cc |
diff --git a/src/mark-compact.cc b/src/mark-compact.cc |
index 3636aa6fb5643e779679289d8b17e1b7c2ef50af..bda94f4febb609e91f64c3d79181e755782af895 100644 |
--- a/src/mark-compact.cc |
+++ b/src/mark-compact.cc |
@@ -2368,9 +2368,9 @@ void MarkCompactCollector::ClearNonLivePrototypeTransitions(Map* map) { |
void MarkCompactCollector::ClearNonLiveMapTransitions(Map* map, |
MarkBit map_mark) { |
// Follow the chain of back pointers to find the prototype. |
- Map* real_prototype = map; |
+ Object* real_prototype = map; |
while (real_prototype->IsMap()) { |
- real_prototype = reinterpret_cast<Map*>(real_prototype->prototype()); |
+ real_prototype = Map::cast(real_prototype)->prototype(); |
ASSERT(real_prototype->IsHeapObject()); |
} |