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 1881 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1892 // Calculates the allocation limit based on a given growing factor and a | 1892 // Calculates the allocation limit based on a given growing factor and a |
1893 // given old generation size. | 1893 // given old generation size. |
1894 intptr_t CalculateOldGenerationAllocationLimit(double factor, | 1894 intptr_t CalculateOldGenerationAllocationLimit(double factor, |
1895 intptr_t old_gen_size); | 1895 intptr_t old_gen_size); |
1896 | 1896 |
1897 // Sets the allocation limit to trigger the next full garbage collection. | 1897 // Sets the allocation limit to trigger the next full garbage collection. |
1898 void SetOldGenerationAllocationLimit(intptr_t old_gen_size, double gc_speed, | 1898 void SetOldGenerationAllocationLimit(intptr_t old_gen_size, double gc_speed, |
1899 double mutator_speed); | 1899 double mutator_speed); |
1900 | 1900 |
1901 // =========================================================================== | 1901 // =========================================================================== |
1902 // Inline allocation. ======================================================== | |
1903 // =========================================================================== | |
1904 | |
1905 void LowerInlineAllocationLimit(intptr_t step); | |
1906 void ResetInlineAllocationLimit(); | |
1907 | |
1908 // =========================================================================== | |
1909 // Idle notification. ======================================================== | 1902 // Idle notification. ======================================================== |
1910 // =========================================================================== | 1903 // =========================================================================== |
1911 | 1904 |
1912 bool RecentIdleNotificationHappened(); | 1905 bool RecentIdleNotificationHappened(); |
1913 void ScheduleIdleScavengeIfNeeded(int bytes_allocated); | 1906 void ScheduleIdleScavengeIfNeeded(int bytes_allocated); |
| 1907 static void ScheduleIdleScavengeIfNeededCallback(int bytes_allocated, |
| 1908 void* arg); |
1914 | 1909 |
1915 // =========================================================================== | 1910 // =========================================================================== |
1916 // Allocation methods. ======================================================= | 1911 // Allocation methods. ======================================================= |
1917 // =========================================================================== | 1912 // =========================================================================== |
1918 | 1913 |
1919 // Returns a deep copy of the JavaScript object. | 1914 // Returns a deep copy of the JavaScript object. |
1920 // Properties and elements are copied too. | 1915 // Properties and elements are copied too. |
1921 // Optionally takes an AllocationSite to be appended in an AllocationMemento. | 1916 // Optionally takes an AllocationSite to be appended in an AllocationMemento. |
1922 MUST_USE_RESULT AllocationResult CopyJSObject(JSObject* source, | 1917 MUST_USE_RESULT AllocationResult CopyJSObject(JSObject* source, |
1923 AllocationSite* site = NULL); | 1918 AllocationSite* site = NULL); |
(...skipping 803 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2727 DisallowHeapAllocation no_allocation; // i.e. no gc allowed. | 2722 DisallowHeapAllocation no_allocation; // i.e. no gc allowed. |
2728 | 2723 |
2729 private: | 2724 private: |
2730 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); | 2725 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); |
2731 }; | 2726 }; |
2732 #endif // DEBUG | 2727 #endif // DEBUG |
2733 } // namespace internal | 2728 } // namespace internal |
2734 } // namespace v8 | 2729 } // namespace v8 |
2735 | 2730 |
2736 #endif // V8_HEAP_HEAP_H_ | 2731 #endif // V8_HEAP_HEAP_H_ |
OLD | NEW |