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(); } |