OLD | NEW |
1 // Copyright 2009 the V8 project authors. All rights reserved. | 1 // Copyright 2009 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 620 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
631 } | 631 } |
632 } | 632 } |
633 | 633 |
634 EnsureFromSpaceIsCommitted(); | 634 EnsureFromSpaceIsCommitted(); |
635 | 635 |
636 int start_new_space_size = Heap::new_space()->Size(); | 636 int start_new_space_size = Heap::new_space()->Size(); |
637 | 637 |
638 if (collector == MARK_COMPACTOR) { | 638 if (collector == MARK_COMPACTOR) { |
639 if (FLAG_flush_code) { | 639 if (FLAG_flush_code) { |
640 // Flush all potentially unused code. | 640 // Flush all potentially unused code. |
| 641 GCTracer::Scope gc_scope(tracer, GCTracer::Scope::MC_FLUSH_CODE); |
641 FlushCode(); | 642 FlushCode(); |
642 } | 643 } |
643 | 644 |
644 // Perform mark-sweep with optional compaction. | 645 // Perform mark-sweep with optional compaction. |
645 MarkCompact(tracer); | 646 MarkCompact(tracer); |
646 | 647 |
647 bool high_survival_rate_during_scavenges = IsHighSurvivalRate() && | 648 bool high_survival_rate_during_scavenges = IsHighSurvivalRate() && |
648 IsStableOrIncreasingSurvivalTrend(); | 649 IsStableOrIncreasingSurvivalTrend(); |
649 | 650 |
650 UpdateSurvivalRateTrend(start_new_space_size); | 651 UpdateSurvivalRateTrend(start_new_space_size); |
(...skipping 4183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4834 break; | 4835 break; |
4835 default: | 4836 default: |
4836 UNREACHABLE(); | 4837 UNREACHABLE(); |
4837 } | 4838 } |
4838 PrintF(" "); | 4839 PrintF(" "); |
4839 | 4840 |
4840 PrintF("external=%d ", static_cast<int>(scopes_[Scope::EXTERNAL])); | 4841 PrintF("external=%d ", static_cast<int>(scopes_[Scope::EXTERNAL])); |
4841 PrintF("mark=%d ", static_cast<int>(scopes_[Scope::MC_MARK])); | 4842 PrintF("mark=%d ", static_cast<int>(scopes_[Scope::MC_MARK])); |
4842 PrintF("sweep=%d ", static_cast<int>(scopes_[Scope::MC_SWEEP])); | 4843 PrintF("sweep=%d ", static_cast<int>(scopes_[Scope::MC_SWEEP])); |
4843 PrintF("compact=%d ", static_cast<int>(scopes_[Scope::MC_COMPACT])); | 4844 PrintF("compact=%d ", static_cast<int>(scopes_[Scope::MC_COMPACT])); |
| 4845 PrintF("flushcode=%d ", static_cast<int>(scopes_[Scope::MC_FLUSH_CODE])); |
4844 | 4846 |
4845 PrintF("total_size_before=%d ", start_size_); | 4847 PrintF("total_size_before=%d ", start_size_); |
4846 PrintF("total_size_after=%d ", Heap::SizeOfObjects()); | 4848 PrintF("total_size_after=%d ", Heap::SizeOfObjects()); |
4847 PrintF("holes_size_before=%d ", in_free_list_or_wasted_before_gc_); | 4849 PrintF("holes_size_before=%d ", in_free_list_or_wasted_before_gc_); |
4848 PrintF("holes_size_after=%d ", CountTotalHolesSize()); | 4850 PrintF("holes_size_after=%d ", CountTotalHolesSize()); |
4849 | 4851 |
4850 PrintF("allocated=%d ", allocated_since_last_gc_); | 4852 PrintF("allocated=%d ", allocated_since_last_gc_); |
4851 PrintF("promoted=%d ", promoted_objects_size_); | 4853 PrintF("promoted=%d ", promoted_objects_size_); |
4852 | 4854 |
4853 PrintF("\n"); | 4855 PrintF("\n"); |
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4983 void ExternalStringTable::TearDown() { | 4985 void ExternalStringTable::TearDown() { |
4984 new_space_strings_.Free(); | 4986 new_space_strings_.Free(); |
4985 old_space_strings_.Free(); | 4987 old_space_strings_.Free(); |
4986 } | 4988 } |
4987 | 4989 |
4988 | 4990 |
4989 List<Object*> ExternalStringTable::new_space_strings_; | 4991 List<Object*> ExternalStringTable::new_space_strings_; |
4990 List<Object*> ExternalStringTable::old_space_strings_; | 4992 List<Object*> ExternalStringTable::old_space_strings_; |
4991 | 4993 |
4992 } } // namespace v8::internal | 4994 } } // namespace v8::internal |
OLD | NEW |