5#ifndef V8_PROFILER_PROFILER_LISTENER_H_
6#define V8_PROFILER_PROFILER_LISTENER_H_
18class CodeEventsContainer;
19class CodeDeoptEventRecord;
39 const char* name)
override;
49#if V8_ENABLE_WEBASSEMBLY
52 int code_offset,
int script_id)
override;
57 Address entry_point)
override;
59 Address entry_point)
override;
68 void NativeContextMoveEvent(Address from, Address to)
override;
73 int fp_to_sp_delta)
override;
76 const char* reason)
override {}
77 void WeakCodeClearEvent()
override;
79 void OnHeapObjectDeletion(
CodeEntry*)
override;
82 void CodeSweepEvent();
85 return code_entries_.strings().GetName(name);
88 return code_entries_.strings().GetName(args_count);
91 return code_entries_.strings().GetCopy(name);
95 return code_entries_.strings().GetConsName(prefix, name);
108 observer_->CodeEventHandler(evt_rec);
virtual void CodeEventHandler(const CodeEventsContainer &evt_rec)=0
virtual ~CodeEventObserver()=default
CodeEntryStorage & code_entries_
ProfilerListener(const ProfilerListener &)=delete
void CodeMovingGCEvent() override
WeakCodeRegistry & weak_code_registry_
const char * GetName(int args_count)
void set_observer(CodeEventObserver *observer)
void CodeDependencyChangeEvent(DirectHandle< Code > code, DirectHandle< SharedFunctionInfo > sfi, const char *reason) override
const CpuProfilingNamingMode naming_mode_
~ProfilerListener() override
const char * GetName(const char *name)
void SharedFunctionInfoMoveEvent(Address from, Address to) override
const char * GetName(Tagged< Name > name)
const char * GetConsName(const char *prefix, Tagged< Name > name)
CodeEventObserver * observer_
V8_INLINE void DispatchCodeEvent(const CodeEventsContainer &evt_rec)
ProfilerListener & operator=(const ProfilerListener &)=delete
#define V8_EXPORT_PRIVATE