| Index: src/objects.h
|
| diff --git a/src/objects.h b/src/objects.h
|
| index 2edb687fa9bdaf486b5c403dcc7c80a149fc435b..6891e4828759282ff62787ee861e6f829c660e7d 100644
|
| --- a/src/objects.h
|
| +++ b/src/objects.h
|
| @@ -375,13 +375,7 @@ const int kStubMinorKeyBits = kSmiValueSize - kStubMajorKeyBits - 1;
|
| V(SHORT_EXTERNAL_INTERNALIZED_STRING_WITH_ONE_BYTE_DATA_TYPE) \
|
| \
|
| V(SYMBOL_TYPE) \
|
| - V(FLOAT32X4_TYPE) \
|
| - V(INT32X4_TYPE) \
|
| - V(BOOL32X4_TYPE) \
|
| - V(INT16X8_TYPE) \
|
| - V(BOOL16X8_TYPE) \
|
| - V(INT8X16_TYPE) \
|
| - V(BOOL8X16_TYPE) \
|
| + V(SIMD128_VALUE_TYPE) \
|
| \
|
| V(MAP_TYPE) \
|
| V(CODE_TYPE) \
|
| @@ -675,13 +669,7 @@ enum InstanceType {
|
| // objects.
|
| HEAP_NUMBER_TYPE,
|
| MUTABLE_HEAP_NUMBER_TYPE,
|
| - FLOAT32X4_TYPE, // FIRST_SIMD_VALUE_TYPE
|
| - INT32X4_TYPE,
|
| - BOOL32X4_TYPE,
|
| - INT16X8_TYPE,
|
| - BOOL16X8_TYPE,
|
| - INT8X16_TYPE,
|
| - BOOL8X16_TYPE, // LAST_SIMD_VALUE_TYPE
|
| + SIMD128_VALUE_TYPE,
|
| FOREIGN_TYPE,
|
| BYTE_ARRAY_TYPE,
|
| BYTECODE_ARRAY_TYPE,
|
| @@ -765,9 +753,6 @@ enum InstanceType {
|
| FIRST_UNIQUE_NAME_TYPE = INTERNALIZED_STRING_TYPE,
|
| LAST_UNIQUE_NAME_TYPE = SYMBOL_TYPE,
|
| FIRST_NONSTRING_TYPE = SYMBOL_TYPE,
|
| - // Boundaries for testing for a SIMD types.
|
| - FIRST_SIMD_VALUE_TYPE = FLOAT32X4_TYPE,
|
| - LAST_SIMD_VALUE_TYPE = BOOL8X16_TYPE,
|
| // Boundaries for testing for a fixed typed array.
|
| FIRST_FIXED_TYPED_ARRAY_TYPE = FIXED_INT8_ARRAY_TYPE,
|
| LAST_FIXED_TYPED_ARRAY_TYPE = FIXED_UINT8_CLAMPED_ARRAY_TYPE,
|
| @@ -1602,11 +1587,14 @@ class HeapNumber: public HeapObject {
|
| };
|
|
|
|
|
| -// The SimdValue128 class describes heap allocated 128 bit SIMD values.
|
| +// The Simd128Value class describes heap allocated 128 bit SIMD values.
|
| class Simd128Value : public HeapObject {
|
| public:
|
| DECLARE_CAST(Simd128Value)
|
|
|
| + DECLARE_PRINTER(Simd128Value)
|
| + DECLARE_VERIFIER(Simd128Value)
|
| +
|
| // Checks that another instance is bit-wise equal.
|
| bool BitwiseEquals(const Simd128Value* other) const;
|
| // Computes a hash from the 128 bit value, viewed as 4 32-bit integers.
|
| @@ -1623,31 +1611,31 @@ class Simd128Value : public HeapObject {
|
| };
|
|
|
|
|
| -#define SIMD128_TYPES(V) \
|
| - V(Float32x4, float32x4, 4, float) \
|
| - V(Int32x4, int32x4, 4, int32_t) \
|
| - V(Bool32x4, bool32x4, 4, bool) \
|
| - V(Int16x8, int16x8, 8, int16_t) \
|
| - V(Bool16x8, bool16x8, 8, bool) \
|
| - V(Int8x16, int8x16, 16, int8_t) \
|
| - V(Bool8x16, bool8x16, 16, bool)
|
| -
|
| -#define SIMD128_VALUE_CLASS(name, type, lane_count, lane_type) \
|
| - class name : public Simd128Value { \
|
| - public: \
|
| - inline lane_type get_lane(int lane) const; \
|
| - inline void set_lane(int lane, lane_type value); \
|
| - \
|
| - DECLARE_CAST(name) \
|
| - \
|
| - DECLARE_PRINTER(name) \
|
| - DECLARE_VERIFIER(name) \
|
| - \
|
| - private: \
|
| - DISALLOW_IMPLICIT_CONSTRUCTORS(name); \
|
| +// V has parameters (TYPE, Type, type, lane count, lane type)
|
| +#define SIMD128_TYPES(V) \
|
| + V(FLOAT32X4, Float32x4, float32x4, 4, float) \
|
| + V(INT32X4, Int32x4, int32x4, 4, int32_t) \
|
| + V(BOOL32X4, Bool32x4, bool32x4, 4, bool) \
|
| + V(INT16X8, Int16x8, int16x8, 8, int16_t) \
|
| + V(BOOL16X8, Bool16x8, bool16x8, 8, bool) \
|
| + V(INT8X16, Int8x16, int8x16, 16, int8_t) \
|
| + V(BOOL8X16, Bool8x16, bool8x16, 16, bool)
|
| +
|
| +#define SIMD128_VALUE_CLASS(TYPE, Type, type, lane_count, lane_type) \
|
| + class Type final : public Simd128Value { \
|
| + public: \
|
| + inline lane_type get_lane(int lane) const; \
|
| + inline void set_lane(int lane, lane_type value); \
|
| + \
|
| + DECLARE_CAST(Type) \
|
| + \
|
| + DECLARE_PRINTER(Type) \
|
| + \
|
| + private: \
|
| + DISALLOW_IMPLICIT_CONSTRUCTORS(Type); \
|
| };
|
| -
|
| SIMD128_TYPES(SIMD128_VALUE_CLASS)
|
| +#undef SIMD128_VALUE_CLASS
|
|
|
|
|
| enum EnsureElementsMode {
|
|
|