| Index: src/objects-visiting.h
|
| diff --git a/src/objects-visiting.h b/src/objects-visiting.h
|
| index 40f36b8b2f010d65f1ef24b34ddfe15f193e0c57..1ba0f3ba1bb6e5d7ee1a9a956b6e7e0b2cb936d8 100644
|
| --- a/src/objects-visiting.h
|
| +++ b/src/objects-visiting.h
|
| @@ -362,6 +362,7 @@ VisitorDispatchTable<typename StaticNewSpaceVisitor<StaticVisitor>::Callback>
|
| void Code::CodeIterateBody(ObjectVisitor* v) {
|
| int mode_mask = RelocInfo::kCodeTargetMask |
|
| RelocInfo::ModeMask(RelocInfo::EMBEDDED_OBJECT) |
|
| + RelocInfo::ModeMask(RelocInfo::GLOBAL_PROPERTY_CELL) |
|
| RelocInfo::ModeMask(RelocInfo::EXTERNAL_REFERENCE) |
|
| RelocInfo::ModeMask(RelocInfo::JS_RETURN) |
|
| RelocInfo::ModeMask(RelocInfo::DEBUG_BREAK_SLOT) |
|
| @@ -371,9 +372,8 @@ void Code::CodeIterateBody(ObjectVisitor* v) {
|
| // the heap compaction in the next statement.
|
| RelocIterator it(this, mode_mask);
|
|
|
| - IteratePointers(v,
|
| - kRelocationInfoOffset,
|
| - kRelocationInfoOffset + kPointerSize);
|
| + IteratePointer(v, kRelocationInfoOffset);
|
| + IteratePointer(v, kDeoptimizationDataOffset);
|
|
|
| for (; !it.done(); it.next()) {
|
| it.rinfo()->Visit(v);
|
| @@ -385,6 +385,7 @@ template<typename StaticVisitor>
|
| void Code::CodeIterateBody(Heap* heap) {
|
| int mode_mask = RelocInfo::kCodeTargetMask |
|
| RelocInfo::ModeMask(RelocInfo::EMBEDDED_OBJECT) |
|
| + RelocInfo::ModeMask(RelocInfo::GLOBAL_PROPERTY_CELL) |
|
| RelocInfo::ModeMask(RelocInfo::EXTERNAL_REFERENCE) |
|
| RelocInfo::ModeMask(RelocInfo::JS_RETURN) |
|
| RelocInfo::ModeMask(RelocInfo::DEBUG_BREAK_SLOT) |
|
| @@ -397,6 +398,9 @@ void Code::CodeIterateBody(Heap* heap) {
|
| StaticVisitor::VisitPointer(
|
| heap,
|
| reinterpret_cast<Object**>(this->address() + kRelocationInfoOffset));
|
| + StaticVisitor::VisitPointer(
|
| + heap,
|
| + reinterpret_cast<Object**>(this->address() + kDeoptimizationDataOffset));
|
|
|
| for (; !it.done(); it.next()) {
|
| it.rinfo()->template Visit<StaticVisitor>(heap);
|
|
|