v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
v8-fast-api-calls.h File Reference
#include <stddef.h>
#include <stdint.h>
#include <tuple>
#include <type_traits>
#include "v8-internal.h"
#include "v8-local-handle.h"
#include "v8-typed-array.h"
#include "v8-value.h"
#include "v8config.h"
Include dependency graph for v8-fast-api-calls.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  v8::CTypeInfo
 
struct  v8::FastOneByteString
 
class  v8::CFunctionInfo
 
union  v8::AnyCType
 
class  v8::CFunction
 
class  v8::CFunction::ArgUnwrap< F >
 
class  v8::CFunction::ArgUnwrap< R(*)(Args...)>
 
struct  v8::FastApiCallbackOptions
 
struct  v8::internal::count< T, List >
 
struct  v8::internal::count< T, T, Args... >
 
struct  v8::internal::count< T, U, Args... >
 
class  v8::internal::CFunctionInfoImpl< Representation, RetBuilder, ArgBuilders >
 
struct  v8::internal::TypeInfoHelper< T >
 
struct  v8::internal::CTypeInfoTraits< type >
 
struct  v8::internal::TypeInfoHelper< FastApiCallbackOptions & >
 
struct  v8::internal::TypeInfoHelper< const FastOneByteString & >
 
class  v8::CTypeInfoBuilder< T, Flags >
 
class  v8::internal::CFunctionBuilderWithFunction< RetBuilder, ArgBuilders >
 
struct  v8::internal::CFunctionBuilderWithFunction< RetBuilder, ArgBuilders >::GetArgBuilder< false, N, Flags... >
 
struct  v8::internal::CFunctionBuilderWithFunction< RetBuilder, ArgBuilders >::GetArgBuilder< true, N, Flags... >
 
class  v8::internal::CFunctionBuilder
 

Namespaces

namespace  v8
 
namespace  v8::internal
 

Macros

#define SPECIALIZE_GET_TYPE_INFO_HELPER_FOR(T, Enum)
 
#define DEFINE_TYPE_INFO_TRAITS(CType, Enum)
 
#define PRIMITIVE_C_TYPES(V)
 
#define ALL_C_TYPES(V)
 
#define STATIC_ASSERT_IMPLIES(COND, ASSERTION, MSG)
 

Typedefs

using v8::CFunctionBuilder = internal::CFunctionBuilder
 

Functions

template<CTypeInfo::Identifier type_info_id, typename T >
bool V8_EXPORT V8_WARN_UNUSED_RESULT v8::TryToCopyAndConvertArrayToCppBuffer (Local< Array > src, T *dst, uint32_t max_length)
 

Variables

static constexpr CTypeInfo v8::kTypeInfoInt32 = CTypeInfo(CTypeInfo::Type::kInt32)
 
static constexpr CTypeInfo v8::kTypeInfoFloat64
 

Macro Definition Documentation

◆ ALL_C_TYPES

#define ALL_C_TYPES ( V)
Value:
V(void, kVoid) \
V(v8::Local<v8::Value>, kV8Value) \
V(v8::Local<v8::Object>, kV8Value) \
V(v8::Local<v8::Array>, kV8Value) \
V(AnyCType, kAny)
#define V(Name)
#define PRIMITIVE_C_TYPES(V)

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

◆ DEFINE_TYPE_INFO_TRAITS

#define DEFINE_TYPE_INFO_TRAITS ( CType,
Enum )
Value:
template <> \
struct CTypeInfoTraits<CTypeInfo::Type::Enum> { \
using ctype = CType; \
};

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

◆ PRIMITIVE_C_TYPES

#define PRIMITIVE_C_TYPES ( V)
Value:
V(bool, kBool) \
V(uint8_t, kUint8) \
V(int32_t, kInt32) \
V(uint32_t, kUint32) \
V(int64_t, kInt64) \
V(uint64_t, kUint64) \
V(float, kFloat32) \
V(double, kFloat64) \
V(void*, kPointer)

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

◆ SPECIALIZE_GET_TYPE_INFO_HELPER_FOR

#define SPECIALIZE_GET_TYPE_INFO_HELPER_FOR ( T,
Enum )
Value:
template <> \
struct TypeInfoHelper<T> { \
static constexpr CTypeInfo::Flags Flags() { \
return CTypeInfo::Flags::kNone; \
} \
\
static constexpr CTypeInfo::Type Type() { return CTypeInfo::Type::Enum; } \
};

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

◆ STATIC_ASSERT_IMPLIES

#define STATIC_ASSERT_IMPLIES ( COND,
ASSERTION,
MSG )
Value:
static_assert(((COND) == 0) || (ASSERTION), MSG)

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