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 #ifndef V8_HEAP_HEAP_H_ | 5 #ifndef V8_HEAP_HEAP_H_ |
6 #define V8_HEAP_HEAP_H_ | 6 #define V8_HEAP_HEAP_H_ |
7 | 7 |
8 #include <cmath> | 8 #include <cmath> |
9 #include <map> | 9 #include <map> |
10 | 10 |
(...skipping 1018 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1029 // prepared by finishing the previous one. | 1029 // prepared by finishing the previous one. |
1030 void PrepareArrayBufferDiscoveryInNewSpace(); | 1030 void PrepareArrayBufferDiscoveryInNewSpace(); |
1031 | 1031 |
1032 // An ArrayBuffer moved from new space to old space. | 1032 // An ArrayBuffer moved from new space to old space. |
1033 void PromoteArrayBuffer(Object* buffer); | 1033 void PromoteArrayBuffer(Object* buffer); |
1034 | 1034 |
1035 bool HasLowAllocationRate(); | 1035 bool HasLowAllocationRate(); |
1036 bool HasHighFragmentation(); | 1036 bool HasHighFragmentation(); |
1037 bool HasHighFragmentation(intptr_t used, intptr_t committed); | 1037 bool HasHighFragmentation(intptr_t used, intptr_t committed); |
1038 | 1038 |
| 1039 bool ShouldOptimizeForMemoryUsage() { return optimize_for_memory_usage_; } |
| 1040 |
1039 // =========================================================================== | 1041 // =========================================================================== |
1040 // Initialization. =========================================================== | 1042 // Initialization. =========================================================== |
1041 // =========================================================================== | 1043 // =========================================================================== |
1042 | 1044 |
1043 // Configure heap size in MB before setup. Return false if the heap has been | 1045 // Configure heap size in MB before setup. Return false if the heap has been |
1044 // set up already. | 1046 // set up already. |
1045 bool ConfigureHeap(int max_semi_space_size, int max_old_space_size, | 1047 bool ConfigureHeap(int max_semi_space_size, int max_old_space_size, |
1046 int max_executable_size, size_t code_range_size); | 1048 int max_executable_size, size_t code_range_size); |
1047 bool ConfigureHeapDefault(); | 1049 bool ConfigureHeapDefault(); |
1048 | 1050 |
(...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1287 | 1289 |
1288 // Performs incremental marking steps of step_size_in_bytes as long as | 1290 // Performs incremental marking steps of step_size_in_bytes as long as |
1289 // deadline_ins_ms is not reached. step_size_in_bytes can be 0 to compute | 1291 // deadline_ins_ms is not reached. step_size_in_bytes can be 0 to compute |
1290 // an estimate increment. Returns the remaining time that cannot be used | 1292 // an estimate increment. Returns the remaining time that cannot be used |
1291 // for incremental marking anymore because a single step would exceed the | 1293 // for incremental marking anymore because a single step would exceed the |
1292 // deadline. | 1294 // deadline. |
1293 double AdvanceIncrementalMarking( | 1295 double AdvanceIncrementalMarking( |
1294 intptr_t step_size_in_bytes, double deadline_in_ms, | 1296 intptr_t step_size_in_bytes, double deadline_in_ms, |
1295 IncrementalMarking::StepActions step_actions); | 1297 IncrementalMarking::StepActions step_actions); |
1296 | 1298 |
| 1299 void FinalizeIncrementalMarkingIfComplete(const char* comment); |
| 1300 |
1297 IncrementalMarking* incremental_marking() { return &incremental_marking_; } | 1301 IncrementalMarking* incremental_marking() { return &incremental_marking_; } |
1298 | 1302 |
1299 // =========================================================================== | 1303 // =========================================================================== |
1300 // External string table API. ================================================ | 1304 // External string table API. ================================================ |
1301 // =========================================================================== | 1305 // =========================================================================== |
1302 | 1306 |
1303 // Registers an external string. | 1307 // Registers an external string. |
1304 inline void RegisterExternalString(String* string); | 1308 inline void RegisterExternalString(String* string); |
1305 | 1309 |
1306 // Finalizes an external string by deleting the associated external | 1310 // Finalizes an external string by deleting the associated external |
(...skipping 1435 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2742 DisallowHeapAllocation no_allocation; // i.e. no gc allowed. | 2746 DisallowHeapAllocation no_allocation; // i.e. no gc allowed. |
2743 | 2747 |
2744 private: | 2748 private: |
2745 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); | 2749 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); |
2746 }; | 2750 }; |
2747 #endif // DEBUG | 2751 #endif // DEBUG |
2748 } | 2752 } |
2749 } // namespace v8::internal | 2753 } // namespace v8::internal |
2750 | 2754 |
2751 #endif // V8_HEAP_HEAP_H_ | 2755 #endif // V8_HEAP_HEAP_H_ |
OLD | NEW |