OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 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 821 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
832 // All the interior pointers should be contained in the heap. | 832 // All the interior pointers should be contained in the heap. |
833 int size = object->Size(); | 833 int size = object->Size(); |
834 object->IterateBody(map->instance_type(), size, visitor); | 834 object->IterateBody(map->instance_type(), size, visitor); |
835 if (Marking::IsBlack(Marking::MarkBitFrom(object))) { | 835 if (Marking::IsBlack(Marking::MarkBitFrom(object))) { |
836 black_size += size; | 836 black_size += size; |
837 } | 837 } |
838 | 838 |
839 ASSERT(object->address() + size <= top); | 839 ASSERT(object->address() + size <= top); |
840 end_of_previous_object = object->address() + size; | 840 end_of_previous_object = object->address() + size; |
841 } | 841 } |
842 ASSERT_LE(black_size, page->LiveBytes()); | 842 |
| 843 if (!heap()->mark_compact_collector()->AreMarkbitsTainted()) { |
| 844 ASSERT_LE(black_size, page->LiveBytes()); |
| 845 } |
843 } | 846 } |
844 ASSERT(allocation_pointer_found_in_space); | 847 ASSERT(allocation_pointer_found_in_space); |
845 } | 848 } |
846 #endif | 849 #endif |
847 | 850 |
848 | 851 |
849 // ----------------------------------------------------------------------------- | 852 // ----------------------------------------------------------------------------- |
850 // NewSpace implementation | 853 // NewSpace implementation |
851 | 854 |
852 | 855 |
(...skipping 1690 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2543 object->ShortPrint(); | 2546 object->ShortPrint(); |
2544 PrintF("\n"); | 2547 PrintF("\n"); |
2545 } | 2548 } |
2546 printf(" --------------------------------------\n"); | 2549 printf(" --------------------------------------\n"); |
2547 printf(" Marked: %x, LiveCount: %x\n", mark_size, LiveBytes()); | 2550 printf(" Marked: %x, LiveCount: %x\n", mark_size, LiveBytes()); |
2548 } | 2551 } |
2549 | 2552 |
2550 #endif // DEBUG | 2553 #endif // DEBUG |
2551 | 2554 |
2552 } } // namespace v8::internal | 2555 } } // namespace v8::internal |
OLD | NEW |