| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
| 2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
| 3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
| 4 // met: | 4 // met: |
| 5 // | 5 // |
| 6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
| 7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
| 8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
| 9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
| 10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
| (...skipping 349 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 360 | 360 |
| 361 void PolymorphicCodeCache::PolymorphicCodeCacheVerify() { | 361 void PolymorphicCodeCache::PolymorphicCodeCacheVerify() { |
| 362 VerifyHeapPointer(cache()); | 362 VerifyHeapPointer(cache()); |
| 363 CHECK(cache()->IsUndefined() || cache()->IsPolymorphicCodeCacheHashTable()); | 363 CHECK(cache()->IsUndefined() || cache()->IsPolymorphicCodeCacheHashTable()); |
| 364 } | 364 } |
| 365 | 365 |
| 366 | 366 |
| 367 void TypeFeedbackInfo::TypeFeedbackInfoVerify() { | 367 void TypeFeedbackInfo::TypeFeedbackInfoVerify() { |
| 368 VerifyObjectField(kStorage1Offset); | 368 VerifyObjectField(kStorage1Offset); |
| 369 VerifyObjectField(kStorage2Offset); | 369 VerifyObjectField(kStorage2Offset); |
| 370 VerifyHeapPointer(feedback_vector()); | 370 VerifyHeapPointer(type_feedback_cells()); |
| 371 } | 371 } |
| 372 | 372 |
| 373 | 373 |
| 374 void AliasedArgumentsEntry::AliasedArgumentsEntryVerify() { | 374 void AliasedArgumentsEntry::AliasedArgumentsEntryVerify() { |
| 375 VerifySmiField(kAliasedContextSlot); | 375 VerifySmiField(kAliasedContextSlot); |
| 376 } | 376 } |
| 377 | 377 |
| 378 | 378 |
| 379 void FixedArray::FixedArrayVerify() { | 379 void FixedArray::FixedArrayVerify() { |
| 380 for (int i = 0; i < length(); i++) { | 380 for (int i = 0; i < length(); i++) { |
| (...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 483 | 483 |
| 484 | 484 |
| 485 void JSMessageObject::JSMessageObjectVerify() { | 485 void JSMessageObject::JSMessageObjectVerify() { |
| 486 CHECK(IsJSMessageObject()); | 486 CHECK(IsJSMessageObject()); |
| 487 CHECK(type()->IsString()); | 487 CHECK(type()->IsString()); |
| 488 CHECK(arguments()->IsJSArray()); | 488 CHECK(arguments()->IsJSArray()); |
| 489 VerifyObjectField(kStartPositionOffset); | 489 VerifyObjectField(kStartPositionOffset); |
| 490 VerifyObjectField(kEndPositionOffset); | 490 VerifyObjectField(kEndPositionOffset); |
| 491 VerifyObjectField(kArgumentsOffset); | 491 VerifyObjectField(kArgumentsOffset); |
| 492 VerifyObjectField(kScriptOffset); | 492 VerifyObjectField(kScriptOffset); |
| 493 VerifyObjectField(kStackTraceOffset); |
| 493 VerifyObjectField(kStackFramesOffset); | 494 VerifyObjectField(kStackFramesOffset); |
| 494 } | 495 } |
| 495 | 496 |
| 496 | 497 |
| 497 void String::StringVerify() { | 498 void String::StringVerify() { |
| 498 CHECK(IsString()); | 499 CHECK(IsString()); |
| 499 CHECK(length() >= 0 && length() <= Smi::kMaxValue); | 500 CHECK(length() >= 0 && length() <= Smi::kMaxValue); |
| 500 if (IsInternalizedString()) { | 501 if (IsInternalizedString()) { |
| 501 CHECK(!GetHeap()->InNewSpace(this)); | 502 CHECK(!GetHeap()->InNewSpace(this)); |
| 502 } | 503 } |
| (...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 628 last_gc_pc = it.rinfo()->pc(); | 629 last_gc_pc = it.rinfo()->pc(); |
| 629 } | 630 } |
| 630 } | 631 } |
| 631 } | 632 } |
| 632 | 633 |
| 633 | 634 |
| 634 void Code::VerifyEmbeddedObjectsDependency() { | 635 void Code::VerifyEmbeddedObjectsDependency() { |
| 635 int mode_mask = RelocInfo::ModeMask(RelocInfo::EMBEDDED_OBJECT); | 636 int mode_mask = RelocInfo::ModeMask(RelocInfo::EMBEDDED_OBJECT); |
| 636 for (RelocIterator it(this, mode_mask); !it.done(); it.next()) { | 637 for (RelocIterator it(this, mode_mask); !it.done(); it.next()) { |
| 637 Object* obj = it.rinfo()->target_object(); | 638 Object* obj = it.rinfo()->target_object(); |
| 638 if (IsWeakObject(obj)) { | 639 if (IsWeakEmbeddedObject(kind(), obj)) { |
| 639 if (obj->IsMap()) { | 640 if (obj->IsMap()) { |
| 640 Map* map = Map::cast(obj); | 641 Map* map = Map::cast(obj); |
| 641 CHECK(map->dependent_code()->Contains( | 642 CHECK(map->dependent_code()->Contains( |
| 642 DependentCode::kWeaklyEmbeddedGroup, this)); | 643 DependentCode::kWeaklyEmbeddedGroup, this)); |
| 643 } else if (obj->IsJSObject()) { | 644 } else if (obj->IsJSObject()) { |
| 644 Object* raw_table = GetIsolate()->heap()->weak_object_to_code_table(); | 645 Object* raw_table = GetIsolate()->heap()->weak_object_to_code_table(); |
| 645 WeakHashTable* table = WeakHashTable::cast(raw_table); | 646 WeakHashTable* table = WeakHashTable::cast(raw_table); |
| 646 CHECK(DependentCode::cast(table->Lookup(obj))->Contains( | 647 CHECK(DependentCode::cast(table->Lookup(obj))->Contains( |
| 647 DependentCode::kWeaklyEmbeddedGroup, this)); | 648 DependentCode::kWeaklyEmbeddedGroup, this)); |
| 648 } | 649 } |
| (...skipping 501 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1150 for (int i = 0; i < number_of_transitions(); ++i) { | 1151 for (int i = 0; i < number_of_transitions(); ++i) { |
| 1151 if (!CheckOneBackPointer(current_map, GetTarget(i))) return false; | 1152 if (!CheckOneBackPointer(current_map, GetTarget(i))) return false; |
| 1152 } | 1153 } |
| 1153 return true; | 1154 return true; |
| 1154 } | 1155 } |
| 1155 | 1156 |
| 1156 | 1157 |
| 1157 #endif // DEBUG | 1158 #endif // DEBUG |
| 1158 | 1159 |
| 1159 } } // namespace v8::internal | 1160 } } // namespace v8::internal |
| OLD | NEW |