8 #include "src/globals.h" 9 #include "src/objects/code.h" 10 #include "src/objects/slots.h" 15 class CodeDataContainer;
19 #define ROOT_ID_LIST(V) \ 20 V(kStringTable, "(Internalized strings)") \ 21 V(kExternalStringsTable, "(External strings)") \ 22 V(kReadOnlyRootList, "(Read-only roots)") \ 23 V(kStrongRootList, "(Strong roots)") \ 24 V(kSmiRootList, "(Smi roots)") \ 25 V(kBootstrapper, "(Bootstrapper)") \ 26 V(kTop, "(Isolate)") \ 27 V(kRelocatable, "(Relocatable)") \ 28 V(kDebug, "(Debugger)") \ 29 V(kCompilationCache, "(Compilation cache)") \ 30 V(kHandleScope, "(Handle scope)") \ 31 V(kDispatchTable, "(Dispatch table)") \ 32 V(kBuiltins, "(Builtins)") \ 33 V(kGlobalHandles, "(Global handles)") \ 34 V(kEternalHandles, "(Eternal handles)") \ 35 V(kThreadManager, "(Thread manager)") \ 36 V(kStrongRoots, "(Strong roots)") \ 37 V(kExtensions, "(Extensions)") \ 38 V(kCodeFlusher, "(Code flusher)") \ 39 V(kPartialSnapshotCache, "(Partial snapshot cache)") \ 40 V(kReadOnlyObjectCache, "(Read-only object cache)") \ 41 V(kWeakCollections, "(Weak collections)") \ 42 V(kWrapperTracing, "(Wrapper tracing)") \ 43 V(kUnknown, "(Unknown)") 47 #define DECLARE_ENUM(enum_item, ignore) enum_item, 48 enum SyncTag { ROOT_ID_LIST(DECLARE_ENUM) kNumberOfSyncTags };
53 #define DECLARE_ENUM(enum_item, ignore) enum_item, 54 ROOT_ID_LIST(DECLARE_ENUM)
67 virtual void VisitRootPointers(Root root,
const char* description,
71 virtual void VisitRootPointer(Root root,
const char* description,
73 VisitRootPointers(root, description, p, p + 1);
80 virtual void Synchronize(VisitorSynchronization::SyncTag tag) {}
82 static const char* RootName(Root root);
106 VisitPointers(host, start, end);
111 VisitPointers(host, p, p + 1);
114 VisitPointers(host, p, p + 1);
117 VisitCustomWeakPointers(host, p, p + 1);
127 virtual void VisitRuntimeEntry(
Code host,
RelocInfo* rinfo) {}
130 virtual void VisitEmbeddedPointer(
Code host,
RelocInfo* rinfo);
133 virtual void VisitExternalReference(
Code host,
RelocInfo* rinfo) {}
139 virtual void VisitInternalReference(
Code host,
RelocInfo* rinfo) {}
142 virtual void VisitOffHeapTarget(
Code host,
RelocInfo* rinfo) {}
151 #endif // V8_VISITORS_H_