17 switch (elements_kind) {
64 return accessor->
name();
94 InitializeFastElementsKindSequence>::type
99 DCHECK(sequence_number >= 0 &&
118 #define FIXED_TYPED_ARRAY_CASE(Type, type, TYPE, ctype, size) \
119 case TYPE##_ELEMENTS: return EXTERNAL_##TYPE##_ELEMENTS;
122 #undef FIXED_TYPED_ARRAY_CASE
132 bool allow_only_packed) {
138 return elements_kind;
162 #define FIXED_TYPED_ARRAY_CASE(Type, type, TYPE, ctype, size) \
163 case TYPE##_ELEMENTS: \
164 return to_kind == EXTERNAL_##TYPE##_ELEMENTS;
167 #undef FIXED_TYPED_ARRAY_CASE
const char * name() const
static ElementsAccessor * ForKind(ElementsKind elements_kind)
static const int kHeaderSize
#define FIXED_TYPED_ARRAY_CASE(Type, type, TYPE, ctype, size)
#define LAZY_INSTANCE_INITIALIZER
#define DCHECK(condition)
static bool IsTypedArrayElementsKind(ElementsKind elements_kind)
bool IsFastHoleyElementsKind(ElementsKind kind)
ElementsKind GetFastElementsKindFromSequenceIndex(int sequence_number)
bool IsExternalArrayElementsKind(ElementsKind kind)
bool IsMoreGeneralElementsKindTransition(ElementsKind from_kind, ElementsKind to_kind)
const int kFastElementsKindPackedToHoley
ElementsKind GetNextMoreGeneralFastElementsKind(ElementsKind elements_kind, bool allow_only_packed)
static bool IsFastTransitionTarget(ElementsKind elements_kind)
const int kPointerSizeLog2
@ EXTERNAL_UINT16_ELEMENTS
@ EXTERNAL_INT16_ELEMENTS
@ EXTERNAL_UINT8_ELEMENTS
@ EXTERNAL_INT32_ELEMENTS
@ FIRST_FAST_ELEMENTS_KIND
@ FAST_HOLEY_DOUBLE_ELEMENTS
@ SLOPPY_ARGUMENTS_ELEMENTS
@ EXTERNAL_FLOAT32_ELEMENTS
@ EXTERNAL_FLOAT64_ELEMENTS
@ TERMINAL_FAST_ELEMENTS_KIND
@ FAST_HOLEY_SMI_ELEMENTS
@ EXTERNAL_UINT32_ELEMENTS
@ EXTERNAL_UINT8_CLAMPED_ELEMENTS
const char * ElementsKindToString(ElementsKind kind)
int ElementsKindToShiftSize(ElementsKind elements_kind)
int GetSequenceIndexFromFastElementsKind(ElementsKind elements_kind)
int GetDefaultHeaderSizeForElementsKind(ElementsKind elements_kind)
const int kFastElementsKindCount
ElementsKind GetNextTransitionElementsKind(ElementsKind kind)
bool IsFastElementsKind(ElementsKind kind)
static base::LazyInstance< ElementsKind *, InitializeFastElementsKindSequence >::type fast_elements_kind_sequence
STATIC_ASSERT(sizeof(CPURegister)==sizeof(Register))
bool IsFixedTypedArrayElementsKind(ElementsKind kind)
Debugger support for the V8 JavaScript engine.
static void Construct(ElementsKind **fast_elements_kind_sequence_ptr)