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

Go to the source code of this file.

Namespaces

namespace  v8
 
namespace  v8::internal
 

Macros

#define DEFINE_TFJ_PARAMETER_INDICES(...)
 
#define DEFINE_TFJ_INTERFACE_DESCRIPTOR(Name, Argc, ...)
 
#define DEFINE_TSJ_INTERFACE_DESCRIPTOR(...)
 
#define DEFINE_TSC_INTERFACE_DESCRIPTOR(Name, InterfaceDescriptor)
 
#define DEFINE_TFC_INTERFACE_DESCRIPTOR(Name, InterfaceDescriptor)
 
#define DEFINE_TFS_INTERFACE_DESCRIPTOR(Name, ...)
 
#define DEFINE_TFH_INTERFACE_DESCRIPTOR(Name, InterfaceDescriptor)
 
#define DEFINE_ASM_INTERFACE_DESCRIPTOR(Name, InterfaceDescriptor)
 

Variables

constexpr size_t v8::internal::kJSBuiltinBaseParameterCount = 3
 

Macro Definition Documentation

◆ DEFINE_ASM_INTERFACE_DESCRIPTOR

#define DEFINE_ASM_INTERFACE_DESCRIPTOR ( Name,
InterfaceDescriptor )
Value:
using Builtin_##Name##_InterfaceDescriptor = InterfaceDescriptor##Descriptor;

Definition at line 73 of file builtins-descriptors.h.

◆ DEFINE_TFC_INTERFACE_DESCRIPTOR

#define DEFINE_TFC_INTERFACE_DESCRIPTOR ( Name,
InterfaceDescriptor )
Value:
using Builtin_##Name##_InterfaceDescriptor = InterfaceDescriptor##Descriptor;

Definition at line 63 of file builtins-descriptors.h.

◆ DEFINE_TFH_INTERFACE_DESCRIPTOR

#define DEFINE_TFH_INTERFACE_DESCRIPTOR ( Name,
InterfaceDescriptor )
Value:
using Builtin_##Name##_InterfaceDescriptor = InterfaceDescriptor##Descriptor;

Definition at line 70 of file builtins-descriptors.h.

◆ DEFINE_TFJ_INTERFACE_DESCRIPTOR

#define DEFINE_TFJ_INTERFACE_DESCRIPTOR ( Name,
Argc,
... )
Value:
struct Builtin_##Name##_InterfaceDescriptor { \
DEFINE_TFJ_PARAMETER_INDICES(__VA_ARGS__) \
static_assert(kParameterCount == kJSBuiltinBaseParameterCount + (Argc)); \
static_assert((Argc) == \
static_cast<uint16_t>(kParameterCount - \
kJSBuiltinBaseParameterCount), \
"Inconsistent set of arguments"); \
static_assert(kParameterCount - (Argc) == \
JSTrampolineDescriptor::kParameterCount, \
"Interface descriptors for JS builtins must be compatible " \
"with the general JS calling convention"); \
static_assert(kJSTarget == -1, "Unexpected kJSTarget index value"); \
};

Definition at line 41 of file builtins-descriptors.h.

◆ DEFINE_TFJ_PARAMETER_INDICES

#define DEFINE_TFJ_PARAMETER_INDICES ( ...)
Value:
enum ParameterIndices { \
kJSTarget = kJSCallClosureParameterIndex, \
##__VA_ARGS__, \
kJSNewTarget, \
kJSActualArgumentsCount, \
kContext, \
kParameterCount, \
};

Definition at line 28 of file builtins-descriptors.h.

◆ DEFINE_TFS_INTERFACE_DESCRIPTOR

#define DEFINE_TFS_INTERFACE_DESCRIPTOR ( Name,
... )
Value:
using Builtin_##Name##_InterfaceDescriptor = Name##Descriptor;

Definition at line 66 of file builtins-descriptors.h.

◆ DEFINE_TSC_INTERFACE_DESCRIPTOR

#define DEFINE_TSC_INTERFACE_DESCRIPTOR ( Name,
InterfaceDescriptor )
Value:
using Builtin_##Name##_InterfaceDescriptor = InterfaceDescriptor##Descriptor;

Definition at line 59 of file builtins-descriptors.h.

◆ DEFINE_TSJ_INTERFACE_DESCRIPTOR

#define DEFINE_TSJ_INTERFACE_DESCRIPTOR ( ...)
Value:
#define DEFINE_TFJ_INTERFACE_DESCRIPTOR(Name, Argc,...)

Definition at line 56 of file builtins-descriptors.h.