#ifndef V8_ELEMENTS_KIND_H_
#define V8_ELEMENTS_KIND_H_
-#include "src/v8checks.h"
+#include "src/checks.h"
namespace v8 {
namespace internal {
EXTERNAL_INT16_ELEMENTS,
EXTERNAL_UINT16_ELEMENTS,
EXTERNAL_INT32_ELEMENTS,
- EXTERNAL_INT32x4_ELEMENTS,
EXTERNAL_UINT32_ELEMENTS,
EXTERNAL_FLOAT32_ELEMENTS,
- EXTERNAL_FLOAT32x4_ELEMENTS,
EXTERNAL_FLOAT64_ELEMENTS,
- EXTERNAL_FLOAT64x2_ELEMENTS,
EXTERNAL_UINT8_CLAMPED_ELEMENTS,
// Fixed typed arrays
INT16_ELEMENTS,
UINT32_ELEMENTS,
INT32_ELEMENTS,
- INT32x4_ELEMENTS,
FLOAT32_ELEMENTS,
- FLOAT32x4_ELEMENTS,
FLOAT64_ELEMENTS,
- FLOAT64x2_ELEMENTS,
UINT8_CLAMPED_ELEMENTS,
// Derived constants from ElementsKind
int ElementsKindToShiftSize(ElementsKind elements_kind);
int GetDefaultHeaderSizeForElementsKind(ElementsKind elements_kind);
const char* ElementsKindToString(ElementsKind kind);
-void PrintElementsKind(FILE* out, ElementsKind kind);
-ElementsKind GetInitialFastElementsKind();
+inline ElementsKind GetInitialFastElementsKind() { return FAST_SMI_ELEMENTS; }
ElementsKind GetFastElementsKindFromSequenceIndex(int sequence_number);
int GetSequenceIndexFromFastElementsKind(ElementsKind elements_kind);
inline bool IsFastElementsKind(ElementsKind kind) {
- ASSERT(FIRST_FAST_ELEMENTS_KIND == 0);
+ DCHECK(FIRST_FAST_ELEMENTS_KIND == 0);
return kind <= FAST_HOLEY_DOUBLE_ELEMENTS;
}
}
-inline bool IsExternalFloat32x4ElementsKind(ElementsKind kind) {
- return kind == EXTERNAL_FLOAT32x4_ELEMENTS;
-}
-
-
-inline bool IsExternalFloat64x2ElementsKind(ElementsKind kind) {
- return kind == EXTERNAL_FLOAT64x2_ELEMENTS;
-}
-
-
-inline bool IsExternalInt32x4ElementsKind(ElementsKind kind) {
- return kind == EXTERNAL_INT32x4_ELEMENTS;
-}
-
-
inline bool IsFixedFloatElementsKind(ElementsKind kind) {
return kind == FLOAT32_ELEMENTS || kind == FLOAT64_ELEMENTS;
}
-inline bool IsFixedFloat32x4ElementsKind(ElementsKind kind) {
- return kind == FLOAT32x4_ELEMENTS;
-}
-
-
-inline bool IsFixedFloat64x2ElementsKind(ElementsKind kind) {
- return kind == FLOAT64x2_ELEMENTS;
-}
-
-
-inline bool IsFixedInt32x4ElementsKind(ElementsKind kind) {
- return kind == INT32x4_ELEMENTS;
-}
-
-
inline bool IsDoubleOrFloatElementsKind(ElementsKind kind) {
return IsFastDoubleElementsKind(kind) ||
IsExternalFloatOrDoubleElementsKind(kind) ||
}
-inline bool IsFloat32x4ElementsKind(ElementsKind kind) {
- return IsExternalFloat32x4ElementsKind(kind) ||
- IsFixedFloat32x4ElementsKind(kind);
-}
-
-
-inline bool IsFloat64x2ElementsKind(ElementsKind kind) {
- return IsExternalFloat64x2ElementsKind(kind) ||
- IsFixedFloat64x2ElementsKind(kind);
-}
-
-
-inline bool IsInt32x4ElementsKind(ElementsKind kind) {
- return IsExternalInt32x4ElementsKind(kind) ||
- IsFixedInt32x4ElementsKind(kind);
-}
-
-
-inline bool IsSIMD128ElementsKind(ElementsKind kind) {
- return IsFloat32x4ElementsKind(kind) || IsFloat64x2ElementsKind(kind) ||
- IsInt32x4ElementsKind(kind);
-}
-
-
inline bool IsFastSmiOrObjectElementsKind(ElementsKind kind) {
return kind == FAST_SMI_ELEMENTS ||
kind == FAST_HOLEY_SMI_ELEMENTS ||
inline ElementsKind FastSmiToObjectElementsKind(ElementsKind from_kind) {
- ASSERT(IsFastSmiElementsKind(from_kind));
+ DCHECK(IsFastSmiElementsKind(from_kind));
return (from_kind == FAST_SMI_ELEMENTS)
? FAST_ELEMENTS
: FAST_HOLEY_ELEMENTS;