Chromium Code Reviews| Index: src/objects-visiting-inl.h |
| diff --git a/src/objects-visiting-inl.h b/src/objects-visiting-inl.h |
| index 010f3068a9e3ce1b7e493cb513e3c8df9fef3562..b1b0b391eeffcef81a210d4d612076a2d5caa339 100644 |
| --- a/src/objects-visiting-inl.h |
| +++ b/src/objects-visiting-inl.h |
| @@ -897,7 +897,10 @@ void Code::CodeIterateBody(ObjectVisitor* v) { |
| IteratePointer(v, kRelocationInfoOffset); |
| IteratePointer(v, kHandlerTableOffset); |
| IteratePointer(v, kDeoptimizationDataOffset); |
| - IteratePointer(v, kTypeFeedbackInfoOffset); |
| + if (v->weak_pointer_mode() == VISIT_WEAK_POINTERS || !is_optimized_code()) { |
| + // In optimized code this field is a weak next_code_link. |
| + IteratePointer(v, kTypeFeedbackInfoOffset); |
| + } |
| IteratePointer(v, kConstantPoolOffset); |
| RelocIterator it(this, mode_mask); |
| @@ -929,9 +932,13 @@ void Code::CodeIterateBody(Heap* heap) { |
| StaticVisitor::VisitPointer( |
| heap, |
| reinterpret_cast<Object**>(this->address() + kDeoptimizationDataOffset)); |
| - StaticVisitor::VisitPointer( |
| - heap, |
| - reinterpret_cast<Object**>(this->address() + kTypeFeedbackInfoOffset)); |
| + if (StaticVisitor::weak_pointer_mode() == VISIT_WEAK_POINTERS || |
| + !is_optimized_code()) { |
|
Michael Starzinger
2014/03/04 12:31:12
As discussed offline: AFAICT, currently we can aff
titzer
2014/03/05 08:58:02
+1 unoverlap. I am sorry for overlapping them in t
ulan
2014/03/06 11:13:32
Nope, it is my fault. I remember introducing this
ulan
2014/03/06 11:13:32
Done.
|
| + // In optimized code this field is a weak next_code_link. |
| + StaticVisitor::VisitPointer( |
| + heap, |
| + reinterpret_cast<Object**>(this->address() + kTypeFeedbackInfoOffset)); |
| + } |
| StaticVisitor::VisitPointer( |
| heap, |
| reinterpret_cast<Object**>(this->address() + kConstantPoolOffset)); |