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

Go to the source code of this file.

Namespaces

namespace  v8
 
namespace  v8::internal
 

Macros

#define SHIFT(Type, type, TYPE, ctype)
 
#define SIZE(Type, type, TYPE, ctype)
 
#define VERIFY_SHIFT(Type, type, TYPE, ctype)
 
#define VERIFY_SIZE(Type, type, TYPE, ctype)
 
#define PRINT_NAME(Type, type, TYPE, _)
 

Functions

const uint8_t * v8::internal::TypedArrayAndRabGsabTypedArrayElementsKindShifts ()
 
const uint8_t * v8::internal::TypedArrayAndRabGsabTypedArrayElementsKindSizes ()
 
int v8::internal::GetDefaultHeaderSizeForElementsKind (ElementsKind elements_kind)
 
const char * v8::internal::ElementsKindToString (ElementsKind kind)
 
ElementsKind v8::internal::GetFastElementsKindFromSequenceIndex (int sequence_number)
 
int v8::internal::GetSequenceIndexFromFastElementsKind (ElementsKind elements_kind)
 
ElementsKind v8::internal::GetNextTransitionElementsKind (ElementsKind kind)
 
static bool v8::internal::IsFastTransitionTarget (ElementsKind elements_kind)
 
bool v8::internal::IsMoreGeneralElementsKindTransition (ElementsKind from_kind, ElementsKind to_kind)
 
bool v8::internal::UnionElementsKindUptoSize (ElementsKind *a_out, ElementsKind b)
 
std::ostream & v8::internal::operator<< (std::ostream &os, ElementsKind kind)
 

Variables

constexpr uint8_t v8::internal::kTypedArrayAndRabGsabTypedArrayElementsKindShifts []
 
constexpr uint8_t v8::internal::kTypedArrayAndRabGsabTypedArrayElementsKindSizes []
 
const ElementsKind v8::internal::kFastElementsKindSequence [kFastElementsKindCount]
 

Macro Definition Documentation

◆ PRINT_NAME

#define PRINT_NAME ( Type,
type,
TYPE,
_ )
Value:
case TYPE##_ELEMENTS: \
return #TYPE "ELEMENTS";

◆ SHIFT

#define SHIFT ( Type,
type,
TYPE,
ctype )
Value:
size_to_shift(sizeof(ctype)),

◆ SIZE

#define SIZE ( Type,
type,
TYPE,
ctype )
Value:
sizeof(ctype),

◆ VERIFY_SHIFT

#define VERIFY_SHIFT ( Type,
type,
TYPE,
ctype )
Value:
static_assert( \
kTypedArrayAndRabGsabTypedArrayElementsKindShifts \
[ElementsKind::TYPE##_ELEMENTS - \
ElementsKind::FIRST_FIXED_TYPED_ARRAY_ELEMENTS_KIND] == \
ElementsKindToShiftSize(ElementsKind::TYPE##_ELEMENTS), \
"Shift of ElementsKind::" #TYPE \
"_ELEMENTS does not match in static table");

Definition at line 44 of file elements-kind.cc.

◆ VERIFY_SIZE

#define VERIFY_SIZE ( Type,
type,
TYPE,
ctype )
Value:
static_assert( \
kTypedArrayAndRabGsabTypedArrayElementsKindSizes \
[ElementsKind::TYPE##_ELEMENTS - \
ElementsKind::FIRST_FIXED_TYPED_ARRAY_ELEMENTS_KIND] == \
ElementsKindToByteSize(ElementsKind::TYPE##_ELEMENTS), \
"Size of ElementsKind::" #TYPE \
"_ELEMENTS does not match in static table");

Definition at line 56 of file elements-kind.cc.