| Index: src/objects-debug.cc
|
| diff --git a/src/objects-debug.cc b/src/objects-debug.cc
|
| index 5babfdf1a7f434ce341a735b9daf1f9ee61813a5..b68895fbc6d27745e4dd8e1ca6bc71674b772ef9 100644
|
| --- a/src/objects-debug.cc
|
| +++ b/src/objects-debug.cc
|
| @@ -78,6 +78,9 @@
|
| break;
|
|
|
| #define VERIFY_TYPED_ARRAY(Type, type, TYPE, ctype, size) \
|
| + case EXTERNAL_##TYPE##_ARRAY_TYPE: \
|
| + External##Type##Array::cast(this)->External##Type##ArrayVerify(); \
|
| + break; \
|
| case FIXED_##TYPE##_ARRAY_TYPE: \
|
| Fixed##Type##Array::cast(this)->FixedTypedArrayVerify(); \
|
| break;
|
| @@ -233,17 +236,21 @@
|
| }
|
|
|
|
|
| +#define EXTERNAL_ARRAY_VERIFY(Type, type, TYPE, ctype, size) \
|
| + void External##Type##Array::External##Type##ArrayVerify() { \
|
| + CHECK(IsExternal##Type##Array()); \
|
| + }
|
| +
|
| +TYPED_ARRAYS(EXTERNAL_ARRAY_VERIFY)
|
| +#undef EXTERNAL_ARRAY_VERIFY
|
| +
|
| +
|
| template <class Traits>
|
| void FixedTypedArray<Traits>::FixedTypedArrayVerify() {
|
| CHECK(IsHeapObject() &&
|
| HeapObject::cast(this)->map()->instance_type() ==
|
| Traits::kInstanceType);
|
| - if (base_pointer() == this) {
|
| - CHECK(external_pointer() ==
|
| - ExternalReference::fixed_typed_array_base_data_offset().address());
|
| - } else {
|
| - CHECK(base_pointer() == nullptr);
|
| - }
|
| + CHECK(base_pointer() == this);
|
| }
|
|
|
|
|
| @@ -1089,6 +1096,7 @@
|
| }
|
|
|
| #define TYPED_ARRAY_CASE(Type, type, TYPE, ctype, size) \
|
| + case EXTERNAL_##TYPE##_ELEMENTS: \
|
| case TYPE##_ELEMENTS:
|
|
|
| TYPED_ARRAYS(TYPED_ARRAY_CASE)
|
|
|