OLD | NEW |
1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef V8_OBJECTS_BODY_DESCRIPTORS_INL_H_ | 5 #ifndef V8_OBJECTS_BODY_DESCRIPTORS_INL_H_ |
6 #define V8_OBJECTS_BODY_DESCRIPTORS_INL_H_ | 6 #define V8_OBJECTS_BODY_DESCRIPTORS_INL_H_ |
7 | 7 |
8 #include "src/objects-body-descriptors.h" | 8 #include "src/objects-body-descriptors.h" |
9 | 9 |
10 namespace v8 { | 10 namespace v8 { |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
69 if (helper.IsTagged(offset, end_offset, &end_of_region_offset)) { | 69 if (helper.IsTagged(offset, end_offset, &end_of_region_offset)) { |
70 IteratePointers<StaticVisitor>(heap, obj, offset, end_of_region_offset); | 70 IteratePointers<StaticVisitor>(heap, obj, offset, end_of_region_offset); |
71 } | 71 } |
72 offset = end_of_region_offset; | 72 offset = end_of_region_offset; |
73 } | 73 } |
74 } | 74 } |
75 } | 75 } |
76 | 76 |
77 | 77 |
78 template <typename ObjectVisitor> | 78 template <typename ObjectVisitor> |
| 79 DISABLE_CFI_PERF |
79 void BodyDescriptorBase::IteratePointers(HeapObject* obj, int start_offset, | 80 void BodyDescriptorBase::IteratePointers(HeapObject* obj, int start_offset, |
80 int end_offset, ObjectVisitor* v) { | 81 int end_offset, ObjectVisitor* v) { |
81 v->VisitPointers(HeapObject::RawField(obj, start_offset), | 82 v->VisitPointers(HeapObject::RawField(obj, start_offset), |
82 HeapObject::RawField(obj, end_offset)); | 83 HeapObject::RawField(obj, end_offset)); |
83 } | 84 } |
84 | 85 |
85 | 86 |
86 template <typename StaticVisitor> | 87 template <typename StaticVisitor> |
| 88 DISABLE_CFI_PERF |
87 void BodyDescriptorBase::IteratePointers(Heap* heap, HeapObject* obj, | 89 void BodyDescriptorBase::IteratePointers(Heap* heap, HeapObject* obj, |
88 int start_offset, int end_offset) { | 90 int start_offset, int end_offset) { |
89 StaticVisitor::VisitPointers(heap, obj, | 91 StaticVisitor::VisitPointers(heap, obj, |
90 HeapObject::RawField(obj, start_offset), | 92 HeapObject::RawField(obj, start_offset), |
91 HeapObject::RawField(obj, end_offset)); | 93 HeapObject::RawField(obj, end_offset)); |
92 } | 94 } |
93 | 95 |
94 | 96 |
95 template <typename ObjectVisitor> | 97 template <typename ObjectVisitor> |
96 void BodyDescriptorBase::IteratePointer(HeapObject* obj, int offset, | 98 void BodyDescriptorBase::IteratePointer(HeapObject* obj, int offset, |
(...skipping 469 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
566 | 568 |
567 template <typename ObjectVisitor> | 569 template <typename ObjectVisitor> |
568 void HeapObject::IterateBodyFast(InstanceType type, int object_size, | 570 void HeapObject::IterateBodyFast(InstanceType type, int object_size, |
569 ObjectVisitor* v) { | 571 ObjectVisitor* v) { |
570 BodyDescriptorApply<CallIterateBody, void>(type, this, object_size, v); | 572 BodyDescriptorApply<CallIterateBody, void>(type, this, object_size, v); |
571 } | 573 } |
572 } // namespace internal | 574 } // namespace internal |
573 } // namespace v8 | 575 } // namespace v8 |
574 | 576 |
575 #endif // V8_OBJECTS_BODY_DESCRIPTORS_INL_H_ | 577 #endif // V8_OBJECTS_BODY_DESCRIPTORS_INL_H_ |
OLD | NEW |