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

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

Issue 1872203005: Fix printf formats (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Fix unused param found by GC mole Created 4 years, 8 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
« no previous file with comments | « src/heap/gc-tracer.cc ('k') | src/heap/mark-compact.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/ast/scopeinfo.h" 9 #include "src/ast/scopeinfo.h"
10 #include "src/base/bits.h" 10 #include "src/base/bits.h"
(...skipping 325 matching lines...) Expand 10 before | Expand all | Expand 10 after
336 new_space_.CollectStatistics(); 336 new_space_.CollectStatistics();
337 new_space_.ReportStatistics(); 337 new_space_.ReportStatistics();
338 new_space_.ClearHistograms(); 338 new_space_.ClearHistograms();
339 } 339 }
340 #endif // DEBUG 340 #endif // DEBUG
341 } 341 }
342 342
343 343
344 void Heap::PrintShortHeapStatistics() { 344 void Heap::PrintShortHeapStatistics() {
345 if (!FLAG_trace_gc_verbose) return; 345 if (!FLAG_trace_gc_verbose) return;
346 PrintIsolate(isolate_, "Memory allocator, used: %6" V8_PTR_PREFIX 346 PrintIsolate(isolate_, "Memory allocator, used: %6" V8PRIdPTR
347 "d KB" 347 " KB, available: %6" V8PRIdPTR " KB\n",
348 ", available: %6" V8_PTR_PREFIX "d KB\n",
349 memory_allocator()->Size() / KB, 348 memory_allocator()->Size() / KB,
350 memory_allocator()->Available() / KB); 349 memory_allocator()->Available() / KB);
351 PrintIsolate(isolate_, "New space, used: %6" V8_PTR_PREFIX 350 PrintIsolate(isolate_, "New space, used: %6" V8PRIdPTR
352 "d KB" 351 " KB"
353 ", available: %6" V8_PTR_PREFIX 352 ", available: %6" V8PRIdPTR
354 "d KB" 353 " KB"
355 ", committed: %6" V8_PTR_PREFIX "d KB\n", 354 ", committed: %6" V8PRIdPTR " KB\n",
356 new_space_.Size() / KB, new_space_.Available() / KB, 355 new_space_.Size() / KB, new_space_.Available() / KB,
357 new_space_.CommittedMemory() / KB); 356 new_space_.CommittedMemory() / KB);
358 PrintIsolate(isolate_, "Old space, used: %6" V8_PTR_PREFIX 357 PrintIsolate(isolate_, "Old space, used: %6" V8PRIdPTR
359 "d KB" 358 " KB"
360 ", available: %6" V8_PTR_PREFIX 359 ", available: %6" V8PRIdPTR
361 "d KB" 360 " KB"
362 ", committed: %6" V8_PTR_PREFIX "d KB\n", 361 ", committed: %6" V8PRIdPTR " KB\n",
363 old_space_->SizeOfObjects() / KB, old_space_->Available() / KB, 362 old_space_->SizeOfObjects() / KB, old_space_->Available() / KB,
364 old_space_->CommittedMemory() / KB); 363 old_space_->CommittedMemory() / KB);
365 PrintIsolate(isolate_, "Code space, used: %6" V8_PTR_PREFIX 364 PrintIsolate(isolate_, "Code space, used: %6" V8PRIdPTR
366 "d KB" 365 " KB"
367 ", available: %6" V8_PTR_PREFIX 366 ", available: %6" V8PRIdPTR
368 "d KB" 367 " KB"
369 ", committed: %6" V8_PTR_PREFIX "d KB\n", 368 ", committed: %6" V8PRIdPTR " KB\n",
370 code_space_->SizeOfObjects() / KB, code_space_->Available() / KB, 369 code_space_->SizeOfObjects() / KB, code_space_->Available() / KB,
371 code_space_->CommittedMemory() / KB); 370 code_space_->CommittedMemory() / KB);
372 PrintIsolate(isolate_, "Map space, used: %6" V8_PTR_PREFIX 371 PrintIsolate(isolate_, "Map space, used: %6" V8PRIdPTR
373 "d KB" 372 " KB"
374 ", available: %6" V8_PTR_PREFIX 373 ", available: %6" V8PRIdPTR
375 "d KB" 374 " KB"
376 ", committed: %6" V8_PTR_PREFIX "d KB\n", 375 ", committed: %6" V8PRIdPTR " KB\n",
377 map_space_->SizeOfObjects() / KB, map_space_->Available() / KB, 376 map_space_->SizeOfObjects() / KB, map_space_->Available() / KB,
378 map_space_->CommittedMemory() / KB); 377 map_space_->CommittedMemory() / KB);
379 PrintIsolate(isolate_, "Large object space, used: %6" V8_PTR_PREFIX 378 PrintIsolate(isolate_, "Large object space, used: %6" V8PRIdPTR
380 "d KB" 379 " KB"
381 ", available: %6" V8_PTR_PREFIX 380 ", available: %6" V8PRIdPTR
382 "d KB" 381 " KB"
383 ", committed: %6" V8_PTR_PREFIX "d KB\n", 382 ", committed: %6" V8PRIdPTR " KB\n",
384 lo_space_->SizeOfObjects() / KB, lo_space_->Available() / KB, 383 lo_space_->SizeOfObjects() / KB, lo_space_->Available() / KB,
385 lo_space_->CommittedMemory() / KB); 384 lo_space_->CommittedMemory() / KB);
386 PrintIsolate(isolate_, "All spaces, used: %6" V8_PTR_PREFIX 385 PrintIsolate(isolate_, "All spaces, used: %6" V8PRIdPTR
387 "d KB" 386 " KB"
388 ", available: %6" V8_PTR_PREFIX 387 ", available: %6" V8PRIdPTR
389 "d KB" 388 " KB"
390 ", committed: %6" V8_PTR_PREFIX "d KB\n", 389 ", committed: %6" V8PRIdPTR " KB\n",
391 this->SizeOfObjects() / KB, this->Available() / KB, 390 this->SizeOfObjects() / KB, this->Available() / KB,
392 this->CommittedMemory() / KB); 391 this->CommittedMemory() / KB);
393 PrintIsolate( 392 PrintIsolate(
394 isolate_, "External memory reported: %6" V8_PTR_PREFIX "d KB\n", 393 isolate_, "External memory reported: %6" V8PRIdPTR " KB\n",
395 static_cast<intptr_t>(amount_of_external_allocated_memory_ / KB)); 394 static_cast<intptr_t>(amount_of_external_allocated_memory_ / KB));
396 PrintIsolate(isolate_, "Total time spent in GC : %.1f ms\n", 395 PrintIsolate(isolate_, "Total time spent in GC : %.1f ms\n",
397 total_gc_time_ms_); 396 total_gc_time_ms_);
398 } 397 }
399 398
400
401 // TODO(1238405): Combine the infrastructure for --heap-stats and 399 // TODO(1238405): Combine the infrastructure for --heap-stats and
402 // --log-gc to avoid the complicated preprocessor and flag testing. 400 // --log-gc to avoid the complicated preprocessor and flag testing.
403 void Heap::ReportStatisticsAfterGC() { 401 void Heap::ReportStatisticsAfterGC() {
404 // Similar to the before GC, we use some complicated logic to ensure that 402 // Similar to the before GC, we use some complicated logic to ensure that
405 // NewSpace statistics are logged exactly once when --log-gc is turned on. 403 // NewSpace statistics are logged exactly once when --log-gc is turned on.
406 #if defined(DEBUG) 404 #if defined(DEBUG)
407 if (FLAG_heap_stats) { 405 if (FLAG_heap_stats) {
408 new_space_.CollectStatistics(); 406 new_space_.CollectStatistics();
409 ReportHeapStatistics("After GC"); 407 ReportHeapStatistics("After GC");
410 } else if (FLAG_log_gc) { 408 } else if (FLAG_log_gc) {
(...skipping 4066 matching lines...) Expand 10 before | Expand all | Expand 10 after
4477 } 4475 }
4478 4476
4479 4477
4480 // This function expects that NewSpace's allocated objects histogram is 4478 // This function expects that NewSpace's allocated objects histogram is
4481 // populated (via a call to CollectStatistics or else as a side effect of a 4479 // populated (via a call to CollectStatistics or else as a side effect of a
4482 // just-completed scavenge collection). 4480 // just-completed scavenge collection).
4483 void Heap::ReportHeapStatistics(const char* title) { 4481 void Heap::ReportHeapStatistics(const char* title) {
4484 USE(title); 4482 USE(title);
4485 PrintF(">>>>>> =============== %s (%d) =============== >>>>>>\n", title, 4483 PrintF(">>>>>> =============== %s (%d) =============== >>>>>>\n", title,
4486 gc_count_); 4484 gc_count_);
4487 PrintF("old_generation_allocation_limit_ %" V8_PTR_PREFIX "d\n", 4485 PrintF("old_generation_allocation_limit_ %" V8PRIdPTR "\n",
4488 old_generation_allocation_limit_); 4486 old_generation_allocation_limit_);
4489 4487
4490 PrintF("\n"); 4488 PrintF("\n");
4491 PrintF("Number of handles : %d\n", HandleScope::NumberOfHandles(isolate_)); 4489 PrintF("Number of handles : %d\n", HandleScope::NumberOfHandles(isolate_));
4492 isolate_->global_handles()->PrintStats(); 4490 isolate_->global_handles()->PrintStats();
4493 PrintF("\n"); 4491 PrintF("\n");
4494 4492
4495 PrintF("Heap statistics : "); 4493 PrintF("Heap statistics : ");
4496 memory_allocator()->ReportStatistics(); 4494 memory_allocator()->ReportStatistics();
4497 PrintF("To space : "); 4495 PrintF("To space : ");
(...skipping 646 matching lines...) Expand 10 before | Expand all | Expand 10 after
5144 } 5142 }
5145 5143
5146 if (FLAG_heap_growing_percent > 0) { 5144 if (FLAG_heap_growing_percent > 0) {
5147 factor = 1.0 + FLAG_heap_growing_percent / 100.0; 5145 factor = 1.0 + FLAG_heap_growing_percent / 100.0;
5148 } 5146 }
5149 5147
5150 old_generation_allocation_limit_ = 5148 old_generation_allocation_limit_ =
5151 CalculateOldGenerationAllocationLimit(factor, old_gen_size); 5149 CalculateOldGenerationAllocationLimit(factor, old_gen_size);
5152 5150
5153 if (FLAG_trace_gc_verbose) { 5151 if (FLAG_trace_gc_verbose) {
5154 PrintIsolate(isolate_, "Grow: old size: %" V8_PTR_PREFIX 5152 PrintIsolate(isolate_, "Grow: old size: %" V8PRIdPTR
5155 "d KB, new limit: %" V8_PTR_PREFIX "d KB (%.1f)\n", 5153 " KB, new limit: %" V8PRIdPTR " KB (%.1f)\n",
5156 old_gen_size / KB, old_generation_allocation_limit_ / KB, 5154 old_gen_size / KB, old_generation_allocation_limit_ / KB,
5157 factor); 5155 factor);
5158 } 5156 }
5159 } 5157 }
5160 5158
5161 5159
5162 void Heap::DampenOldGenerationAllocationLimit(intptr_t old_gen_size, 5160 void Heap::DampenOldGenerationAllocationLimit(intptr_t old_gen_size,
5163 double gc_speed, 5161 double gc_speed,
5164 double mutator_speed) { 5162 double mutator_speed) {
5165 double factor = HeapGrowingFactor(gc_speed, mutator_speed); 5163 double factor = HeapGrowingFactor(gc_speed, mutator_speed);
5166 intptr_t limit = CalculateOldGenerationAllocationLimit(factor, old_gen_size); 5164 intptr_t limit = CalculateOldGenerationAllocationLimit(factor, old_gen_size);
5167 if (limit < old_generation_allocation_limit_) { 5165 if (limit < old_generation_allocation_limit_) {
5168 if (FLAG_trace_gc_verbose) { 5166 if (FLAG_trace_gc_verbose) {
5169 PrintIsolate(isolate_, "Dampen: old size: %" V8_PTR_PREFIX 5167 PrintIsolate(isolate_,
5170 "d KB, old limit: %" V8_PTR_PREFIX 5168 "Dampen: old size: %" V8PRIdPTR " KB, old limit: %" V8PRIdPTR
5171 "d KB, " 5169 " KB, "
5172 "new limit: %" V8_PTR_PREFIX "d KB (%.1f)\n", 5170 "new limit: %" V8PRIdPTR " KB (%.1f)\n",
5173 old_gen_size / KB, old_generation_allocation_limit_ / KB, 5171 old_gen_size / KB, old_generation_allocation_limit_ / KB,
5174 limit / KB, factor); 5172 limit / KB, factor);
5175 } 5173 }
5176 old_generation_allocation_limit_ = limit; 5174 old_generation_allocation_limit_ = limit;
5177 } 5175 }
5178 } 5176 }
5179 5177
5180 5178
5181 void Heap::EnableInlineAllocation() { 5179 void Heap::EnableInlineAllocation() {
5182 if (!inline_allocation_disabled_) return; 5180 if (!inline_allocation_disabled_) return;
(...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after
5387 5385
5388 UpdateMaximumCommitted(); 5386 UpdateMaximumCommitted();
5389 5387
5390 if (FLAG_print_cumulative_gc_stat) { 5388 if (FLAG_print_cumulative_gc_stat) {
5391 PrintF("\n"); 5389 PrintF("\n");
5392 PrintF("gc_count=%d ", gc_count_); 5390 PrintF("gc_count=%d ", gc_count_);
5393 PrintF("mark_sweep_count=%d ", ms_count_); 5391 PrintF("mark_sweep_count=%d ", ms_count_);
5394 PrintF("max_gc_pause=%.1f ", get_max_gc_pause()); 5392 PrintF("max_gc_pause=%.1f ", get_max_gc_pause());
5395 PrintF("total_gc_time=%.1f ", total_gc_time_ms_); 5393 PrintF("total_gc_time=%.1f ", total_gc_time_ms_);
5396 PrintF("min_in_mutator=%.1f ", get_min_in_mutator()); 5394 PrintF("min_in_mutator=%.1f ", get_min_in_mutator());
5397 PrintF("max_alive_after_gc=%" V8_PTR_PREFIX "d ", get_max_alive_after_gc()); 5395 PrintF("max_alive_after_gc=%" V8PRIdPTR " ", get_max_alive_after_gc());
5398 PrintF("total_marking_time=%.1f ", tracer()->cumulative_marking_duration()); 5396 PrintF("total_marking_time=%.1f ", tracer()->cumulative_marking_duration());
5399 PrintF("total_sweeping_time=%.1f ", 5397 PrintF("total_sweeping_time=%.1f ",
5400 tracer()->cumulative_sweeping_duration()); 5398 tracer()->cumulative_sweeping_duration());
5401 PrintF("\n\n"); 5399 PrintF("\n\n");
5402 } 5400 }
5403 5401
5404 if (FLAG_print_max_heap_committed) { 5402 if (FLAG_print_max_heap_committed) {
5405 PrintF("\n"); 5403 PrintF("\n");
5406 PrintF("maximum_committed_by_heap=%" V8_PTR_PREFIX "d ", 5404 PrintF("maximum_committed_by_heap=%" V8PRIdPTR " ",
5407 MaximumCommittedMemory()); 5405 MaximumCommittedMemory());
5408 PrintF("maximum_committed_by_new_space=%" V8_PTR_PREFIX "d ", 5406 PrintF("maximum_committed_by_new_space=%" V8PRIdPTR " ",
5409 new_space_.MaximumCommittedMemory()); 5407 new_space_.MaximumCommittedMemory());
5410 PrintF("maximum_committed_by_old_space=%" V8_PTR_PREFIX "d ", 5408 PrintF("maximum_committed_by_old_space=%" V8PRIdPTR " ",
5411 old_space_->MaximumCommittedMemory()); 5409 old_space_->MaximumCommittedMemory());
5412 PrintF("maximum_committed_by_code_space=%" V8_PTR_PREFIX "d ", 5410 PrintF("maximum_committed_by_code_space=%" V8PRIdPTR " ",
5413 code_space_->MaximumCommittedMemory()); 5411 code_space_->MaximumCommittedMemory());
5414 PrintF("maximum_committed_by_map_space=%" V8_PTR_PREFIX "d ", 5412 PrintF("maximum_committed_by_map_space=%" V8PRIdPTR " ",
5415 map_space_->MaximumCommittedMemory()); 5413 map_space_->MaximumCommittedMemory());
5416 PrintF("maximum_committed_by_lo_space=%" V8_PTR_PREFIX "d ", 5414 PrintF("maximum_committed_by_lo_space=%" V8PRIdPTR " ",
5417 lo_space_->MaximumCommittedMemory()); 5415 lo_space_->MaximumCommittedMemory());
5418 PrintF("\n\n"); 5416 PrintF("\n\n");
5419 } 5417 }
5420 5418
5421 if (FLAG_verify_predictable) { 5419 if (FLAG_verify_predictable) {
5422 PrintAlloctionsHash(); 5420 PrintAlloctionsHash();
5423 } 5421 }
5424 5422
5425 new_space()->RemoveAllocationObserver(idle_scavenge_observer_); 5423 new_space()->RemoveAllocationObserver(idle_scavenge_observer_);
5426 delete idle_scavenge_observer_; 5424 delete idle_scavenge_observer_;
(...skipping 1011 matching lines...) Expand 10 before | Expand all | Expand 10 after
6438 } 6436 }
6439 6437
6440 6438
6441 // static 6439 // static
6442 int Heap::GetStaticVisitorIdForMap(Map* map) { 6440 int Heap::GetStaticVisitorIdForMap(Map* map) {
6443 return StaticVisitorBase::GetVisitorId(map); 6441 return StaticVisitorBase::GetVisitorId(map);
6444 } 6442 }
6445 6443
6446 } // namespace internal 6444 } // namespace internal
6447 } // namespace v8 6445 } // namespace v8
OLDNEW
« no previous file with comments | « src/heap/gc-tracer.cc ('k') | src/heap/mark-compact.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698