OLD | NEW |
1 // Copyright 2016 the V8 project authors. All rights reserved. | 1 // Copyright 2016 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 HEAP_HEAP_UTILS_H_ | 5 #ifndef HEAP_HEAP_UTILS_H_ |
6 #define HEAP_HEAP_UTILS_H_ | 6 #define HEAP_HEAP_UTILS_H_ |
7 | 7 |
8 #include "src/heap/heap.h" | 8 #include "src/heap/heap.h" |
9 | 9 |
10 namespace v8 { | 10 namespace v8 { |
11 namespace internal { | 11 namespace internal { |
12 namespace heap { | 12 namespace heap { |
13 | 13 |
14 void SealCurrentObjects(Heap* heap); | 14 void SealCurrentObjects(Heap* heap); |
15 | 15 |
16 int FixedArrayLenFromSize(int size); | 16 int FixedArrayLenFromSize(int size); |
17 | 17 |
| 18 // Fill a page with fixed arrays leaving remainder behind. The function does |
| 19 // not create additional fillers and assumes that the space has just been |
| 20 // sealed. |
| 21 std::vector<Handle<FixedArray>> FillOldSpacePageWithFixedArrays(Heap* heap, |
| 22 int remainder); |
| 23 |
18 std::vector<Handle<FixedArray>> CreatePadding( | 24 std::vector<Handle<FixedArray>> CreatePadding( |
19 Heap* heap, int padding_size, PretenureFlag tenure, | 25 Heap* heap, int padding_size, PretenureFlag tenure, |
20 int object_size = Page::kMaxRegularHeapObjectSize); | 26 int object_size = Page::kMaxRegularHeapObjectSize); |
21 | 27 |
22 void AllocateAllButNBytes( | 28 void AllocateAllButNBytes( |
23 v8::internal::NewSpace* space, int extra_bytes, | 29 v8::internal::NewSpace* space, int extra_bytes, |
24 std::vector<Handle<FixedArray>>* out_handles = nullptr); | 30 std::vector<Handle<FixedArray>>* out_handles = nullptr); |
25 | 31 |
26 void FillCurrentPage(v8::internal::NewSpace* space, | 32 void FillCurrentPage(v8::internal::NewSpace* space, |
27 std::vector<Handle<FixedArray>>* out_handles = nullptr); | 33 std::vector<Handle<FixedArray>>* out_handles = nullptr); |
(...skipping 14 matching lines...) Expand all Loading... |
42 | 48 |
43 void AbandonCurrentlyFreeMemory(PagedSpace* space); | 49 void AbandonCurrentlyFreeMemory(PagedSpace* space); |
44 | 50 |
45 void GcAndSweep(Heap* heap, AllocationSpace space); | 51 void GcAndSweep(Heap* heap, AllocationSpace space); |
46 | 52 |
47 } // namespace heap | 53 } // namespace heap |
48 } // namespace internal | 54 } // namespace internal |
49 } // namespace v8 | 55 } // namespace v8 |
50 | 56 |
51 #endif // HEAP_HEAP_UTILS_H_ | 57 #endif // HEAP_HEAP_UTILS_H_ |
OLD | NEW |