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 782 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
793 if (was_marked_incrementally_ && heap_->ShouldAbortIncrementalMarking()) { | 793 if (was_marked_incrementally_ && heap_->ShouldAbortIncrementalMarking()) { |
794 heap()->incremental_marking()->Stop(); | 794 heap()->incremental_marking()->Stop(); |
795 heap()->incremental_marking()->AbortBlackAllocation(); | 795 heap()->incremental_marking()->AbortBlackAllocation(); |
796 ClearMarkbits(); | 796 ClearMarkbits(); |
797 AbortWeakCollections(); | 797 AbortWeakCollections(); |
798 AbortWeakCells(); | 798 AbortWeakCells(); |
799 AbortTransitionArrays(); | 799 AbortTransitionArrays(); |
800 AbortCompaction(); | 800 AbortCompaction(); |
801 if (heap_->UsingEmbedderHeapTracer()) { | 801 if (heap_->UsingEmbedderHeapTracer()) { |
802 heap_->embedder_heap_tracer()->AbortTracing(); | 802 heap_->embedder_heap_tracer()->AbortTracing(); |
| 803 heap_->clear_wrappers_to_trace(); |
803 } | 804 } |
804 marking_deque()->Clear(); | 805 marking_deque()->Clear(); |
805 was_marked_incrementally_ = false; | 806 was_marked_incrementally_ = false; |
806 } | 807 } |
807 | 808 |
808 if (!was_marked_incrementally_) { | 809 if (!was_marked_incrementally_) { |
809 if (heap_->UsingEmbedderHeapTracer()) { | 810 if (heap_->UsingEmbedderHeapTracer()) { |
810 TRACE_GC(heap()->tracer(), GCTracer::Scope::MC_MARK_WRAPPER_PROLOGUE); | 811 TRACE_GC(heap()->tracer(), GCTracer::Scope::MC_MARK_WRAPPER_PROLOGUE); |
811 heap_->embedder_heap_tracer()->TracePrologue(); | 812 heap_->embedder_heap_tracer()->TracePrologue(); |
812 } | 813 } |
(...skipping 3267 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4080 // The target is always in old space, we don't have to record the slot in | 4081 // The target is always in old space, we don't have to record the slot in |
4081 // the old-to-new remembered set. | 4082 // the old-to-new remembered set. |
4082 DCHECK(!heap()->InNewSpace(target)); | 4083 DCHECK(!heap()->InNewSpace(target)); |
4083 RecordRelocSlot(host, &rinfo, target); | 4084 RecordRelocSlot(host, &rinfo, target); |
4084 } | 4085 } |
4085 } | 4086 } |
4086 } | 4087 } |
4087 | 4088 |
4088 } // namespace internal | 4089 } // namespace internal |
4089 } // namespace v8 | 4090 } // namespace v8 |
OLD | NEW |