Chromium Code Reviews| Index: src/heap/objects-visiting-inl.h |
| diff --git a/src/heap/objects-visiting-inl.h b/src/heap/objects-visiting-inl.h |
| index b8c255e1f399e5e3889d3026ab53fa83a66ffa90..7d5d943e7804f8f28d064ee821665bfb1bab599e 100644 |
| --- a/src/heap/objects-visiting-inl.h |
| +++ b/src/heap/objects-visiting-inl.h |
| @@ -449,11 +449,11 @@ void StaticMarkingVisitor<StaticVisitor>::VisitSharedFunctionInfo( |
| // optimized code. |
| collector->code_flusher()->AddCandidate(shared); |
| // Treat the reference to the code object weakly. |
| - VisitSharedFunctionInfoWeakCode(heap, object); |
| + VisitSharedFunctionInfoWeakCode(map, object); |
| return; |
| } |
| } |
| - VisitSharedFunctionInfoStrongCode(heap, object); |
| + VisitSharedFunctionInfoStrongCode(map, object); |
| } |
| @@ -621,39 +621,22 @@ bool StaticMarkingVisitor<StaticVisitor>::IsFlushable( |
| return true; |
| } |
| - |
| template <typename StaticVisitor> |
| void StaticMarkingVisitor<StaticVisitor>::VisitSharedFunctionInfoStrongCode( |
| - Heap* heap, HeapObject* object) { |
| - Object** start_slot = HeapObject::RawField( |
| - object, SharedFunctionInfo::BodyDescriptor::kStartOffset); |
| - Object** end_slot = HeapObject::RawField( |
| - object, SharedFunctionInfo::BodyDescriptor::kEndOffset); |
| - StaticVisitor::VisitPointers(heap, object, start_slot, end_slot); |
| + Map* map, HeapObject* object) { |
| + FixedBodyVisitor<StaticVisitor, SharedFunctionInfo::BodyDescriptor, |
| + void>::Visit(map, object); |
| } |
| - |
| template <typename StaticVisitor> |
| void StaticMarkingVisitor<StaticVisitor>::VisitSharedFunctionInfoWeakCode( |
| - Heap* heap, HeapObject* object) { |
| - Object** name_slot = |
| - HeapObject::RawField(object, SharedFunctionInfo::kNameOffset); |
| - StaticVisitor::VisitPointer(heap, object, name_slot); |
| - |
| - // Skip visiting kCodeOffset as it is treated weakly here. |
| - STATIC_ASSERT(SharedFunctionInfo::kNameOffset + kPointerSize == |
| - SharedFunctionInfo::kCodeOffset); |
| - STATIC_ASSERT(SharedFunctionInfo::kCodeOffset + kPointerSize == |
| - SharedFunctionInfo::kOptimizedCodeMapOffset); |
| - |
| - Object** start_slot = |
| - HeapObject::RawField(object, SharedFunctionInfo::kOptimizedCodeMapOffset); |
| - Object** end_slot = HeapObject::RawField( |
| - object, SharedFunctionInfo::BodyDescriptor::kEndOffset); |
| - StaticVisitor::VisitPointers(heap, object, start_slot, end_slot); |
| + Map* map, HeapObject* object) { |
|
Hannes Payer (out of office)
2016/10/05 07:47:09
// Skip visiting kCodeOffset as it is treated weak
Michael Lippautz
2016/10/05 07:48:23
Done.
|
| + STATIC_ASSERT(SharedFunctionInfo::kCodeOffset < |
| + SharedFunctionInfo::BodyDescriptorWeakCode::kStartOffset); |
| + FixedBodyVisitor<StaticVisitor, SharedFunctionInfo::BodyDescriptorWeakCode, |
| + void>::Visit(map, object); |
| } |
| - |
| template <typename StaticVisitor> |
| void StaticMarkingVisitor<StaticVisitor>::VisitJSFunctionStrongCode( |
| Map* map, HeapObject* object) { |