OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "src/heap/mark-compact.h" | 5 #include "src/heap/mark-compact.h" |
6 | 6 |
7 #include "src/base/atomicops.h" | 7 #include "src/base/atomicops.h" |
8 #include "src/base/bits.h" | 8 #include "src/base/bits.h" |
9 #include "src/base/sys-info.h" | 9 #include "src/base/sys-info.h" |
10 #include "src/code-stubs.h" | 10 #include "src/code-stubs.h" |
(...skipping 880 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
891 // marking cycle. We did not collect any slots. | 891 // marking cycle. We did not collect any slots. |
892 if (!FLAG_never_compact && !was_marked_incrementally_) { | 892 if (!FLAG_never_compact && !was_marked_incrementally_) { |
893 StartCompaction(NON_INCREMENTAL_COMPACTION); | 893 StartCompaction(NON_INCREMENTAL_COMPACTION); |
894 } | 894 } |
895 | 895 |
896 PagedSpaces spaces(heap()); | 896 PagedSpaces spaces(heap()); |
897 for (PagedSpace* space = spaces.next(); space != NULL; | 897 for (PagedSpace* space = spaces.next(); space != NULL; |
898 space = spaces.next()) { | 898 space = spaces.next()) { |
899 space->PrepareForMarkCompact(); | 899 space->PrepareForMarkCompact(); |
900 } | 900 } |
901 heap()->account_amount_of_external_allocated_freed_memory(); | 901 heap()->account_external_memory_concurrently_freed(); |
902 | 902 |
903 #ifdef VERIFY_HEAP | 903 #ifdef VERIFY_HEAP |
904 if (!was_marked_incrementally_ && FLAG_verify_heap) { | 904 if (!was_marked_incrementally_ && FLAG_verify_heap) { |
905 VerifyMarkbitsAreClean(); | 905 VerifyMarkbitsAreClean(); |
906 } | 906 } |
907 #endif | 907 #endif |
908 } | 908 } |
909 | 909 |
910 | 910 |
911 void MarkCompactCollector::Finish() { | 911 void MarkCompactCollector::Finish() { |
(...skipping 3205 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4117 MarkBit mark_bit = Marking::MarkBitFrom(host); | 4117 MarkBit mark_bit = Marking::MarkBitFrom(host); |
4118 if (Marking::IsBlack(mark_bit)) { | 4118 if (Marking::IsBlack(mark_bit)) { |
4119 RelocInfo rinfo(isolate(), pc, RelocInfo::CODE_TARGET, 0, host); | 4119 RelocInfo rinfo(isolate(), pc, RelocInfo::CODE_TARGET, 0, host); |
4120 RecordRelocSlot(host, &rinfo, target); | 4120 RecordRelocSlot(host, &rinfo, target); |
4121 } | 4121 } |
4122 } | 4122 } |
4123 } | 4123 } |
4124 | 4124 |
4125 } // namespace internal | 4125 } // namespace internal |
4126 } // namespace v8 | 4126 } // namespace v8 |
OLD | NEW |