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

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

Issue 2593043002: [heap] New API for increasing the heap limit for debugging. (Closed)
Patch Set: add test Created 3 years, 12 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/heap.h ('k') | test/cctest/test-api.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/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 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
74 : external_memory_(0), 74 : external_memory_(0),
75 external_memory_limit_(kExternalAllocationSoftLimit), 75 external_memory_limit_(kExternalAllocationSoftLimit),
76 external_memory_at_last_mark_compact_(0), 76 external_memory_at_last_mark_compact_(0),
77 isolate_(nullptr), 77 isolate_(nullptr),
78 code_range_size_(0), 78 code_range_size_(0),
79 // semispace_size_ should be a power of 2 and old_generation_size_ should 79 // semispace_size_ should be a power of 2 and old_generation_size_ should
80 // be a multiple of Page::kPageSize. 80 // be a multiple of Page::kPageSize.
81 max_semi_space_size_(8 * (kPointerSize / 4) * MB), 81 max_semi_space_size_(8 * (kPointerSize / 4) * MB),
82 initial_semispace_size_(MB), 82 initial_semispace_size_(MB),
83 max_old_generation_size_(700ul * (kPointerSize / 4) * MB), 83 max_old_generation_size_(700ul * (kPointerSize / 4) * MB),
84 initial_max_old_generation_size_(max_old_generation_size_),
84 initial_old_generation_size_(max_old_generation_size_ / 85 initial_old_generation_size_(max_old_generation_size_ /
85 kInitalOldGenerationLimitFactor), 86 kInitalOldGenerationLimitFactor),
86 old_generation_size_configured_(false), 87 old_generation_size_configured_(false),
87 max_executable_size_(256ul * (kPointerSize / 4) * MB), 88 max_executable_size_(256ul * (kPointerSize / 4) * MB),
88 // Variables set based on semispace_size_ and old_generation_size_ in 89 // Variables set based on semispace_size_ and old_generation_size_ in
89 // ConfigureHeap. 90 // ConfigureHeap.
90 // Will be 4 * reserved_semispace_size_ to ensure that young 91 // Will be 4 * reserved_semispace_size_ to ensure that young
91 // generation can be aligned to its size. 92 // generation can be aligned to its size.
92 maximum_committed_(0), 93 maximum_committed_(0),
93 survived_since_last_expansion_(0), 94 survived_since_last_expansion_(0),
(...skipping 4954 matching lines...) Expand 10 before | Expand all | Expand 10 after
5048 } 5049 }
5049 5050
5050 initial_semispace_size_ = Min(initial_semispace_size_, max_semi_space_size_); 5051 initial_semispace_size_ = Min(initial_semispace_size_, max_semi_space_size_);
5051 5052
5052 if (FLAG_semi_space_growth_factor < 2) { 5053 if (FLAG_semi_space_growth_factor < 2) {
5053 FLAG_semi_space_growth_factor = 2; 5054 FLAG_semi_space_growth_factor = 2;
5054 } 5055 }
5055 5056
5056 // The old generation is paged and needs at least one page for each space. 5057 // The old generation is paged and needs at least one page for each space.
5057 int paged_space_count = LAST_PAGED_SPACE - FIRST_PAGED_SPACE + 1; 5058 int paged_space_count = LAST_PAGED_SPACE - FIRST_PAGED_SPACE + 1;
5058 max_old_generation_size_ = 5059 initial_max_old_generation_size_ = max_old_generation_size_ =
5059 Max(static_cast<size_t>(paged_space_count * Page::kPageSize), 5060 Max(static_cast<size_t>(paged_space_count * Page::kPageSize),
5060 max_old_generation_size_); 5061 max_old_generation_size_);
5061 5062
5062 // The max executable size must be less than or equal to the max old 5063 // The max executable size must be less than or equal to the max old
5063 // generation size. 5064 // generation size.
5064 if (max_executable_size_ > max_old_generation_size_) { 5065 if (max_executable_size_ > max_old_generation_size_) {
5065 max_executable_size_ = max_old_generation_size_; 5066 max_executable_size_ = max_old_generation_size_;
5066 } 5067 }
5067 5068
5068 if (FLAG_initial_old_space_size > 0) { 5069 if (FLAG_initial_old_space_size > 0) {
(...skipping 1430 matching lines...) Expand 10 before | Expand all | Expand 10 after
6499 } 6500 }
6500 6501
6501 6502
6502 // static 6503 // static
6503 int Heap::GetStaticVisitorIdForMap(Map* map) { 6504 int Heap::GetStaticVisitorIdForMap(Map* map) {
6504 return StaticVisitorBase::GetVisitorId(map); 6505 return StaticVisitorBase::GetVisitorId(map);
6505 } 6506 }
6506 6507
6507 } // namespace internal 6508 } // namespace internal
6508 } // namespace v8 6509 } // namespace v8
OLDNEW
« no previous file with comments | « src/heap/heap.h ('k') | test/cctest/test-api.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698