Index: src/mark-compact.cc |
diff --git a/src/mark-compact.cc b/src/mark-compact.cc |
index 4b0f7e232c5fd91a0f439cfff9fd63661ceafa11..4fc9fdba5e974a8c43fa9c4f1872cbc93f01ca1d 100644 |
--- a/src/mark-compact.cc |
+++ b/src/mark-compact.cc |
@@ -841,6 +841,12 @@ class StaticMarkingVisitor : public StaticVisitorBase { |
heap->mark_compact_collector()->MarkObject(cell, mark); |
} |
+ static inline void VisitEmbeddedPointer(Heap* heap, Code* host, Object** p) { |
+ MarkObjectByPointer(heap->mark_compact_collector(), |
+ reinterpret_cast<Object**>(host), |
+ p); |
+ } |
+ |
static inline void VisitCodeTarget(Heap* heap, RelocInfo* rinfo) { |
ASSERT(RelocInfo::IsCodeTarget(rinfo->rmode())); |
Code* target = Code::GetCodeFromTargetAddress(rinfo->target_address()); |
@@ -2441,6 +2447,10 @@ class PointersUpdatingVisitor: public ObjectVisitor { |
for (Object** p = start; p < end; p++) UpdatePointer(p); |
} |
+ void VisitEmbeddedPointer(Code* host, Object** p) { |
+ UpdatePointer(p); |
+ } |
+ |
void VisitCodeTarget(RelocInfo* rinfo) { |
ASSERT(RelocInfo::IsCodeTarget(rinfo->rmode())); |
Object* target = Code::GetCodeFromTargetAddress(rinfo->target_address()); |