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

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

Issue 880253007: Remove flush_monomorphic_ics flag. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 10 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/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 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
74 // ConfigureHeap. 74 // ConfigureHeap.
75 // Will be 4 * reserved_semispace_size_ to ensure that young 75 // Will be 4 * reserved_semispace_size_ to ensure that young
76 // generation can be aligned to its size. 76 // generation can be aligned to its size.
77 maximum_committed_(0), 77 maximum_committed_(0),
78 survived_since_last_expansion_(0), 78 survived_since_last_expansion_(0),
79 survived_last_scavenge_(0), 79 survived_last_scavenge_(0),
80 sweep_generation_(0), 80 sweep_generation_(0),
81 always_allocate_scope_depth_(0), 81 always_allocate_scope_depth_(0),
82 contexts_disposed_(0), 82 contexts_disposed_(0),
83 global_ic_age_(0), 83 global_ic_age_(0),
84 flush_monomorphic_ics_(false),
85 scan_on_scavenge_pages_(0), 84 scan_on_scavenge_pages_(0),
86 new_space_(this), 85 new_space_(this),
87 old_pointer_space_(NULL), 86 old_pointer_space_(NULL),
88 old_data_space_(NULL), 87 old_data_space_(NULL),
89 code_space_(NULL), 88 code_space_(NULL),
90 map_space_(NULL), 89 map_space_(NULL),
91 cell_space_(NULL), 90 cell_space_(NULL),
92 property_cell_space_(NULL), 91 property_cell_space_(NULL),
93 lo_space_(NULL), 92 lo_space_(NULL),
94 gc_state_(NOT_IN_GC), 93 gc_state_(NOT_IN_GC),
(...skipping 775 matching lines...) Expand 10 before | Expand all | Expand 10 after
870 869
871 int Heap::NotifyContextDisposed(bool dependant_context) { 870 int Heap::NotifyContextDisposed(bool dependant_context) {
872 if (!dependant_context) { 871 if (!dependant_context) {
873 tracer()->ResetSurvivalEvents(); 872 tracer()->ResetSurvivalEvents();
874 old_generation_size_configured_ = false; 873 old_generation_size_configured_ = false;
875 } 874 }
876 if (isolate()->concurrent_recompilation_enabled()) { 875 if (isolate()->concurrent_recompilation_enabled()) {
877 // Flush the queued recompilation tasks. 876 // Flush the queued recompilation tasks.
878 isolate()->optimizing_compiler_thread()->Flush(); 877 isolate()->optimizing_compiler_thread()->Flush();
879 } 878 }
880 flush_monomorphic_ics_ = true;
881 AgeInlineCaches(); 879 AgeInlineCaches();
882 tracer()->AddContextDisposalTime(base::OS::TimeCurrentMillis()); 880 tracer()->AddContextDisposalTime(base::OS::TimeCurrentMillis());
883 return ++contexts_disposed_; 881 return ++contexts_disposed_;
884 } 882 }
885 883
886 884
887 void Heap::MoveElements(FixedArray* array, int dst_index, int src_index, 885 void Heap::MoveElements(FixedArray* array, int dst_index, int src_index,
888 int len) { 886 int len) {
889 if (len == 0) return; 887 if (len == 0) return;
890 888
(...skipping 347 matching lines...) Expand 10 before | Expand all | Expand 10 after
1238 EvaluateOldSpaceLocalPretenuring(size_of_objects_before_gc); 1236 EvaluateOldSpaceLocalPretenuring(size_of_objects_before_gc);
1239 } 1237 }
1240 } 1238 }
1241 1239
1242 1240
1243 void Heap::MarkCompactEpilogue() { 1241 void Heap::MarkCompactEpilogue() {
1244 gc_state_ = NOT_IN_GC; 1242 gc_state_ = NOT_IN_GC;
1245 1243
1246 isolate_->counters()->objs_since_last_full()->Set(0); 1244 isolate_->counters()->objs_since_last_full()->Set(0);
1247 1245
1248 flush_monomorphic_ics_ = false;
1249
1250 incremental_marking()->Epilogue(); 1246 incremental_marking()->Epilogue();
1251 } 1247 }
1252 1248
1253 1249
1254 void Heap::MarkCompactPrologue() { 1250 void Heap::MarkCompactPrologue() {
1255 // At any old GC clear the keyed lookup cache to enable collection of unused 1251 // At any old GC clear the keyed lookup cache to enable collection of unused
1256 // maps. 1252 // maps.
1257 isolate_->keyed_lookup_cache()->Clear(); 1253 isolate_->keyed_lookup_cache()->Clear();
1258 isolate_->context_slot_cache()->Clear(); 1254 isolate_->context_slot_cache()->Clear();
1259 isolate_->descriptor_lookup_cache()->Clear(); 1255 isolate_->descriptor_lookup_cache()->Clear();
(...skipping 5227 matching lines...) Expand 10 before | Expand all | Expand 10 after
6487 static_cast<int>(object_sizes_last_time_[index])); 6483 static_cast<int>(object_sizes_last_time_[index]));
6488 CODE_AGE_LIST_COMPLETE(ADJUST_LAST_TIME_OBJECT_COUNT) 6484 CODE_AGE_LIST_COMPLETE(ADJUST_LAST_TIME_OBJECT_COUNT)
6489 #undef ADJUST_LAST_TIME_OBJECT_COUNT 6485 #undef ADJUST_LAST_TIME_OBJECT_COUNT
6490 6486
6491 MemCopy(object_counts_last_time_, object_counts_, sizeof(object_counts_)); 6487 MemCopy(object_counts_last_time_, object_counts_, sizeof(object_counts_));
6492 MemCopy(object_sizes_last_time_, object_sizes_, sizeof(object_sizes_)); 6488 MemCopy(object_sizes_last_time_, object_sizes_, sizeof(object_sizes_));
6493 ClearObjectStats(); 6489 ClearObjectStats();
6494 } 6490 }
6495 } 6491 }
6496 } // namespace v8::internal 6492 } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/heap/heap.h ('k') | src/heap/objects-visiting-inl.h » ('j') | src/type-feedback-vector.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698