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 1788 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1799 // Limit that triggers a global GC on the next (normally caused) GC. This | 1799 // Limit that triggers a global GC on the next (normally caused) GC. This |
1800 // is checked when we have already decided to do a GC to help determine | 1800 // is checked when we have already decided to do a GC to help determine |
1801 // which collector to invoke, before expanding a paged space in the old | 1801 // which collector to invoke, before expanding a paged space in the old |
1802 // generation and on every allocation in large object space. | 1802 // generation and on every allocation in large object space. |
1803 intptr_t old_generation_allocation_limit_; | 1803 intptr_t old_generation_allocation_limit_; |
1804 | 1804 |
1805 // Indicates that an allocation has failed in the old generation since the | 1805 // Indicates that an allocation has failed in the old generation since the |
1806 // last GC. | 1806 // last GC. |
1807 bool old_gen_exhausted_; | 1807 bool old_gen_exhausted_; |
1808 | 1808 |
| 1809 // Indicates that memory usage is more important than latency. |
| 1810 // TODO(ulan): Merge it with memory reducer once chromium:490559 is fixed. |
| 1811 bool optimize_for_memory_usage_; |
| 1812 |
1809 // Indicates that inline bump-pointer allocation has been globally disabled | 1813 // Indicates that inline bump-pointer allocation has been globally disabled |
1810 // for all spaces. This is used to disable allocations in generated code. | 1814 // for all spaces. This is used to disable allocations in generated code. |
1811 bool inline_allocation_disabled_; | 1815 bool inline_allocation_disabled_; |
1812 | 1816 |
1813 // Weak list heads, threaded through the objects. | 1817 // Weak list heads, threaded through the objects. |
1814 // List heads are initialized lazily and contain the undefined_value at start. | 1818 // List heads are initialized lazily and contain the undefined_value at start. |
1815 Object* native_contexts_list_; | 1819 Object* native_contexts_list_; |
1816 Object* allocation_sites_list_; | 1820 Object* allocation_sites_list_; |
1817 | 1821 |
1818 // List of encountered weak collections (JSWeakMap and JSWeakSet) during | 1822 // List of encountered weak collections (JSWeakMap and JSWeakSet) during |
(...skipping 1009 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2828 DisallowHeapAllocation no_allocation; // i.e. no gc allowed. | 2832 DisallowHeapAllocation no_allocation; // i.e. no gc allowed. |
2829 | 2833 |
2830 private: | 2834 private: |
2831 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); | 2835 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); |
2832 }; | 2836 }; |
2833 #endif // DEBUG | 2837 #endif // DEBUG |
2834 } | 2838 } |
2835 } // namespace v8::internal | 2839 } // namespace v8::internal |
2836 | 2840 |
2837 #endif // V8_HEAP_HEAP_H_ | 2841 #endif // V8_HEAP_HEAP_H_ |
OLD | NEW |