v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
api-macros.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define API_RCS_SCOPE(i_isolate, class_name, function_name)
 
#define ENTER_V8_BASIC(i_isolate)
 
#define ENTER_V8_HELPER_INTERNAL(i_isolate, context, class_name, function_name, HandleScopeClass, do_callback)
 
#define PREPARE_FOR_DEBUG_INTERFACE_EXECUTION_WITH_ISOLATE(i_isolate, context, T)
 
#define PREPARE_FOR_EXECUTION(context, class_name, function_name)
 
#define ENTER_V8(i_isolate, context, class_name, function_name, HandleScopeClass)
 
#define ENTER_V8_NO_SCRIPT(i_isolate, context, class_name, function_name, HandleScopeClass)
 
#define DCHECK_NO_SCRIPT_NO_EXCEPTION(i_isolate)
 
#define ENTER_V8_NO_SCRIPT_NO_EXCEPTION(i_isolate)
 
#define ENTER_V8_FOR_NEW_CONTEXT(i_isolate)
 
#define RETURN_ON_FAILED_EXECUTION(T)
 
#define RETURN_ON_FAILED_EXECUTION_PRIMITIVE(T)
 
#define RETURN_ESCAPED(value)
 

Macro Definition Documentation

◆ API_RCS_SCOPE

#define API_RCS_SCOPE ( i_isolate,
class_name,
function_name )
Value:
RCS_SCOPE(i_isolate, \
i::RuntimeCallCounterId::kAPI_##class_name##_##function_name);
#define _
#define RCS_SCOPE(...)

Definition at line 32 of file api-macros.h.

◆ DCHECK_NO_SCRIPT_NO_EXCEPTION

#define DCHECK_NO_SCRIPT_NO_EXCEPTION ( i_isolate)

Definition at line 97 of file api-macros.h.

◆ ENTER_V8

#define ENTER_V8 ( i_isolate,
context,
class_name,
function_name,
HandleScopeClass )
Value:
ENTER_V8_HELPER_INTERNAL(i_isolate, context, class_name, function_name, \
HandleScopeClass, true)
#define ENTER_V8_HELPER_INTERNAL(i_isolate, context, class_name, function_name, HandleScopeClass, do_callback)
Definition api-macros.h:42

Definition at line 65 of file api-macros.h.

◆ ENTER_V8_BASIC

#define ENTER_V8_BASIC ( i_isolate)
Value:
/* Embedders should never enter V8 after terminating it */ \
DCHECK_IMPLIES(i::v8_flags.strict_termination_checks, \
!i_isolate->is_execution_terminating()); \
i::VMState<v8::OTHER> __state__((i_isolate))
V8_EXPORT_PRIVATE FlagValues v8_flags

Definition at line 36 of file api-macros.h.

◆ ENTER_V8_FOR_NEW_CONTEXT

#define ENTER_V8_FOR_NEW_CONTEXT ( i_isolate)
Value:
i::VMState<v8::OTHER> __state__((i_isolate));

Definition at line 102 of file api-macros.h.

◆ ENTER_V8_HELPER_INTERNAL

#define ENTER_V8_HELPER_INTERNAL ( i_isolate,
context,
class_name,
function_name,
HandleScopeClass,
do_callback )
Value:
DCHECK(!i_isolate->is_execution_terminating()); \
HandleScopeClass handle_scope(i_isolate); \
CallDepthScope<do_callback> call_depth_scope(i_isolate, context); \
API_RCS_SCOPE(i_isolate, class_name, function_name); \
i::VMState<v8::OTHER> __state__((i_isolate)); \
bool has_exception = false
#define DCHECK(condition)
Definition logging.h:482

Definition at line 42 of file api-macros.h.

◆ ENTER_V8_NO_SCRIPT

#define ENTER_V8_NO_SCRIPT ( i_isolate,
context,
class_name,
function_name,
HandleScopeClass )
Value:
ENTER_V8_HELPER_INTERNAL(i_isolate, context, class_name, function_name, \
HandleScopeClass, false)

Definition at line 92 of file api-macros.h.

◆ ENTER_V8_NO_SCRIPT_NO_EXCEPTION

#define ENTER_V8_NO_SCRIPT_NO_EXCEPTION ( i_isolate)
Value:
i::VMState<v8::OTHER> __state__((i_isolate));

Definition at line 99 of file api-macros.h.

◆ PREPARE_FOR_DEBUG_INTERFACE_EXECUTION_WITH_ISOLATE

#define PREPARE_FOR_DEBUG_INTERFACE_EXECUTION_WITH_ISOLATE ( i_isolate,
context,
T )
Value:
DCHECK(!i_isolate->is_execution_terminating()); \
InternalEscapableScope handle_scope(i_isolate); \
CallDepthScope<false> call_depth_scope(i_isolate, context); \
i::VMState<v8::OTHER> __state__((i_isolate)); \
bool has_exception = false

Definition at line 51 of file api-macros.h.

◆ PREPARE_FOR_EXECUTION

#define PREPARE_FOR_EXECUTION ( context,
class_name,
function_name )
Value:
auto i_isolate = reinterpret_cast<i::Isolate*>(context->GetIsolate()); \
i_isolate->clear_internal_exception(); \
ENTER_V8_HELPER_INTERNAL(i_isolate, context, class_name, function_name, \
InternalEscapableScope, false);

Definition at line 59 of file api-macros.h.

◆ RETURN_ESCAPED

#define RETURN_ESCAPED ( value)
Value:
return handle_scope.Escape(value);

Definition at line 112 of file api-macros.h.

◆ RETURN_ON_FAILED_EXECUTION

#define RETURN_ON_FAILED_EXECUTION ( T)
Value:
if (has_exception) return MaybeLocal<T>();

Definition at line 106 of file api-macros.h.

◆ RETURN_ON_FAILED_EXECUTION_PRIMITIVE

#define RETURN_ON_FAILED_EXECUTION_PRIMITIVE ( T)
Value:
if (has_exception) return Nothing<T>();

Definition at line 109 of file api-macros.h.