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 674 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
685 JSObjectVerify(); | 685 JSObjectVerify(); |
686 CHECK(length()->IsNumber() || length()->IsUndefined()); | 686 CHECK(length()->IsNumber() || length()->IsUndefined()); |
687 // If a GC was caused while constructing this array, the elements | 687 // If a GC was caused while constructing this array, the elements |
688 // pointer may point to a one pointer filler map. | 688 // pointer may point to a one pointer filler map. |
689 if ((FLAG_use_gvn && FLAG_use_allocation_folding) || | 689 if ((FLAG_use_gvn && FLAG_use_allocation_folding) || |
690 (reinterpret_cast<Map*>(elements()) != | 690 (reinterpret_cast<Map*>(elements()) != |
691 GetHeap()->one_pointer_filler_map())) { | 691 GetHeap()->one_pointer_filler_map())) { |
692 CHECK(elements()->IsUndefined() || | 692 CHECK(elements()->IsUndefined() || |
693 elements()->IsFixedArray() || | 693 elements()->IsFixedArray() || |
694 elements()->IsFixedDoubleArray()); | 694 elements()->IsFixedDoubleArray()); |
695 // TODO(mvstanton): to diagnose chromium bug 284577, remove after. | |
696 AllocationMemento* memento = AllocationMemento::FindForJSObject(this); | |
697 if (memento != NULL && memento->IsValid()) { | |
698 memento->AllocationMementoVerify(); | |
699 } | |
700 } | 695 } |
701 } | 696 } |
702 | 697 |
703 | 698 |
704 void JSSet::JSSetVerify() { | 699 void JSSet::JSSetVerify() { |
705 CHECK(IsJSSet()); | 700 CHECK(IsJSSet()); |
706 JSObjectVerify(); | 701 JSObjectVerify(); |
707 VerifyHeapPointer(table()); | 702 VerifyHeapPointer(table()); |
708 CHECK(table()->IsHashTable() || table()->IsUndefined()); | 703 CHECK(table()->IsHashTable() || table()->IsUndefined()); |
709 } | 704 } |
(...skipping 479 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1189 for (int i = 0; i < number_of_transitions(); ++i) { | 1184 for (int i = 0; i < number_of_transitions(); ++i) { |
1190 if (!CheckOneBackPointer(current_map, GetTarget(i))) return false; | 1185 if (!CheckOneBackPointer(current_map, GetTarget(i))) return false; |
1191 } | 1186 } |
1192 return true; | 1187 return true; |
1193 } | 1188 } |
1194 | 1189 |
1195 | 1190 |
1196 #endif // DEBUG | 1191 #endif // DEBUG |
1197 | 1192 |
1198 } } // namespace v8::internal | 1193 } } // namespace v8::internal |
OLD | NEW |