diff options
author | Ben Noordhuis <info@bnoordhuis.nl> | 2014-03-31 14:38:28 +0200 |
---|---|---|
committer | Fedor Indutny <fedor@indutny.com> | 2014-04-02 00:05:24 +0400 |
commit | 67e078094b53861a5aa7e9354e33487d0bd4f73b (patch) | |
tree | 09a706adee1ddb59c1507ee3320de9cb6896135b /deps/v8/src/objects-debug.cc | |
parent | f984555d47298cfb01b3e55c2861066379306fc3 (diff) | |
download | android-node-v8-67e078094b53861a5aa7e9354e33487d0bd4f73b.tar.gz android-node-v8-67e078094b53861a5aa7e9354e33487d0bd4f73b.tar.bz2 android-node-v8-67e078094b53861a5aa7e9354e33487d0bd4f73b.zip |
deps: upgrade v8 to 3.25.30
Diffstat (limited to 'deps/v8/src/objects-debug.cc')
-rw-r--r-- | deps/v8/src/objects-debug.cc | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/deps/v8/src/objects-debug.cc b/deps/v8/src/objects-debug.cc index e33b46be79..ca025e6cf6 100644 --- a/deps/v8/src/objects-debug.cc +++ b/deps/v8/src/objects-debug.cc @@ -264,8 +264,9 @@ void FixedTypedArray<Traits>::FixedTypedArrayVerify() { bool JSObject::ElementsAreSafeToExamine() { - return (FLAG_use_gvn && FLAG_use_allocation_folding) || - reinterpret_cast<Map*>(elements()) != + // If a GC was caused while constructing this object, the elements + // pointer may point to a one pointer filler map. + return reinterpret_cast<Map*>(elements()) != GetHeap()->one_pointer_filler_map(); } @@ -274,7 +275,7 @@ void JSObject::JSObjectVerify() { VerifyHeapPointer(properties()); VerifyHeapPointer(elements()); - if (GetElementsKind() == NON_STRICT_ARGUMENTS_ELEMENTS) { + if (GetElementsKind() == SLOPPY_ARGUMENTS_ELEMENTS) { CHECK(this->elements()->IsFixedArray()); CHECK_GE(this->elements()->length(), 2); } @@ -367,7 +368,7 @@ void PolymorphicCodeCache::PolymorphicCodeCacheVerify() { void TypeFeedbackInfo::TypeFeedbackInfoVerify() { VerifyObjectField(kStorage1Offset); VerifyObjectField(kStorage2Offset); - VerifyHeapPointer(type_feedback_cells()); + VerifyHeapPointer(feedback_vector()); } @@ -403,6 +404,13 @@ void FixedDoubleArray::FixedDoubleArrayVerify() { void ConstantPoolArray::ConstantPoolArrayVerify() { CHECK(IsConstantPoolArray()); + for (int i = 0; i < count_of_code_ptr_entries(); i++) { + Address code_entry = get_code_ptr_entry(first_code_ptr_index() + i); + VerifyPointer(Code::GetCodeFromTargetAddress(code_entry)); + } + for (int i = 0; i < count_of_heap_ptr_entries(); i++) { + VerifyObjectField(OffsetOfElementAt(first_heap_ptr_index() + i)); + } } @@ -490,7 +498,6 @@ void JSMessageObject::JSMessageObjectVerify() { VerifyObjectField(kEndPositionOffset); VerifyObjectField(kArgumentsOffset); VerifyObjectField(kScriptOffset); - VerifyObjectField(kStackTraceOffset); VerifyObjectField(kStackFramesOffset); } @@ -636,7 +643,7 @@ void Code::VerifyEmbeddedObjectsDependency() { int mode_mask = RelocInfo::ModeMask(RelocInfo::EMBEDDED_OBJECT); for (RelocIterator it(this, mode_mask); !it.done(); it.next()) { Object* obj = it.rinfo()->target_object(); - if (IsWeakEmbeddedObject(kind(), obj)) { + if (IsWeakObject(obj)) { if (obj->IsMap()) { Map* map = Map::cast(obj); CHECK(map->dependent_code()->Contains( @@ -767,7 +774,8 @@ void JSArrayBufferView::JSArrayBufferViewVerify() { CHECK(IsJSArrayBufferView()); JSObjectVerify(); VerifyPointer(buffer()); - CHECK(buffer()->IsJSArrayBuffer() || buffer()->IsUndefined()); + CHECK(buffer()->IsJSArrayBuffer() || buffer()->IsUndefined() + || buffer() == Smi::FromInt(0)); VerifyPointer(byte_offset()); CHECK(byte_offset()->IsSmi() || byte_offset()->IsHeapNumber() @@ -931,7 +939,6 @@ void Script::ScriptVerify() { VerifyPointer(name()); line_offset()->SmiVerify(); column_offset()->SmiVerify(); - VerifyPointer(data()); VerifyPointer(wrapper()); type()->SmiVerify(); VerifyPointer(line_ends()); @@ -1054,7 +1061,7 @@ void JSObject::IncrementSpillStatistics(SpillInformation* info) { dict->Capacity() - dict->NumberOfElements(); break; } - case NON_STRICT_ARGUMENTS_ELEMENTS: + case SLOPPY_ARGUMENTS_ELEMENTS: break; } } |