Chromium Code Reviews| Index: src/objects.cc |
| diff --git a/src/objects.cc b/src/objects.cc |
| index 1544836fe3bac3c4e796f1abd22d9b1a74874eec..4133f97cae7f79018b2e2eb3e0d6b4c6a031e52d 100644 |
| --- a/src/objects.cc |
| +++ b/src/objects.cc |
| @@ -7399,7 +7399,10 @@ void String::PrintOn(FILE* file) { |
| // Return true in case a back pointer has been cleared and false otherwise. |
| // Set *keep_entry to true when a live map transition has been found. |
| static bool ClearBackPointer(Heap* heap, Object* target, bool* keep_entry) { |
| - if (!target->IsMap()) return false; |
| + if (!target->IsMap()) { |
| + *keep_entry = true; |
|
Michael Starzinger
2012/06/05 09:12:48
I don't think this fix is completely correct, beca
Toon Verwaest
2012/06/05 10:29:16
Done.
|
| + return false; |
| + } |
| Map* map = Map::cast(target); |
| if (Marking::MarkBitFrom(map).Get()) { |
| *keep_entry = true; |