  | 
  
    V8
    latest master commit
    
   V8 is Google's open source JavaScript engine 
   | 
 
 
 
 
Go to the documentation of this file.
    5 #ifndef V8_V8_PLATFORM_H_ 
    6 #define V8_V8_PLATFORM_H_ 
   47   virtual ~Task() = 
default;
 
   49   virtual void Run() = 0;
 
   61   virtual void Run(
double deadline_in_seconds) = 0;
 
   76   virtual void PostTask(std::unique_ptr<Task> task) = 0;
 
   93                                double delay_in_seconds) = 0;
 
  104                                           double delay_in_seconds) {}
 
  114   virtual void PostIdleTask(std::unique_ptr<IdleTask> task) = 0;
 
  181   virtual void Join() = 0;
 
  187   virtual void Cancel() = 0;
 
  242 #if !defined(V8_USE_PERFETTO) 
  251     static uint8_t no = 0;
 
  264       char phase, 
const uint8_t* category_enabled_flag, 
const char* name,
 
  265       const char* scope, uint64_t 
id, uint64_t bind_id, int32_t num_args,
 
  266       const char** arg_names, 
const uint8_t* arg_types,
 
  267       const uint64_t* arg_values,
 
  268       std::unique_ptr<ConvertableToTraceFormat>* arg_convertables,
 
  269       unsigned int flags) {
 
  273       char phase, 
const uint8_t* category_enabled_flag, 
const char* name,
 
  274       const char* scope, uint64_t 
id, uint64_t bind_id, int32_t num_args,
 
  275       const char** arg_names, 
const uint8_t* arg_types,
 
  276       const uint64_t* arg_values,
 
  277       std::unique_ptr<ConvertableToTraceFormat>* arg_convertables,
 
  278       unsigned int flags, int64_t timestamp) {
 
  287                                         const char* name, uint64_t handle) {}
 
  288 #endif  // !defined(V8_USE_PERFETTO) 
  352   virtual void* 
AllocatePages(
void* address, 
size_t length, 
size_t alignment,
 
  358   virtual bool FreePages(
void* address, 
size_t length) = 0;
 
  364                             size_t new_length) = 0;
 
  467                                          double delay_in_seconds) = 0;
 
  528       TaskPriority priority, std::unique_ptr<JobTask> job_task) {
 
  577 #endif  // V8_V8_PLATFORM_H_ 
  
 
virtual void SetRandomMmapSeed(int64_t seed)=0
 
virtual bool ShouldYield()=0
 
virtual void Run(JobDelegate *delegate)=0
 
virtual ~JobHandle()=default
 
virtual ~TracingController()=default
 
virtual void PostNonNestableDelayedTask(std::unique_ptr< Task > task, double delay_in_seconds)
 
virtual ~TaskRunner()=default
 
virtual void PostDelayedTask(std::unique_ptr< Task > task, double delay_in_seconds)=0
 
virtual bool SetPermissions(void *address, size_t length, Permission permissions)=0
 
virtual ~JobTask()=default
 
virtual bool ReleasePages(void *address, size_t length, size_t new_length)=0
 
virtual size_t CommitPageSize()=0
 
virtual void NotifyConcurrencyIncrease()=0
 
virtual void * AllocatePages(void *address, size_t length, size_t alignment, Permission permissions)=0
 
virtual void PostIdleTask(std::unique_ptr< IdleTask > task)=0
 
TaskRunner & operator=(const TaskRunner &)=delete
 
virtual ~TraceStateObserver()=default
 
virtual bool IsRunning()=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)
 
virtual void NotifyConcurrencyIncrease()=0
 
virtual bool NonNestableDelayedTasksEnabled() const
 
virtual void OnTraceDisabled()=0
 
virtual void * GetRandomMmapAddr()=0
 
virtual bool NonNestableTasksEnabled() const
 
virtual void PostTask(std::unique_ptr< Task > task)=0
 
virtual void OnTraceEnabled()=0
 
virtual ~PageAllocator()=default
 
virtual ~IdleTask()=default
 
virtual bool IdleTasksEnabled()=0
 
virtual void AddTraceStateObserver(TraceStateObserver *)
 
virtual void PostNonNestableTask(std::unique_ptr< Task > task)
 
virtual void RemoveTraceStateObserver(TraceStateObserver *)
 
virtual size_t GetMaxConcurrency() const =0
 
virtual size_t AllocatePageSize()=0
 
virtual bool DiscardSystemPages(void *address, size_t size)
 
virtual uint64_t AddTraceEventWithTimestamp(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, int64_t timestamp)
 
virtual const uint8_t * GetCategoryGroupEnabled(const char *name)
 
virtual bool FreePages(void *address, size_t length)=0
 
virtual void UpdateTraceEventDuration(const uint8_t *category_enabled_flag, const char *name, uint64_t handle)
 
virtual void Run(double deadline_in_seconds)=0