OLD | NEW |
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/context-slot-cache.h" | 9 #include "src/ast/context-slot-cache.h" |
10 #include "src/base/bits.h" | 10 #include "src/base/bits.h" |
(...skipping 1721 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1732 | 1732 |
1733 promotion_queue_.Destroy(); | 1733 promotion_queue_.Destroy(); |
1734 | 1734 |
1735 incremental_marking()->UpdateMarkingDequeAfterScavenge(); | 1735 incremental_marking()->UpdateMarkingDequeAfterScavenge(); |
1736 | 1736 |
1737 ScavengeWeakObjectRetainer weak_object_retainer(this); | 1737 ScavengeWeakObjectRetainer weak_object_retainer(this); |
1738 ProcessYoungWeakReferences(&weak_object_retainer); | 1738 ProcessYoungWeakReferences(&weak_object_retainer); |
1739 | 1739 |
1740 DCHECK(new_space_front == new_space_->top()); | 1740 DCHECK(new_space_front == new_space_->top()); |
1741 | 1741 |
1742 // Set age mark. | 1742 new_space_->SealIntermediateGeneration(); |
1743 new_space_->set_age_mark(new_space_->top()); | |
1744 | 1743 |
1745 ArrayBufferTracker::FreeDeadInNewSpace(this); | 1744 ArrayBufferTracker::FreeDeadInNewSpace(this); |
1746 | 1745 |
1747 // Update how much has survived scavenge. | 1746 // Update how much has survived scavenge. |
1748 IncrementYoungSurvivorsCounter( | 1747 IncrementYoungSurvivorsCounter( |
1749 static_cast<int>((PromotedSpaceSizeOfObjects() - survived_watermark) + | 1748 static_cast<int>((PromotedSpaceSizeOfObjects() - survived_watermark) + |
1750 new_space_->Size())); | 1749 new_space_->Size())); |
1751 | 1750 |
1752 LOG(isolate_, ResourceEvent("scavenge", "end")); | 1751 LOG(isolate_, ResourceEvent("scavenge", "end")); |
1753 | 1752 |
(...skipping 3330 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5084 "semi-space size of %d MB\n", | 5083 "semi-space size of %d MB\n", |
5085 max_semi_space_size_ / MB); | 5084 max_semi_space_size_ / MB); |
5086 } | 5085 } |
5087 } else { | 5086 } else { |
5088 initial_semispace_size_ = | 5087 initial_semispace_size_ = |
5089 ROUND_UP(initial_semispace_size, Page::kPageSize); | 5088 ROUND_UP(initial_semispace_size, Page::kPageSize); |
5090 } | 5089 } |
5091 } | 5090 } |
5092 | 5091 |
5093 initial_semispace_size_ = Min(initial_semispace_size_, max_semi_space_size_); | 5092 initial_semispace_size_ = Min(initial_semispace_size_, max_semi_space_size_); |
5094 | |
5095 if (FLAG_semi_space_growth_factor < 2) { | 5093 if (FLAG_semi_space_growth_factor < 2) { |
5096 FLAG_semi_space_growth_factor = 2; | 5094 FLAG_semi_space_growth_factor = 2; |
5097 } | 5095 } |
5098 | 5096 |
5099 // The old generation is paged and needs at least one page for each space. | 5097 // The old generation is paged and needs at least one page for each space. |
5100 int paged_space_count = LAST_PAGED_SPACE - FIRST_PAGED_SPACE + 1; | 5098 int paged_space_count = LAST_PAGED_SPACE - FIRST_PAGED_SPACE + 1; |
5101 max_old_generation_size_ = | 5099 max_old_generation_size_ = |
5102 Max(static_cast<intptr_t>(paged_space_count * Page::kPageSize), | 5100 Max(static_cast<intptr_t>(paged_space_count * Page::kPageSize), |
5103 max_old_generation_size_); | 5101 max_old_generation_size_); |
5104 | 5102 |
(...skipping 1435 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6540 } | 6538 } |
6541 | 6539 |
6542 | 6540 |
6543 // static | 6541 // static |
6544 int Heap::GetStaticVisitorIdForMap(Map* map) { | 6542 int Heap::GetStaticVisitorIdForMap(Map* map) { |
6545 return StaticVisitorBase::GetVisitorId(map); | 6543 return StaticVisitorBase::GetVisitorId(map); |
6546 } | 6544 } |
6547 | 6545 |
6548 } // namespace internal | 6546 } // namespace internal |
6549 } // namespace v8 | 6547 } // namespace v8 |
OLD | NEW |