17 #include <glog/logging.h> 31 return fields_.empty();
35 VLOG(2) <<
"GC run started";
41 VLOG(2) <<
"GC run ended";
42 CHECK(fields_.empty());
50 const std::vector<std::pair<void*, void*>>& internal_fields) {
51 VLOG(2) <<
"GC add " << internal_fields.size() <<
" objects";
52 fields_.reserve(fields_.size() + internal_fields.size());
53 for (
const auto& pair : internal_fields)
54 fields_.insert(reinterpret_cast<Traceable*>(pair.first));
58 VLOG(2) <<
"GC run step";
63 VLOG(2) <<
"Tracing " << fields_.size() <<
" objects took "
bool AdvanceTracing(double deadline_ms) override
bool IsTracingDone() override
const std::unordered_set< const Traceable * > & alive() const
static ObjectTracker * Instance()
void TracePrologue(TraceFlags flags) override
void TraceEpilogue(TraceSummary *trace_summary) override
virtual uint64_t GetMonotonicTime() const
void EnterFinalPause(EmbedderStackState stack_state) override
void TraceAll(const std::unordered_set< const Traceable *> &ref_alive)
void RegisterV8References(const std::vector< std::pair< void *, void *>> &internal_fields) override