v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
api-inl.h File Reference
Include dependency graph for api-inl.h:

Go to the source code of this file.

Classes

class  v8::CallDepthScope< do_callback >
 
class  v8::InternalEscapableScope
 

Namespaces

namespace  v8
 
namespace  v8::internal
 

Macros

#define MAKE_TO_LOCAL(Name)
 
#define MAKE_TO_LOCAL_PRIVATE(Name, From, To)
 
#define MAKE_TO_LOCAL_TYPED_ARRAY(Type, typeName, TYPE, ctype)
 
#define MAKE_OPEN_HANDLE(From, To)
 

Functions

template<typename T , internal::ExternalPointerTag tag>
T v8::ToCData (i::Isolate *isolate, v8::internal::Tagged< v8::internal::Object > obj)
 
template<internal::ExternalPointerTag tag>
v8::internal::Address v8::ToCData (i::Isolate *isolate, v8::internal::Tagged< v8::internal::Object > obj)
 
template<internal::ExternalPointerTag tag, typename T >
v8::internal::DirectHandle< i::UnionOf< i::Smi, i::Foreign > > v8::FromCData (v8::internal::Isolate *isolate, T obj)
 
template<internal::ExternalPointerTag tag>
v8::internal::DirectHandle< i::UnionOf< i::Smi, i::Foreign > > v8::FromCData (v8::internal::Isolate *isolate, v8::internal::Address obj)
 
template<typename T >
void v8::CopySmiElementsToTypedBuffer (T *dst, uint32_t length, i::Tagged< i::FixedArray > elements)
 
template<typename T >
void v8::CopyDoubleElementsToTypedBuffer (T *dst, uint32_t length, i::Tagged< i::FixedDoubleArray > elements)
 
template<CTypeInfo::Identifier type_info_id, typename T >
bool v8::CopyAndConvertArrayToCppBuffer (Local< Array > src, T *dst, uint32_t max_length)
 
template<const CTypeInfo * type_info, typename T >
bool V8_EXPORT v8::TryCopyAndConvertArrayToCppBuffer (Local< Array > src, T *dst, uint32_t max_length)
 
template<CTypeInfo::Identifier type_info_id, typename T >
bool V8_EXPORT v8::TryToCopyAndConvertArrayToCppBuffer (Local< Array > src, T *dst, uint32_t max_length)
 

Macro Definition Documentation

◆ MAKE_OPEN_HANDLE

#define MAKE_OPEN_HANDLE ( From,
To )
Value:
const v8::From* that, bool allow_empty_handle) { \
DCHECK(allow_empty_handle || !v8::internal::ValueHelper::IsEmpty(that)); \
reinterpret_cast<v8::internal::Address*>( \
const_cast<v8::From*>(that))); \
} \
\
const v8::From* that, bool allow_empty_handle) { \
return Utils::OpenHandle(that, allow_empty_handle); \
} \
\
const v8::From* that, bool allow_empty_handle) { \
return Utils::OpenHandle(that, allow_empty_handle); \
}
static V8_INLINE Address ValueAsAddress(const T *value)
static V8_INLINE bool IsEmpty(T *value)

Definition at line 139 of file api-inl.h.

◆ MAKE_TO_LOCAL

#define MAKE_TO_LOCAL ( Name)
Value:
template <template <typename> typename HandleType, typename T, typename> \
inline auto Utils::Name(HandleType<T> obj) { \
return Utils::Name##_helper(v8::internal::DirectHandle<T>(obj)); \
}
#define T

Definition at line 73 of file api-inl.h.

◆ MAKE_TO_LOCAL_PRIVATE

#define MAKE_TO_LOCAL_PRIVATE ( Name,
From,
To )
Value:
inline Local<v8::To> Utils::Name##_helper( \
return Convert<v8::internal::From, v8::To>(obj); \
}

Definition at line 81 of file api-inl.h.

◆ MAKE_TO_LOCAL_TYPED_ARRAY

#define MAKE_TO_LOCAL_TYPED_ARRAY ( Type,
typeName,
TYPE,
ctype )
Value:
Local<v8::Type##Array> Utils::ToLocal##Type##Array( \
DCHECK(obj->type() == v8::internal::kExternal##Type##Array); \
return Convert<v8::internal::JSTypedArray, v8::Type##Array>(obj); \
}

Definition at line 89 of file api-inl.h.