v8
8.1.307(node14.1.0)
V8 is Google's open source JavaScript engine
|
#include <v8-platform.h>
Public Types | |
typedef void(* | StackTracePrinter) () |
Public Member Functions | |
virtual | ~Platform ()=default |
virtual PageAllocator * | GetPageAllocator () |
virtual void | OnCriticalMemoryPressure () |
virtual bool | OnCriticalMemoryPressure (size_t length) |
virtual int | NumberOfWorkerThreads ()=0 |
virtual std::shared_ptr< v8::TaskRunner > | GetForegroundTaskRunner (Isolate *isolate)=0 |
virtual void | CallOnWorkerThread (std::unique_ptr< Task > task)=0 |
virtual void | CallBlockingTaskOnWorkerThread (std::unique_ptr< Task > task) |
virtual void | CallLowPriorityTaskOnWorkerThread (std::unique_ptr< Task > task) |
virtual void | CallDelayedOnWorkerThread (std::unique_ptr< Task > task, double delay_in_seconds)=0 |
virtual bool | IdleTasksEnabled (Isolate *isolate) |
virtual double | MonotonicallyIncreasingTime ()=0 |
virtual double | CurrentClockTimeMillis ()=0 |
virtual StackTracePrinter | GetStackTracePrinter () |
virtual TracingController * | GetTracingController ()=0 |
virtual void | DumpWithoutCrashing () |
Static Protected Member Functions | |
static V8_EXPORT double | SystemClockTimeMillis () |
V8 Platform abstraction layer.
The embedder has to provide an implementation of this interface before initializing the rest of V8.
Definition at line 283 of file v8-platform.h.
typedef void(* StackTracePrinter) () |
Definition at line 386 of file v8-platform.h.
|
virtualdefault |
|
inlinevirtual |
Schedules a task that blocks the main thread to be invoked with high-priority on a worker thread.
Definition at line 344 of file v8-platform.h.
References Platform::CallOnWorkerThread().
|
pure virtual |
Schedules a task to be invoked on a worker thread after |delay_in_seconds| expires.
|
inlinevirtual |
Schedules a task to be invoked with low-priority on a worker thread.
Definition at line 353 of file v8-platform.h.
References Platform::CallOnWorkerThread().
|
pure virtual |
Schedules a task to be invoked on a worker thread.
Referenced by Platform::CallBlockingTaskOnWorkerThread(), and Platform::CallLowPriorityTaskOnWorkerThread().
|
pure virtual |
Current wall-clock time in milliseconds since epoch. This function is expected to return at least millisecond-precision values.
|
inlinevirtual |
Tells the embedder to generate and upload a crashdump during an unexpected but non-critical scenario.
Definition at line 403 of file v8-platform.h.
|
pure virtual |
Returns a TaskRunner which can be used to post a task on the foreground. The TaskRunner's NonNestableTasksEnabled() must be true. This function should only be called from a foreground thread.
|
inlinevirtual |
Allows the embedder to manage memory page allocations.
Definition at line 290 of file v8-platform.h.
|
inlinevirtual |
Returns a function pointer that print a stack trace of the current stack on invocation. Disables printing of the stack trace if nullptr.
Definition at line 392 of file v8-platform.h.
|
pure virtual |
Returns an instance of a v8::TracingController. This must be non-nullptr.
|
inlinevirtual |
Returns true if idle tasks are enabled for the given |isolate|.
Definition at line 369 of file v8-platform.h.
|
pure virtual |
Monotonically increasing time in seconds from an arbitrary fixed point in the past. This function is expected to return at least millisecond-precision values. For this reason, it is recommended that the fixed point be no further in the past than the epoch.
|
pure virtual |
Gets the number of worker threads used by Call(BlockingTask)OnWorkerThread(). This can be used to estimate the number of tasks a work package should be split into. A return value of 0 means that there are no worker threads available. Note that a value of 0 won't prohibit V8 from posting tasks using |CallOnWorkerThread|.
|
inlinevirtual |
Enables the embedder to respond in cases where V8 can't allocate large blocks of memory. V8 retries the failed allocation once after calling this method. On success, execution continues; otherwise V8 exits with a fatal error. Embedder overrides of this function must NOT call back into V8.
Definition at line 302 of file v8-platform.h.
|
inlinevirtual |
Enables the embedder to respond in cases where V8 can't allocate large memory regions. The |length| parameter is the amount of memory needed. Returns true if memory is now available. Returns false if no memory could be made available. V8 will retry allocations until this method returns false.
Embedder overrides of this function must NOT call back into V8.
Definition at line 316 of file v8-platform.h.
|
staticprotected |
Default implementation of current wall-clock time in milliseconds since epoch. Useful for implementing |CurrentClockTimeMillis| if nothing special needed.