28 #ifndef V8_OBJECTS_VISITING_INL_H_
29 #define V8_OBJECTS_VISITING_INL_H_
35 template<
typename StaticVisitor>
37 table_.Register(kVisitShortcutCandidate,
42 table_.Register(kVisitConsString,
47 table_.Register(kVisitSlicedString,
52 table_.Register(kVisitFixedArray,
57 table_.Register(kVisitFixedDoubleArray, &VisitFixedDoubleArray);
59 table_.Register(kVisitGlobalContext,
64 table_.Register(kVisitByteArray, &VisitByteArray);
66 table_.Register(kVisitSharedFunctionInfo,
71 table_.Register(kVisitSeqAsciiString, &VisitSeqAsciiString);
73 table_.Register(kVisitSeqTwoByteString, &VisitSeqTwoByteString);
75 table_.Register(kVisitJSFunction, &VisitJSFunction);
77 table_.Register(kVisitFreeSpace, &VisitFreeSpace);
79 table_.Register(kVisitJSWeakMap, &JSObjectVisitor::Visit);
81 table_.Register(kVisitJSRegExp, &JSObjectVisitor::Visit);
83 table_.template RegisterSpecializations<DataObjectVisitor,
85 kVisitDataObjectGeneric>();
89 kVisitJSObjectGeneric>();
92 kVisitStructGeneric>();
97 int mode_mask = RelocInfo::kCodeTargetMask |
98 RelocInfo::ModeMask(RelocInfo::EMBEDDED_OBJECT) |
99 RelocInfo::ModeMask(RelocInfo::GLOBAL_PROPERTY_CELL) |
100 RelocInfo::ModeMask(RelocInfo::EXTERNAL_REFERENCE) |
101 RelocInfo::ModeMask(RelocInfo::JS_RETURN) |
102 RelocInfo::ModeMask(RelocInfo::DEBUG_BREAK_SLOT) |
114 it.
rinfo()->Visit(v);
119 template<
typename StaticVisitor>
121 int mode_mask = RelocInfo::kCodeTargetMask |
122 RelocInfo::ModeMask(RelocInfo::EMBEDDED_OBJECT) |
123 RelocInfo::ModeMask(RelocInfo::GLOBAL_PROPERTY_CELL) |
124 RelocInfo::ModeMask(RelocInfo::EXTERNAL_REFERENCE) |
125 RelocInfo::ModeMask(RelocInfo::JS_RETURN) |
126 RelocInfo::ModeMask(RelocInfo::DEBUG_BREAK_SLOT) |
131 StaticVisitor::VisitPointer(
134 StaticVisitor::VisitPointer(
137 StaticVisitor::VisitPointer(
140 StaticVisitor::VisitPointer(
146 it.
rinfo()->template Visit<StaticVisitor>(heap);
153 #endif // V8_OBJECTS_VISITING_INL_H_
void IteratePointer(ObjectVisitor *v, int offset)
static const int kDeoptimizationDataOffset
static const int kHandlerTableOffset
void CodeIterateBody(ObjectVisitor *v)
static const int kTypeFeedbackInfoOffset
static const int kRelocationInfoOffset
#define RUNTIME_ENTRY(name, nargs, ressize)