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

Side by Side Diff: src/heap/spaces.h

Issue 2488403003: Add v8_os_page_size flag for cross compilation (Closed)
Patch Set: merge with master Created 4 years, 1 month 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/flag-definitions.h ('k') | src/heap/spaces.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 2011 the V8 project authors. All rights reserved. 1 // Copyright 2011 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 #ifndef V8_HEAP_SPACES_H_ 5 #ifndef V8_HEAP_SPACES_H_
6 #define V8_HEAP_SPACES_H_ 6 #define V8_HEAP_SPACES_H_
7 7
8 #include <list> 8 #include <list>
9 #include <memory> 9 #include <memory>
10 #include <unordered_set> 10 #include <unordered_set>
(...skipping 1072 matching lines...) Expand 10 before | Expand all | Expand 10 after
1083 static const int kSize = Page::kPageSize / kRegionSize; 1083 static const int kSize = Page::kPageSize / kRegionSize;
1084 1084
1085 STATIC_ASSERT(Page::kPageSize % kRegionSize == 0); 1085 STATIC_ASSERT(Page::kPageSize % kRegionSize == 0);
1086 1086
1087 Address starts_[kSize]; 1087 Address starts_[kSize];
1088 }; 1088 };
1089 1089
1090 1090
1091 // ---------------------------------------------------------------------------- 1091 // ----------------------------------------------------------------------------
1092 // A space acquires chunks of memory from the operating system. The memory 1092 // A space acquires chunks of memory from the operating system. The memory
1093 // allocator allocated and deallocates pages for the paged heap spaces and large 1093 // allocator allocates and deallocates pages for the paged heap spaces and large
1094 // pages for large object space. 1094 // pages for large object space.
1095 class MemoryAllocator { 1095 class MemoryAllocator {
1096 public: 1096 public:
1097 // Unmapper takes care of concurrently unmapping and uncommitting memory 1097 // Unmapper takes care of concurrently unmapping and uncommitting memory
1098 // chunks. 1098 // chunks.
1099 class Unmapper { 1099 class Unmapper {
1100 public: 1100 public:
1101 class UnmapFreeMemoryTask; 1101 class UnmapFreeMemoryTask;
1102 1102
1103 explicit Unmapper(MemoryAllocator* allocator) 1103 explicit Unmapper(MemoryAllocator* allocator)
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
1202 static size_t CodePageAreaSize() { 1202 static size_t CodePageAreaSize() {
1203 return CodePageAreaEndOffset() - CodePageAreaStartOffset(); 1203 return CodePageAreaEndOffset() - CodePageAreaStartOffset();
1204 } 1204 }
1205 1205
1206 static size_t PageAreaSize(AllocationSpace space) { 1206 static size_t PageAreaSize(AllocationSpace space) {
1207 DCHECK_NE(LO_SPACE, space); 1207 DCHECK_NE(LO_SPACE, space);
1208 return (space == CODE_SPACE) ? CodePageAreaSize() 1208 return (space == CODE_SPACE) ? CodePageAreaSize()
1209 : Page::kAllocatableMemory; 1209 : Page::kAllocatableMemory;
1210 } 1210 }
1211 1211
1212 static intptr_t GetCommitPageSize();
1213
1212 explicit MemoryAllocator(Isolate* isolate); 1214 explicit MemoryAllocator(Isolate* isolate);
1213 1215
1214 // Initializes its internal bookkeeping structures. 1216 // Initializes its internal bookkeeping structures.
1215 // Max capacity of the total space and executable memory limit. 1217 // Max capacity of the total space and executable memory limit.
1216 bool SetUp(size_t max_capacity, size_t capacity_executable, 1218 bool SetUp(size_t max_capacity, size_t capacity_executable,
1217 size_t code_range_size); 1219 size_t code_range_size);
1218 1220
1219 void TearDown(); 1221 void TearDown();
1220 1222
1221 // Allocates a Page from the allocator. AllocationMode is used to indicate 1223 // Allocates a Page from the allocator. AllocationMode is used to indicate
(...skipping 1685 matching lines...) Expand 10 before | Expand all | Expand 10 after
2907 PageIterator old_iterator_; 2909 PageIterator old_iterator_;
2908 PageIterator code_iterator_; 2910 PageIterator code_iterator_;
2909 PageIterator map_iterator_; 2911 PageIterator map_iterator_;
2910 LargePageIterator lo_iterator_; 2912 LargePageIterator lo_iterator_;
2911 }; 2913 };
2912 2914
2913 } // namespace internal 2915 } // namespace internal
2914 } // namespace v8 2916 } // namespace v8
2915 2917
2916 #endif // V8_HEAP_SPACES_H_ 2918 #endif // V8_HEAP_SPACES_H_
OLDNEW
« no previous file with comments | « src/flag-definitions.h ('k') | src/heap/spaces.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698