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

Go to the source code of this file.

Namespaces

namespace  v8
 
namespace  v8::internal
 

Macros

#define RETURN_NOTHING_IF_NOT_SUCCESSFUL(call)
 
#define RETURN_FAILURE_IF_NOT_SUCCESSFUL(call)
 
#define ELEMENTS_LIST(V)
 
#define ELEMENTS_TRAITS(Class, KindParam, Store)
 
#define TYPED_ARRAY_CASE(Type, type, TYPE, ctype)
 
#define TYPED_ARRAY_CASE(Type, type, TYPE, ctype)
 
#define TYPED_ARRAY_CASE(Type, type, TYPE, ctype)
 
#define TYPED_ARRAY_CASE(Type, type, TYPE, ctype, NON_RAB_GSAB_TYPE)
 
#define TYPED_ARRAY_CASE(Type, type, TYPE, ctype)
 
#define FIXED_ELEMENTS_ACCESSOR(Type, type, TYPE, ctype)
 
#define TYPED_ARRAYS_CASE(Type, type, TYPE, ctype)
 
#define TYPED_ARRAYS_CASE(Type, type, TYPE, ctype)
 
#define ACCESSOR_ARRAY(Class, Kind, Store)
 
#define ACCESSOR_KIND(Class, Kind, Store)
 
#define ACCESSOR_DELETE(Class, Kind, Store)
 

Functions

MaybeDirectHandle< Objectv8::internal::ArrayConstructInitializeElements (DirectHandle< JSArray > array, JavaScriptArguments *args)
 
void v8::internal::CopyFastNumberJSArrayElementsToTypedArray (Address raw_context, Address raw_source, Address raw_destination, uintptr_t length, uintptr_t offset)
 
void v8::internal::CopyTypedArrayElementsToTypedArray (Address raw_source, Address raw_destination, uintptr_t length, uintptr_t offset)
 
void v8::internal::CopyTypedArrayElementsSlice (Address raw_source, Address raw_destination, uintptr_t start, uintptr_t end)
 
template<typename Mapping >
constexpr bool v8::internal::IsIdentityMapping (const Mapping &mapping, size_t index)
 

Macro Definition Documentation

◆ ACCESSOR_ARRAY

#define ACCESSOR_ARRAY ( Class,
Kind,
Store )
Value:
new Class(),

◆ ACCESSOR_DELETE

#define ACCESSOR_DELETE ( Class,
Kind,
Store )
Value:
delete elements_accessors_[Kind];

◆ ACCESSOR_KIND

#define ACCESSOR_KIND ( Class,
Kind,
Store )
Value:
Kind,

◆ ELEMENTS_LIST

#define ELEMENTS_LIST ( V)

Definition at line 110 of file elements.cc.

◆ ELEMENTS_TRAITS

#define ELEMENTS_TRAITS ( Class,
KindParam,
Store )
Value:
template <> \
class ElementsKindTraits<KindParam> { \
public: /* NOLINT */ \
static constexpr ElementsKind Kind = KindParam; \
using BackingStore = Store; \
}; \
constexpr ElementsKind ElementsKindTraits<KindParam>::Kind;

Definition at line 170 of file elements.cc.

◆ FIXED_ELEMENTS_ACCESSOR

#define FIXED_ELEMENTS_ACCESSOR ( Type,
type,
TYPE,
ctype )
Value:
using Type##ElementsAccessor = TypedElementsAccessor<TYPE##_ELEMENTS, ctype>;

Definition at line 4773 of file elements.cc.

◆ RETURN_FAILURE_IF_NOT_SUCCESSFUL

#define RETURN_FAILURE_IF_NOT_SUCCESSFUL ( call)
Value:
do { \
ExceptionStatus status_enum_result = (call); \
if (!status_enum_result) return status_enum_result; \
} while (false)

Definition at line 95 of file elements.cc.

◆ RETURN_NOTHING_IF_NOT_SUCCESSFUL

#define RETURN_NOTHING_IF_NOT_SUCCESSFUL ( call)
Value:
do { \
if (!(call)) return Nothing<bool>(); \
} while (false)

Definition at line 90 of file elements.cc.

◆ TYPED_ARRAY_CASE [1/5]

#define TYPED_ARRAY_CASE ( Type,
type,
TYPE,
ctype )
Value:
case TYPE##_ELEMENTS:

◆ TYPED_ARRAY_CASE [2/5]

#define TYPED_ARRAY_CASE ( Type,
type,
TYPE,
ctype )
Value:
case TYPE##_ELEMENTS:

◆ TYPED_ARRAY_CASE [3/5]

#define TYPED_ARRAY_CASE ( Type,
type,
TYPE,
ctype )
Value:
case TYPE##_ELEMENTS: { \
ctype* source_data = reinterpret_cast<ctype*>(source->DataPtr()) + start; \
CopyBetweenBackingStores<TYPE##_ELEMENTS, ctype>(source_data, dest_data, \
count, is_shared); \
break; \
}
int start

◆ TYPED_ARRAY_CASE [4/5]

#define TYPED_ARRAY_CASE ( Type,
type,
TYPE,
ctype )
Value:
case TYPE##_ELEMENTS: \
CopyBetweenBackingStores<TYPE##_ELEMENTS, ctype>( \
reinterpret_cast<ctype*>(source_data), \
reinterpret_cast<ElementType*>(dest_data) + offset, length, \
source_shared || destination_shared ? kShared : kUnshared); \
break;
int32_t offset

◆ TYPED_ARRAY_CASE [5/5]

#define TYPED_ARRAY_CASE ( Type,
type,
TYPE,
ctype,
NON_RAB_GSAB_TYPE )
Value:
case TYPE##_ELEMENTS: { \
ctype* source_data = reinterpret_cast<ctype*>(source->DataPtr()) + start; \
CopyBetweenBackingStores<NON_RAB_GSAB_TYPE##_ELEMENTS, ctype>( \
source_data, dest_data, count, is_shared); \
break; \
}

◆ TYPED_ARRAYS_CASE [1/2]

#define TYPED_ARRAYS_CASE ( Type,
type,
TYPE,
ctype )
Value:
case TYPE##_ELEMENTS: \
CHECK(Type##ElementsAccessor::TryCopyElementsFastNumber( \
context, source, destination, length, offset)); \
break;
InstructionOperand destination

◆ TYPED_ARRAYS_CASE [2/2]

#define TYPED_ARRAYS_CASE ( Type,
type,
TYPE,
ctype )
Value:
case TYPE##_ELEMENTS: \
Type##ElementsAccessor::CopyElementsFromTypedArray(source, destination, \
length, offset); \
break;