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) { |