v8  9.0.257(node16.0.0)
V8 is Google's open source JavaScript engine
JobDelegate Class Referenceabstract

#include <v8-platform.h>

Public Member Functions

virtual bool ShouldYield ()=0
 
virtual void NotifyConcurrencyIncrease ()=0
 
virtual uint8_t GetTaskId ()=0
 
virtual bool IsJoiningThread () const
 

Detailed Description

Delegate that's passed to Job's worker task, providing an entry point to communicate with the scheduler.

Definition at line 158 of file v8-platform.h.

Member Function Documentation

◆ GetTaskId()

virtual uint8_t GetTaskId ( )
pure virtual

Returns a task_id unique among threads currently running this job, such that GetTaskId() < worker count. To achieve this, the same task_id may be reused by a different thread after a worker_task returns.

◆ IsJoiningThread()

virtual bool IsJoiningThread ( ) const
inlinevirtual

Returns true if the current task is called from the thread currently running JobHandle::Join(). TODO(etiennep): Make pure virtual once custom embedders implement it.

Definition at line 186 of file v8-platform.h.

◆ NotifyConcurrencyIncrease()

virtual void NotifyConcurrencyIncrease ( )
pure virtual

Notifies the scheduler that max concurrency was increased, and the number of worker should be adjusted accordingly. See Platform::PostJob() for more details.

◆ ShouldYield()

virtual bool ShouldYield ( )
pure virtual

Returns true if this thread should return from the worker task on the current thread ASAP. Workers should periodically invoke ShouldYield (or YieldIfNeeded()) as often as is reasonable.


The documentation for this class was generated from the following file: