v8  9.4.146 (node 16.15.0)
V8 is Google's open source JavaScript engine
FastApiCallbackOptions Struct Reference

#include <v8-fast-api-calls.h>

Collaboration diagram for FastApiCallbackOptions:

Static Public Member Functions

static FastApiCallbackOptions CreateForTesting (Isolate *isolate)

Data Fields

bool fallback
union {
   uintptr_t   data_ptr
   v8::Value   data

Detailed Description

A struct which may be passed to a fast call callback, like so:

void FastMethodWithOptions(int param, FastApiCallbackOptions& options);

Definition at line 477 of file v8-fast-api-calls.h.

Member Function Documentation

◆ CreateForTesting()

static FastApiCallbackOptions CreateForTesting ( Isolate isolate)

Creates a new instance of FastApiCallbackOptions for testing purpose. The returned instance may be filled with mock data.

Definition at line 482 of file v8-fast-api-calls.h.

Field Documentation


union { ... }

The data passed to the FunctionTemplate constructor, or undefined. data_ptr allows for default constructing FastApiCallbackOptions.

◆ data

v8::Value data

Definition at line 505 of file v8-fast-api-calls.h.

◆ data_ptr

uintptr_t data_ptr

Definition at line 504 of file v8-fast-api-calls.h.

◆ fallback

bool fallback

If the callback wants to signal an error condition or to perform an allocation, it must set options.fallback to true and do an early return from the fast method. Then V8 checks the value of options.fallback and if it's true, falls back to executing the SlowCallback, which is capable of reporting the error (either by throwing a JS exception or logging to the console) or doing the allocation. It's the embedder's responsibility to ensure that the fast callback is idempotent up to the point where error and fallback conditions are checked, because otherwise executing the slow callback might produce visible side-effects twice.

Definition at line 497 of file v8-fast-api-calls.h.

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