| Index: src/mark-compact.cc
|
| ===================================================================
|
| --- src/mark-compact.cc (revision 10216)
|
| +++ src/mark-compact.cc (working copy)
|
| @@ -883,6 +883,8 @@
|
| Code* target = Code::GetCodeFromTargetAddress(rinfo->target_address());
|
| if (FLAG_cleanup_code_caches_at_gc && target->is_inline_cache_stub()) {
|
| IC::Clear(rinfo->pc());
|
| + // Please note targets for cleared inline cached do not have to be
|
| + // marked since they are contained in HEAP->non_monomorphic_cache().
|
| target = Code::GetCodeFromTargetAddress(rinfo->target_address());
|
| } else {
|
| if (FLAG_cleanup_code_caches_at_gc &&
|
| @@ -891,10 +893,9 @@
|
| target->has_function_cache()) {
|
| CallFunctionStub::Clear(heap, rinfo->pc());
|
| }
|
| + MarkBit code_mark = Marking::MarkBitFrom(target);
|
| + heap->mark_compact_collector()->MarkObject(target, code_mark);
|
| }
|
| - MarkBit code_mark = Marking::MarkBitFrom(target);
|
| - heap->mark_compact_collector()->MarkObject(target, code_mark);
|
| -
|
| heap->mark_compact_collector()->RecordRelocSlot(rinfo, target);
|
| }
|
|
|
|
|