| 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 |