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..95632873473a295a253de68f13ce062302289b79 100644 |
| --- a/src/objects-visiting-inl.h |
| +++ b/src/objects-visiting-inl.h |
| @@ -489,16 +489,17 @@ void StaticMarkingVisitor<StaticVisitor>::VisitConstantPoolArray( |
| Map* map, HeapObject* object) { |
| Heap* heap = map->GetHeap(); |
| ConstantPoolArray* constant_pool = ConstantPoolArray::cast(object); |
| - if (constant_pool->count_of_ptr_entries() > 0) { |
| - int first_ptr_offset = constant_pool->OffsetOfElementAt( |
| - constant_pool->first_ptr_index()); |
| - int last_ptr_offset = constant_pool->OffsetOfElementAt( |
| - constant_pool->first_ptr_index() + |
| - constant_pool->count_of_ptr_entries() - 1); |
| - StaticVisitor::VisitPointers( |
| - heap, |
| - HeapObject::RawField(object, first_ptr_offset), |
| - HeapObject::RawField(object, last_ptr_offset)); |
| + for (int i = 0; i < constant_pool->count_of_code_ptr_entries(); i++) { |
| + int offset = constant_pool->OffsetOfElementAt( |
|
Michael Starzinger
2014/03/10 15:00:38
nit: Can we use RawFieldOfElementAt he instead? Th
rmcilroy
2014/03/10 16:55:20
Done.
|
| + constant_pool->first_code_ptr_index() + i); |
| + StaticVisitor::VisitCodeEntry(heap, |
| + reinterpret_cast<Address>(HeapObject::RawField(constant_pool, offset))); |
| + } |
| + for (int i = 0; i < constant_pool->count_of_heap_ptr_entries(); i++) { |
| + int offset = constant_pool->OffsetOfElementAt( |
|
Michael Starzinger
2014/03/10 15:00:38
nit: Can we use RawFieldOfElementAt he instead? Th
rmcilroy
2014/03/10 16:55:20
Done.
|
| + constant_pool->first_heap_ptr_index() + i); |
| + StaticVisitor::VisitPointer(heap, |
| + HeapObject::RawField(constant_pool, offset)); |
| } |
| } |