5#ifndef INCLUDE_V8_EMBEDDER_HEAP_H_
6#define INCLUDE_V8_EMBEDDER_HEAP_H_
26class LocalEmbedderHeapTracer;
78 kReduceMemory = 1 << 0,
106 size_t allocated_size = 0;
130 const std::vector<std::pair<void*, void*>>& embedder_fields) = 0;
213 friend class internal::LocalEmbedderHeapTracer;
virtual ~TracedGlobalHandleVisitor()=default
virtual void VisitTracedReference(const TracedReference< Value > &handle)
virtual void ResetHandleInNonTracingGC(const v8::TracedReference< v8::Value > &handle)
virtual bool IsTracingDone()=0
v8::Isolate * isolate() const
virtual void RegisterV8References(const std::vector< std::pair< void *, void * > > &embedder_fields)=0
virtual bool IsRootForNonTracingGC(const v8::TracedReference< v8::Value > &handle)
void RegisterEmbedderReference(const BasicTracedReference< v8::Data > &ref)
virtual void TraceEpilogue(TraceSummary *trace_summary)
virtual void EnterFinalPause(EmbedderStackState stack_state)=0
void IterateTracedGlobalHandles(TracedGlobalHandleVisitor *visitor)
void DecreaseAllocatedSize(size_t bytes)
void IncreaseAllocatedSize(size_t bytes)
virtual ~EmbedderHeapTracer()=default
void SetStackStart(void *stack_start)
virtual void TracePrologue(TraceFlags flags)
virtual bool AdvanceTracing(double deadline_in_ms)=0
virtual ~EmbedderRootsHandler()=default
virtual bool IsRoot(const v8::TracedReference< v8::Value > &handle)=0
virtual void ResetRoot(const v8::TracedReference< v8::Value > &handle)=0