Lines Matching defs:root
47 using EcmaObjectRangeVisitor = std::function<void(TaggedObject *root, ObjectSlot start, ObjectSlot end,
54 static inline void IterateBody(TaggedObject *root, const EcmaObjectRangeVisitor& visitor)
58 visitor(root, ObjectSlot(ToUintPtr(root)),
59 ObjectSlot(ToUintPtr(root) + hclassEnd), VisitObjectArea::NORMAL);
61 visitor(root, ObjectSlot(ToUintPtr(root) + hclassEnd),
62 ObjectSlot(ToUintPtr(root) + size), VisitObjectArea::RAW_DATA);
73 static inline void IterateBody(TaggedObject *root, const EcmaObjectRangeVisitor& visitor)
77 IterateHClass(root, visitor);
79 IterateBefore(root, visitor);
82 visitor(root, ObjectSlot(ToUintPtr(root) + startOffset),
83 ObjectSlot(ToUintPtr(root) + endOffset), area);
87 IterateAfter(root, visitor);
91 static inline void IterateRefBody(TaggedObject *root, const EcmaObjectRangeVisitor& visitor)
93 IterateBody<VisitObjectArea::NORMAL, true>(root, visitor);
96 static inline void IterateNativeBody(TaggedObject *root, const EcmaObjectRangeVisitor& visitor)
98 IterateBody<VisitObjectArea::NATIVE_POINTER, true>(root, visitor);
101 static inline void IterateDerivedRefBody(TaggedObject *root, const EcmaObjectRangeVisitor& visitor)
103 IterateBody<VisitObjectArea::NORMAL, false>(root, visitor);
106 static inline void IterateHClass(TaggedObject *root, const EcmaObjectRangeVisitor& visitor)
109 visitor(root, ObjectSlot(ToUintPtr(root)),
110 ObjectSlot(ToUintPtr(root) + hclassEnd), VisitObjectArea::NORMAL);
113 static inline void IterateBefore(TaggedObject *root, const EcmaObjectRangeVisitor& visitor)
117 IteratorRange(root, visitor, startSize, startOffset);
121 static inline void IterateAfter(TaggedObject *root, const EcmaObjectRangeVisitor& visitor)
124 IteratorRange(root, visitor, endOffset, size);
128 static inline void IteratorRange(TaggedObject *root, const EcmaObjectRangeVisitor& visitor,
131 visitor(root, ObjectSlot(ToUintPtr(root) + start),
132 ObjectSlot(ToUintPtr(root) + end), VisitObjectArea::RAW_DATA);
139 static inline void IterateBody(TaggedObject *root, const EcmaObjectRangeVisitor& visitor,
143 IterateBefore(root, visitor);
147 visitor(root, ObjectSlot(ToUintPtr(root) + startOffset),
148 ObjectSlot(ToUintPtr(root) + endOffset), VisitObjectArea::NORMAL);
151 IterateAfter(root, visitor, refLength, length);
155 static inline void IterateBefore(TaggedObject *root, const EcmaObjectRangeVisitor& visitor)
159 visitor(root, ObjectSlot(ToUintPtr(root)), ObjectSlot(ToUintPtr(root) + hclassEnd), VisitObjectArea::NORMAL);
160 IteratorRange(root, visitor, hclassEnd, startOffset);
163 static inline void IterateAfter(TaggedObject *root, const EcmaObjectRangeVisitor& visitor,
169 IteratorRange(root, visitor, endOffset, size);
173 static inline void IteratorRange(TaggedObject *root, const EcmaObjectRangeVisitor& visitor,
176 visitor(root, ObjectSlot(ToUintPtr(root) + start),
177 ObjectSlot(ToUintPtr(root) + end), VisitObjectArea::RAW_DATA);