OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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/gc-tracer.h" | 5 #include "src/heap/gc-tracer.h" |
6 | 6 |
7 #include "src/counters.h" | 7 #include "src/counters.h" |
8 #include "src/heap/heap-inl.h" | 8 #include "src/heap/heap-inl.h" |
9 #include "src/isolate.h" | 9 #include "src/isolate.h" |
10 | 10 |
(...skipping 429 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
440 "mutator=%.1f " | 440 "mutator=%.1f " |
441 "gc=%s " | 441 "gc=%s " |
442 "reduce_memory=%d " | 442 "reduce_memory=%d " |
443 "scavenge=%.2f " | 443 "scavenge=%.2f " |
444 "old_new=%.2f " | 444 "old_new=%.2f " |
445 "weak=%.2f " | 445 "weak=%.2f " |
446 "roots=%.2f " | 446 "roots=%.2f " |
447 "code=%.2f " | 447 "code=%.2f " |
448 "semispace=%.2f " | 448 "semispace=%.2f " |
449 "object_groups=%.2f " | 449 "object_groups=%.2f " |
450 "external_prologue=%.2f " | 450 "external.prologue=%.2f " |
451 "external_epilogue=%.2f " | 451 "external.epilogue=%.2f " |
452 "external_weak_global_handles=%.2f " | 452 "external_weak_global_handles=%.2f " |
453 "steps_count=%d " | 453 "steps_count=%d " |
454 "steps_took=%.1f " | 454 "steps_took=%.1f " |
455 "scavenge_throughput=%.f " | 455 "scavenge_throughput=%.f " |
456 "total_size_before=%" PRIuS | 456 "total_size_before=%" PRIuS |
457 " " | 457 " " |
458 "total_size_after=%" PRIuS | 458 "total_size_after=%" PRIuS |
459 " " | 459 " " |
460 "holes_size_before=%" PRIuS | 460 "holes_size_before=%" PRIuS |
461 " " | 461 " " |
(...skipping 15 matching lines...) Expand all Loading... |
477 "new_space_allocation_throughput=%.1f " | 477 "new_space_allocation_throughput=%.1f " |
478 "context_disposal_rate=%.1f\n", | 478 "context_disposal_rate=%.1f\n", |
479 duration, spent_in_mutator, current_.TypeName(true), | 479 duration, spent_in_mutator, current_.TypeName(true), |
480 current_.reduce_memory, current_.scopes[Scope::SCAVENGER_SCAVENGE], | 480 current_.reduce_memory, current_.scopes[Scope::SCAVENGER_SCAVENGE], |
481 current_.scopes[Scope::SCAVENGER_OLD_TO_NEW_POINTERS], | 481 current_.scopes[Scope::SCAVENGER_OLD_TO_NEW_POINTERS], |
482 current_.scopes[Scope::SCAVENGER_WEAK], | 482 current_.scopes[Scope::SCAVENGER_WEAK], |
483 current_.scopes[Scope::SCAVENGER_ROOTS], | 483 current_.scopes[Scope::SCAVENGER_ROOTS], |
484 current_.scopes[Scope::SCAVENGER_CODE_FLUSH_CANDIDATES], | 484 current_.scopes[Scope::SCAVENGER_CODE_FLUSH_CANDIDATES], |
485 current_.scopes[Scope::SCAVENGER_SEMISPACE], | 485 current_.scopes[Scope::SCAVENGER_SEMISPACE], |
486 current_.scopes[Scope::SCAVENGER_OBJECT_GROUPS], | 486 current_.scopes[Scope::SCAVENGER_OBJECT_GROUPS], |
487 current_.scopes[Scope::SCAVENGER_EXTERNAL_PROLOGUE], | 487 current_.scopes[Scope::EXTERNAL_PROLOGUE], |
488 current_.scopes[Scope::SCAVENGER_EXTERNAL_EPILOGUE], | 488 current_.scopes[Scope::EXTERNAL_EPILOGUE], |
489 current_.scopes[Scope::EXTERNAL_WEAK_GLOBAL_HANDLES], | 489 current_.scopes[Scope::EXTERNAL_WEAK_GLOBAL_HANDLES], |
490 current_.incremental_marking_scopes[GCTracer::Scope::MC_INCREMENTAL] | 490 current_.incremental_marking_scopes[GCTracer::Scope::MC_INCREMENTAL] |
491 .steps, | 491 .steps, |
492 current_.scopes[Scope::MC_INCREMENTAL], | 492 current_.scopes[Scope::MC_INCREMENTAL], |
493 ScavengeSpeedInBytesPerMillisecond(), current_.start_object_size, | 493 ScavengeSpeedInBytesPerMillisecond(), current_.start_object_size, |
494 current_.end_object_size, current_.start_holes_size, | 494 current_.end_object_size, current_.start_holes_size, |
495 current_.end_holes_size, allocated_since_last_gc, | 495 current_.end_holes_size, allocated_since_last_gc, |
496 heap_->promoted_objects_size(), | 496 heap_->promoted_objects_size(), |
497 heap_->semi_space_copied_object_size(), | 497 heap_->semi_space_copied_object_size(), |
498 heap_->nodes_died_in_new_space_, heap_->nodes_copied_in_new_space_, | 498 heap_->nodes_died_in_new_space_, heap_->nodes_copied_in_new_space_, |
(...skipping 23 matching lines...) Expand all Loading... |
522 "clear.weak_lists=%.1f " | 522 "clear.weak_lists=%.1f " |
523 "epilogue=%.1f " | 523 "epilogue=%.1f " |
524 "evacuate=%.1f " | 524 "evacuate=%.1f " |
525 "evacuate.candidates=%.1f " | 525 "evacuate.candidates=%.1f " |
526 "evacuate.clean_up=%.1f " | 526 "evacuate.clean_up=%.1f " |
527 "evacuate.copy=%.1f " | 527 "evacuate.copy=%.1f " |
528 "evacuate.update_pointers=%.1f " | 528 "evacuate.update_pointers=%.1f " |
529 "evacuate.update_pointers.to_evacuated=%.1f " | 529 "evacuate.update_pointers.to_evacuated=%.1f " |
530 "evacuate.update_pointers.to_new=%.1f " | 530 "evacuate.update_pointers.to_new=%.1f " |
531 "evacuate.update_pointers.weak=%.1f " | 531 "evacuate.update_pointers.weak=%.1f " |
532 "external.mc_prologue=%.1f " | 532 "external.prologue=%.1f " |
533 "external.mc_epilogue=%.1f " | 533 "external.epilogue=%.1f " |
534 "external.weak_global_handles=%.1f " | 534 "external.weak_global_handles=%.1f " |
535 "finish=%.1f " | 535 "finish=%.1f " |
536 "mark=%.1f " | 536 "mark=%.1f " |
537 "mark.finish_incremental=%.1f " | 537 "mark.finish_incremental=%.1f " |
538 "mark.object_grouping=%.1f " | 538 "mark.object_grouping=%.1f " |
539 "mark.prepare_code_flush=%.1f " | 539 "mark.prepare_code_flush=%.1f " |
540 "mark.roots=%.1f " | 540 "mark.roots=%.1f " |
541 "mark.weak_closure=%.1f " | 541 "mark.weak_closure=%.1f " |
542 "mark.weak_closure.ephemeral=%.1f " | 542 "mark.weak_closure.ephemeral=%.1f " |
543 "mark.weak_closure.weak_handles=%.1f " | 543 "mark.weak_closure.weak_handles=%.1f " |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
605 current_.scopes[Scope::MC_CLEAR_WEAK_LISTS], | 605 current_.scopes[Scope::MC_CLEAR_WEAK_LISTS], |
606 current_.scopes[Scope::MC_EPILOGUE], | 606 current_.scopes[Scope::MC_EPILOGUE], |
607 current_.scopes[Scope::MC_EVACUATE], | 607 current_.scopes[Scope::MC_EVACUATE], |
608 current_.scopes[Scope::MC_EVACUATE_CANDIDATES], | 608 current_.scopes[Scope::MC_EVACUATE_CANDIDATES], |
609 current_.scopes[Scope::MC_EVACUATE_CLEAN_UP], | 609 current_.scopes[Scope::MC_EVACUATE_CLEAN_UP], |
610 current_.scopes[Scope::MC_EVACUATE_COPY], | 610 current_.scopes[Scope::MC_EVACUATE_COPY], |
611 current_.scopes[Scope::MC_EVACUATE_UPDATE_POINTERS], | 611 current_.scopes[Scope::MC_EVACUATE_UPDATE_POINTERS], |
612 current_.scopes[Scope::MC_EVACUATE_UPDATE_POINTERS_TO_EVACUATED], | 612 current_.scopes[Scope::MC_EVACUATE_UPDATE_POINTERS_TO_EVACUATED], |
613 current_.scopes[Scope::MC_EVACUATE_UPDATE_POINTERS_TO_NEW], | 613 current_.scopes[Scope::MC_EVACUATE_UPDATE_POINTERS_TO_NEW], |
614 current_.scopes[Scope::MC_EVACUATE_UPDATE_POINTERS_WEAK], | 614 current_.scopes[Scope::MC_EVACUATE_UPDATE_POINTERS_WEAK], |
615 current_.scopes[Scope::MC_EXTERNAL_PROLOGUE], | 615 current_.scopes[Scope::EXTERNAL_PROLOGUE], |
616 current_.scopes[Scope::MC_EXTERNAL_EPILOGUE], | 616 current_.scopes[Scope::EXTERNAL_EPILOGUE], |
617 current_.scopes[Scope::EXTERNAL_WEAK_GLOBAL_HANDLES], | 617 current_.scopes[Scope::EXTERNAL_WEAK_GLOBAL_HANDLES], |
618 current_.scopes[Scope::MC_FINISH], current_.scopes[Scope::MC_MARK], | 618 current_.scopes[Scope::MC_FINISH], current_.scopes[Scope::MC_MARK], |
619 current_.scopes[Scope::MC_MARK_FINISH_INCREMENTAL], | 619 current_.scopes[Scope::MC_MARK_FINISH_INCREMENTAL], |
620 current_.scopes[Scope::MC_MARK_OBJECT_GROUPING], | 620 current_.scopes[Scope::MC_MARK_OBJECT_GROUPING], |
621 current_.scopes[Scope::MC_MARK_PREPARE_CODE_FLUSH], | 621 current_.scopes[Scope::MC_MARK_PREPARE_CODE_FLUSH], |
622 current_.scopes[Scope::MC_MARK_ROOTS], | 622 current_.scopes[Scope::MC_MARK_ROOTS], |
623 current_.scopes[Scope::MC_MARK_WEAK_CLOSURE], | 623 current_.scopes[Scope::MC_MARK_WEAK_CLOSURE], |
624 current_.scopes[Scope::MC_MARK_WEAK_CLOSURE_EPHEMERAL], | 624 current_.scopes[Scope::MC_MARK_WEAK_CLOSURE_EPHEMERAL], |
625 current_.scopes[Scope::MC_MARK_WEAK_CLOSURE_WEAK_HANDLES], | 625 current_.scopes[Scope::MC_MARK_WEAK_CLOSURE_WEAK_HANDLES], |
626 current_.scopes[Scope::MC_MARK_WEAK_CLOSURE_WEAK_ROOTS], | 626 current_.scopes[Scope::MC_MARK_WEAK_CLOSURE_WEAK_ROOTS], |
(...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
814 } | 814 } |
815 | 815 |
816 void GCTracer::ResetSurvivalEvents() { recorded_survival_ratios_.Reset(); } | 816 void GCTracer::ResetSurvivalEvents() { recorded_survival_ratios_.Reset(); } |
817 | 817 |
818 void GCTracer::NotifyIncrementalMarkingStart() { | 818 void GCTracer::NotifyIncrementalMarkingStart() { |
819 incremental_marking_start_time_ = heap_->MonotonicallyIncreasingTimeInMs(); | 819 incremental_marking_start_time_ = heap_->MonotonicallyIncreasingTimeInMs(); |
820 } | 820 } |
821 | 821 |
822 } // namespace internal | 822 } // namespace internal |
823 } // namespace v8 | 823 } // namespace v8 |
OLD | NEW |