Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(909)

Side by Side Diff: src/heap/heap.cc

Issue 1294763004: [heap] Hide GCTracer inside the heap component. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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/heap.h" 5 #include "src/heap/heap.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"
11 #include "src/base/utils/random-number-generator.h" 11 #include "src/base/utils/random-number-generator.h"
12 #include "src/bootstrapper.h" 12 #include "src/bootstrapper.h"
13 #include "src/codegen.h" 13 #include "src/codegen.h"
14 #include "src/compilation-cache.h" 14 #include "src/compilation-cache.h"
15 #include "src/conversions.h" 15 #include "src/conversions.h"
16 #include "src/cpu-profiler.h" 16 #include "src/cpu-profiler.h"
17 #include "src/debug/debug.h" 17 #include "src/debug/debug.h"
18 #include "src/deoptimizer.h" 18 #include "src/deoptimizer.h"
19 #include "src/global-handles.h" 19 #include "src/global-handles.h"
20 #include "src/heap/gc-idle-time-handler.h" 20 #include "src/heap/gc-idle-time-handler.h"
21 #include "src/heap/gc-tracer.h"
21 #include "src/heap/incremental-marking.h" 22 #include "src/heap/incremental-marking.h"
22 #include "src/heap/mark-compact-inl.h" 23 #include "src/heap/mark-compact-inl.h"
23 #include "src/heap/mark-compact.h" 24 #include "src/heap/mark-compact.h"
24 #include "src/heap/memory-reducer.h" 25 #include "src/heap/memory-reducer.h"
25 #include "src/heap/objects-visiting-inl.h" 26 #include "src/heap/objects-visiting-inl.h"
26 #include "src/heap/objects-visiting.h" 27 #include "src/heap/objects-visiting.h"
27 #include "src/heap/store-buffer.h" 28 #include "src/heap/store-buffer.h"
28 #include "src/heap-profiler.h" 29 #include "src/heap-profiler.h"
29 #include "src/interpreter/interpreter.h" 30 #include "src/interpreter/interpreter.h"
30 #include "src/runtime-profiler.h" 31 #include "src/runtime-profiler.h"
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
90 remembered_unmapped_pages_index_(0), 91 remembered_unmapped_pages_index_(0),
91 #ifdef DEBUG 92 #ifdef DEBUG
92 allocation_timeout_(0), 93 allocation_timeout_(0),
93 #endif // DEBUG 94 #endif // DEBUG
94 old_generation_allocation_limit_(initial_old_generation_size_), 95 old_generation_allocation_limit_(initial_old_generation_size_),
95 old_gen_exhausted_(false), 96 old_gen_exhausted_(false),
96 optimize_for_memory_usage_(false), 97 optimize_for_memory_usage_(false),
97 inline_allocation_disabled_(false), 98 inline_allocation_disabled_(false),
98 store_buffer_rebuilder_(store_buffer()), 99 store_buffer_rebuilder_(store_buffer()),
99 total_regexp_code_generated_(0), 100 total_regexp_code_generated_(0),
100 tracer_(this), 101 tracer_(nullptr),
101 high_survival_rate_period_length_(0), 102 high_survival_rate_period_length_(0),
102 promoted_objects_size_(0), 103 promoted_objects_size_(0),
103 promotion_ratio_(0), 104 promotion_ratio_(0),
104 semi_space_copied_object_size_(0), 105 semi_space_copied_object_size_(0),
105 previous_semi_space_copied_object_size_(0), 106 previous_semi_space_copied_object_size_(0),
106 semi_space_copied_rate_(0), 107 semi_space_copied_rate_(0),
107 nodes_died_in_new_space_(0), 108 nodes_died_in_new_space_(0),
108 nodes_copied_in_new_space_(0), 109 nodes_copied_in_new_space_(0),
109 nodes_promoted_(0), 110 nodes_promoted_(0),
110 maximum_size_scavenges_(0), 111 maximum_size_scavenges_(0),
(...skipping 5688 matching lines...) Expand 10 before | Expand all | Expand 10 after
5799 } else { 5800 } else {
5800 set_hash_seed(Smi::FromInt(FLAG_hash_seed)); 5801 set_hash_seed(Smi::FromInt(FLAG_hash_seed));
5801 } 5802 }
5802 } 5803 }
5803 5804
5804 for (int i = 0; i < static_cast<int>(v8::Isolate::kUseCounterFeatureCount); 5805 for (int i = 0; i < static_cast<int>(v8::Isolate::kUseCounterFeatureCount);
5805 i++) { 5806 i++) {
5806 deferred_counters_[i] = 0; 5807 deferred_counters_[i] = 0;
5807 } 5808 }
5808 5809
5810 tracer_ = new GCTracer(this);
5809 5811
5810 LOG(isolate_, IntPtrTEvent("heap-capacity", Capacity())); 5812 LOG(isolate_, IntPtrTEvent("heap-capacity", Capacity()));
5811 LOG(isolate_, IntPtrTEvent("heap-available", Available())); 5813 LOG(isolate_, IntPtrTEvent("heap-available", Available()));
5812 5814
5813 store_buffer()->SetUp(); 5815 store_buffer()->SetUp();
5814 5816
5815 mark_compact_collector()->SetUp(); 5817 mark_compact_collector()->SetUp();
5816 5818
5817 return true; 5819 return true;
5818 } 5820 }
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
5871 UpdateMaximumCommitted(); 5873 UpdateMaximumCommitted();
5872 5874
5873 if (FLAG_print_cumulative_gc_stat) { 5875 if (FLAG_print_cumulative_gc_stat) {
5874 PrintF("\n"); 5876 PrintF("\n");
5875 PrintF("gc_count=%d ", gc_count_); 5877 PrintF("gc_count=%d ", gc_count_);
5876 PrintF("mark_sweep_count=%d ", ms_count_); 5878 PrintF("mark_sweep_count=%d ", ms_count_);
5877 PrintF("max_gc_pause=%.1f ", get_max_gc_pause()); 5879 PrintF("max_gc_pause=%.1f ", get_max_gc_pause());
5878 PrintF("total_gc_time=%.1f ", total_gc_time_ms_); 5880 PrintF("total_gc_time=%.1f ", total_gc_time_ms_);
5879 PrintF("min_in_mutator=%.1f ", get_min_in_mutator()); 5881 PrintF("min_in_mutator=%.1f ", get_min_in_mutator());
5880 PrintF("max_alive_after_gc=%" V8_PTR_PREFIX "d ", get_max_alive_after_gc()); 5882 PrintF("max_alive_after_gc=%" V8_PTR_PREFIX "d ", get_max_alive_after_gc());
5881 PrintF("total_marking_time=%.1f ", tracer_.cumulative_marking_duration()); 5883 PrintF("total_marking_time=%.1f ", tracer()->cumulative_marking_duration());
5882 PrintF("total_sweeping_time=%.1f ", tracer_.cumulative_sweeping_duration()); 5884 PrintF("total_sweeping_time=%.1f ",
5885 tracer()->cumulative_sweeping_duration());
5883 PrintF("\n\n"); 5886 PrintF("\n\n");
5884 } 5887 }
5885 5888
5886 if (FLAG_print_max_heap_committed) { 5889 if (FLAG_print_max_heap_committed) {
5887 PrintF("\n"); 5890 PrintF("\n");
5888 PrintF("maximum_committed_by_heap=%" V8_PTR_PREFIX "d ", 5891 PrintF("maximum_committed_by_heap=%" V8_PTR_PREFIX "d ",
5889 MaximumCommittedMemory()); 5892 MaximumCommittedMemory());
5890 PrintF("maximum_committed_by_new_space=%" V8_PTR_PREFIX "d ", 5893 PrintF("maximum_committed_by_new_space=%" V8_PTR_PREFIX "d ",
5891 new_space_.MaximumCommittedMemory()); 5894 new_space_.MaximumCommittedMemory());
5892 PrintF("maximum_committed_by_old_space=%" V8_PTR_PREFIX "d ", 5895 PrintF("maximum_committed_by_old_space=%" V8_PTR_PREFIX "d ",
(...skipping 14 matching lines...) Expand all
5907 memory_reducer_.TearDown(); 5910 memory_reducer_.TearDown();
5908 5911
5909 TearDownArrayBuffers(); 5912 TearDownArrayBuffers();
5910 5913
5911 isolate_->global_handles()->TearDown(); 5914 isolate_->global_handles()->TearDown();
5912 5915
5913 external_string_table_.TearDown(); 5916 external_string_table_.TearDown();
5914 5917
5915 mark_compact_collector()->TearDown(); 5918 mark_compact_collector()->TearDown();
5916 5919
5920 delete tracer_;
5921 tracer_ = nullptr;
5922
5917 new_space_.TearDown(); 5923 new_space_.TearDown();
5918 5924
5919 if (old_space_ != NULL) { 5925 if (old_space_ != NULL) {
5920 old_space_->TearDown(); 5926 old_space_->TearDown();
5921 delete old_space_; 5927 delete old_space_;
5922 old_space_ = NULL; 5928 old_space_ = NULL;
5923 } 5929 }
5924 5930
5925 if (code_space_ != NULL) { 5931 if (code_space_ != NULL) {
5926 code_space_->TearDown(); 5932 code_space_->TearDown();
(...skipping 976 matching lines...) Expand 10 before | Expand all | Expand 10 after
6903 *object_type = "CODE_TYPE"; \ 6909 *object_type = "CODE_TYPE"; \
6904 *object_sub_type = "CODE_AGE/" #name; \ 6910 *object_sub_type = "CODE_AGE/" #name; \
6905 return true; 6911 return true;
6906 CODE_AGE_LIST_COMPLETE(COMPARE_AND_RETURN_NAME) 6912 CODE_AGE_LIST_COMPLETE(COMPARE_AND_RETURN_NAME)
6907 #undef COMPARE_AND_RETURN_NAME 6913 #undef COMPARE_AND_RETURN_NAME
6908 } 6914 }
6909 return false; 6915 return false;
6910 } 6916 }
6911 } // namespace internal 6917 } // namespace internal
6912 } // namespace v8 6918 } // namespace v8
OLDNEW
« src/heap/heap.h ('K') | « src/heap/heap.h ('k') | src/heap/incremental-marking.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698