| 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/v8.h" | 5 #include "src/v8.h" |
| 6 | 6 |
| 7 #include "src/accessors.h" | 7 #include "src/accessors.h" |
| 8 #include "src/api.h" | 8 #include "src/api.h" |
| 9 #include "src/base/bits.h" | 9 #include "src/base/bits.h" |
| 10 #include "src/base/once.h" | 10 #include "src/base/once.h" |
| (...skipping 748 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 759 DCHECK(!incremental_marking()->weak_closure_was_overapproximated()); | 759 DCHECK(!incremental_marking()->weak_closure_was_overapproximated()); |
| 760 OverApproximateWeakClosure("GC interrupt"); | 760 OverApproximateWeakClosure("GC interrupt"); |
| 761 } | 761 } |
| 762 | 762 |
| 763 | 763 |
| 764 void Heap::OverApproximateWeakClosure(const char* gc_reason) { | 764 void Heap::OverApproximateWeakClosure(const char* gc_reason) { |
| 765 if (FLAG_trace_incremental_marking) { | 765 if (FLAG_trace_incremental_marking) { |
| 766 PrintF("[IncrementalMarking] Overapproximate weak closure (%s).\n", | 766 PrintF("[IncrementalMarking] Overapproximate weak closure (%s).\n", |
| 767 gc_reason); | 767 gc_reason); |
| 768 } | 768 } |
| 769 |
| 770 GCTracer::Scope gc_scope(tracer(), |
| 771 GCTracer::Scope::MC_INCREMENTAL_WEAKCLOSURE); |
| 772 |
| 769 { | 773 { |
| 770 GCCallbacksScope scope(this); | 774 GCCallbacksScope scope(this); |
| 771 if (scope.CheckReenter()) { | 775 if (scope.CheckReenter()) { |
| 772 AllowHeapAllocation allow_allocation; | 776 AllowHeapAllocation allow_allocation; |
| 773 GCTracer::Scope scope(tracer(), GCTracer::Scope::EXTERNAL); | 777 GCTracer::Scope scope(tracer(), GCTracer::Scope::EXTERNAL); |
| 774 VMState<EXTERNAL> state(isolate_); | 778 VMState<EXTERNAL> state(isolate_); |
| 775 HandleScope handle_scope(isolate_); | 779 HandleScope handle_scope(isolate_); |
| 776 CallGCPrologueCallbacks(kGCTypeMarkSweepCompact, kNoGCCallbackFlags); | 780 CallGCPrologueCallbacks(kGCTypeMarkSweepCompact, kNoGCCallbackFlags); |
| 777 } | 781 } |
| 778 } | 782 } |
| (...skipping 5799 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6578 static_cast<int>(object_sizes_last_time_[index])); | 6582 static_cast<int>(object_sizes_last_time_[index])); |
| 6579 CODE_AGE_LIST_COMPLETE(ADJUST_LAST_TIME_OBJECT_COUNT) | 6583 CODE_AGE_LIST_COMPLETE(ADJUST_LAST_TIME_OBJECT_COUNT) |
| 6580 #undef ADJUST_LAST_TIME_OBJECT_COUNT | 6584 #undef ADJUST_LAST_TIME_OBJECT_COUNT |
| 6581 | 6585 |
| 6582 MemCopy(object_counts_last_time_, object_counts_, sizeof(object_counts_)); | 6586 MemCopy(object_counts_last_time_, object_counts_, sizeof(object_counts_)); |
| 6583 MemCopy(object_sizes_last_time_, object_sizes_, sizeof(object_sizes_)); | 6587 MemCopy(object_sizes_last_time_, object_sizes_, sizeof(object_sizes_)); |
| 6584 ClearObjectStats(); | 6588 ClearObjectStats(); |
| 6585 } | 6589 } |
| 6586 } | 6590 } |
| 6587 } // namespace v8::internal | 6591 } // namespace v8::internal |
| OLD | NEW |