5 #ifndef V8_V8_PLATFORM_H_ 6 #define V8_V8_PLATFORM_H_ 25 virtual ~
Task() =
default;
27 virtual void Run() = 0;
39 virtual void Run(
double deadline_in_seconds) = 0;
54 virtual void PostTask(std::unique_ptr<Task> task) = 0;
71 double delay_in_seconds) = 0;
82 double delay_in_seconds) {}
92 virtual void PostIdleTask(std::unique_ptr<IdleTask> task) = 0;
150 static uint8_t no = 0;
163 char phase,
const uint8_t* category_enabled_flag,
const char* name,
164 const char* scope, uint64_t
id, uint64_t bind_id, int32_t num_args,
165 const char** arg_names,
const uint8_t* arg_types,
166 const uint64_t* arg_values,
167 std::unique_ptr<ConvertableToTraceFormat>* arg_convertables,
168 unsigned int flags) {
171 virtual uint64_t AddTraceEventWithTimestamp(
172 char phase,
const uint8_t* category_enabled_flag,
const char* name,
173 const char* scope, uint64_t
id, uint64_t bind_id, int32_t num_args,
174 const char** arg_names,
const uint8_t* arg_types,
175 const uint64_t* arg_values,
176 std::unique_ptr<ConvertableToTraceFormat>* arg_convertables,
177 unsigned int flags, int64_t timestamp) {
186 const char* name, uint64_t handle) {}
191 virtual void OnTraceEnabled() = 0;
192 virtual void OnTraceDisabled() = 0;
250 virtual void*
AllocatePages(
void* address,
size_t length,
size_t alignment,
256 virtual bool FreePages(
void* address,
size_t length) = 0;
262 size_t new_length) = 0;
364 double delay_in_seconds) = 0;
372 "Use a taskrunner acquired by GetForegroundTaskRunner instead.",
373 virtual void CallOnForegroundThread(
Isolate* isolate,
Task* task)) = 0;
382 "Use a taskrunner acquired by GetForegroundTaskRunner instead.",
383 virtual void CallDelayedOnForegroundThread(
Isolate* isolate,
Task* task,
384 double delay_in_seconds)) = 0;
395 "Use a taskrunner acquired by GetForegroundTaskRunner instead.",
396 virtual void CallIdleOnForegroundThread(
Isolate* isolate,
424 typedef void (*StackTracePrinter)();
454 #endif // V8_V8_PLATFORM_H_
virtual bool NonNestableTasksEnabled() const
Definition: v8-platform.h:102
Definition: v8-platform.h:138
virtual void PostTask(std::unique_ptr< Task > task)=0
virtual void PostDelayedTask(std::unique_ptr< Task > task, double delay_in_seconds)=0
virtual bool FreePages(void *address, size_t length)=0
Definition: v8-platform.h:207
virtual void SetRandomMmapSeed(int64_t seed)=0
virtual void UpdateTraceEventDuration(const uint8_t *category_enabled_flag, const char *name, uint64_t handle)
Definition: v8-platform.h:185
virtual bool IdleTasksEnabled()=0
virtual void PostIdleTask(std::unique_ptr< IdleTask > task)=0
virtual void * GetRandomMmapAddr()=0
Permission
Definition: v8-platform.h:238
Definition: v8-platform.h:188
Definition: v8-internal.h:15
virtual bool ReleasePages(void *address, size_t length, size_t new_length)=0
virtual const uint8_t * GetCategoryGroupEnabled(const char *name)
Definition: v8-platform.h:149
virtual void * AllocatePages(void *address, size_t length, size_t alignment, Permission permissions)=0
virtual void AddTraceStateObserver(TraceStateObserver *)
Definition: v8-platform.h:196
virtual void PostNonNestableTask(std::unique_ptr< Task > task)
Definition: v8-platform.h:63
Definition: v8-platform.h:48
virtual size_t AllocatePageSize()=0
virtual uint64_t AddTraceEvent(char phase, const uint8_t *category_enabled_flag, const char *name, const char *scope, uint64_t id, uint64_t bind_id, int32_t num_args, const char **arg_names, const uint8_t *arg_types, const uint64_t *arg_values, std::unique_ptr< ConvertableToTraceFormat > *arg_convertables, unsigned int flags)
Definition: v8-platform.h:162
virtual bool DiscardSystemPages(void *address, size_t size)
Definition: v8-platform.h:275
virtual bool NonNestableDelayedTasksEnabled() const
Definition: v8-platform.h:107
Definition: v8-platform.h:36
Definition: v8-platform.h:23
virtual size_t CommitPageSize()=0
virtual void PostNonNestableDelayedTask(std::unique_ptr< Task > task, double delay_in_seconds)
Definition: v8-platform.h:81
virtual void RemoveTraceStateObserver(TraceStateObserver *)
Definition: v8-platform.h:199
virtual bool SetPermissions(void *address, size_t length, Permission permissions)=0