39 switch (elements_kind) {
79 return accessor->
name();
89 if (FLAG_packed_arrays) {
102 *fast_elements_kind_sequence_ptr = fast_elements_kind_sequence;
123 InitializeFastElementsKindSequence>::type
128 ASSERT(sequence_number >= 0 &&
130 return fast_elements_kind_sequence.Get()[sequence_number];
136 if (fast_elements_kind_sequence.Get()[i] == elements_kind) {
147 #define FIXED_TYPED_ARRAY_CASE(Type, type, TYPE, ctype, size) \
148 case TYPE##_ELEMENTS: return EXTERNAL_##TYPE##_ELEMENTS;
151 #undef FIXED_TYPED_ARRAY_CASE
161 bool allow_only_packed) {
167 return elements_kind;
void PrintF(const char *format,...)
static void Construct(ElementsKind **fast_elements_kind_sequence_ptr)
#define FIXED_TYPED_ARRAY_CASE(Type, type, TYPE, ctype, size)
#define ASSERT(condition)
const int kPointerSizeLog2
const int kFastElementsKindCount
bool IsFastElementsKind(ElementsKind kind)
int GetSequenceIndexFromFastElementsKind(ElementsKind elements_kind)
const int kFastElementsKindPackedToHoley
STATIC_ASSERT(sizeof(CPURegister)==sizeof(Register))
ElementsKind GetFastElementsKindFromSequenceIndex(int sequence_number)
bool IsMoreGeneralElementsKindTransition(ElementsKind from_kind, ElementsKind to_kind)
int ElementsKindToShiftSize(ElementsKind elements_kind)
static ElementsAccessor * ForKind(ElementsKind elements_kind)
void PrintElementsKind(FILE *out, ElementsKind kind)
const char * ElementsKindToString(ElementsKind kind)
ElementsKind GetInitialFastElementsKind()
ElementsKind GetNextMoreGeneralFastElementsKind(ElementsKind elements_kind, bool allow_only_packed)
bool IsFastHoleyElementsKind(ElementsKind kind)
#define LAZY_INSTANCE_INITIALIZER
const char * name() const
ElementsKind GetNextTransitionElementsKind(ElementsKind kind)