Version 3.17.16
Stack trace API: poison stack frames below the first strict mode frame. (issue 2564)
Made Isolate::GetHeapStatistics robust against half-initialized isolates (Chromium issue 2591).
Finished implementation of ES6 symbols aka. private names (issue 2158).
Performance and stability improvements on all platforms.
git-svn-id: http://v8.googlecode.com/svn/trunk@14137 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
diff --git a/src/objects-debug.cc b/src/objects-debug.cc
index 82a71a5..44cab53 100644
--- a/src/objects-debug.cc
+++ b/src/objects-debug.cc
@@ -195,6 +195,9 @@
case JS_MESSAGE_OBJECT_TYPE:
JSMessageObject::cast(this)->JSMessageObjectVerify();
break;
+ case JS_ARRAY_BUFFER_TYPE:
+ JSArrayBuffer::cast(this)->JSArrayBufferVerify();
+ break;
#define MAKE_STRUCT_CASE(NAME, Name, name) \
case NAME##_TYPE: \
@@ -220,6 +223,7 @@
CHECK(IsSymbol());
CHECK(HasHashCode());
CHECK_GT(Hash(), 0);
+ CHECK(name()->IsUndefined() || name()->IsString());
}
@@ -711,6 +715,14 @@
VerifyPointer(construct_trap());
}
+void JSArrayBuffer::JSArrayBufferVerify() {
+ CHECK(IsJSArrayBuffer());
+ JSObjectVerify();
+ VerifyPointer(byte_length());
+ CHECK(byte_length()->IsSmi() || byte_length()->IsHeapNumber()
+ || byte_length()->IsUndefined());
+}
+
void Foreign::ForeignVerify() {
CHECK(IsForeign());