| Index: src/heap/mark-compact.cc
|
| diff --git a/src/heap/mark-compact.cc b/src/heap/mark-compact.cc
|
| index 646e63402a6eb2c0f949b7b35dcc0bd3aa4b3967..1992652efba947ce633889b02973ab1a5ef72762 100644
|
| --- a/src/heap/mark-compact.cc
|
| +++ b/src/heap/mark-compact.cc
|
| @@ -2695,13 +2695,16 @@ void MarkCompactCollector::MigrateObject(HeapObject* dst, HeapObject* src,
|
| DCHECK(IsAligned(size, kPointerSize));
|
|
|
| heap()->MoveBlock(dst->address(), src->address(), size);
|
| + if (FLAG_ignition && dst->IsBytecodeArray()) {
|
| + PROFILE(isolate(), CodeMoveEvent(AbstractCode::cast(src), dst_addr));
|
| + }
|
| RecordMigratedSlotVisitor visitor(this, evacuation_slots_buffer,
|
| local_store_buffer);
|
| dst->IterateBody(&visitor);
|
| } else if (dest == CODE_SPACE) {
|
| DCHECK_CODEOBJECT_SIZE(size, heap()->code_space());
|
| DCHECK(evacuation_slots_buffer != nullptr);
|
| - PROFILE(isolate(), CodeMoveEvent(src_addr, dst_addr));
|
| + PROFILE(isolate(), CodeMoveEvent(AbstractCode::cast(src), dst_addr));
|
| heap()->MoveBlock(dst_addr, src_addr, size);
|
| RecordMigratedCodeObjectSlot(dst_addr, evacuation_slots_buffer);
|
| Code::cast(dst)->Relocate(dst_addr - src_addr);
|
| @@ -3999,18 +4002,6 @@ void MarkCompactCollector::ParallelSweepSpacesComplete() {
|
| sweeping_list(heap()->map_space()).clear();
|
| }
|
|
|
| -
|
| -// TODO(1466) ReportDeleteIfNeeded is not called currently.
|
| -// Our profiling tools do not expect intersections between
|
| -// code objects. We should either reenable it or change our tools.
|
| -void MarkCompactCollector::ReportDeleteIfNeeded(HeapObject* obj,
|
| - Isolate* isolate) {
|
| - if (obj->IsCode()) {
|
| - PROFILE(isolate, CodeDeleteEvent(obj->address()));
|
| - }
|
| -}
|
| -
|
| -
|
| Isolate* MarkCompactCollector::isolate() const { return heap_->isolate(); }
|
|
|
|
|
|
|