OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 1551 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1562 // remain until the next failure and garbage collection. | 1562 // remain until the next failure and garbage collection. |
1563 int allocation_timeout_; | 1563 int allocation_timeout_; |
1564 | 1564 |
1565 // Do we expect to be able to handle allocation failure at this | 1565 // Do we expect to be able to handle allocation failure at this |
1566 // time? | 1566 // time? |
1567 bool disallow_allocation_failure_; | 1567 bool disallow_allocation_failure_; |
1568 | 1568 |
1569 HeapDebugUtils* debug_utils_; | 1569 HeapDebugUtils* debug_utils_; |
1570 #endif // DEBUG | 1570 #endif // DEBUG |
1571 | 1571 |
| 1572 // Indicates that the new space should be kept small due to high promotion |
| 1573 // rates caused by the mutator allocating a lot of long-lived objects. |
| 1574 bool new_space_high_promotion_mode_active_; |
| 1575 |
1572 // Limit that triggers a global GC on the next (normally caused) GC. This | 1576 // Limit that triggers a global GC on the next (normally caused) GC. This |
1573 // is checked when we have already decided to do a GC to help determine | 1577 // is checked when we have already decided to do a GC to help determine |
1574 // which collector to invoke. | 1578 // which collector to invoke. |
1575 intptr_t old_gen_promotion_limit_; | 1579 intptr_t old_gen_promotion_limit_; |
1576 | 1580 |
1577 // Limit that triggers a global GC as soon as is reasonable. This is | 1581 // Limit that triggers a global GC as soon as is reasonable. This is |
1578 // checked before expanding a paged space in the old generation and on | 1582 // checked before expanding a paged space in the old generation and on |
1579 // every allocation in large object space. | 1583 // every allocation in large object space. |
1580 intptr_t old_gen_allocation_limit_; | 1584 intptr_t old_gen_allocation_limit_; |
1581 | 1585 |
(...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1802 return true; | 1806 return true; |
1803 default: | 1807 default: |
1804 return false; | 1808 return false; |
1805 } | 1809 } |
1806 } | 1810 } |
1807 | 1811 |
1808 bool IsIncreasingSurvivalTrend() { | 1812 bool IsIncreasingSurvivalTrend() { |
1809 return survival_rate_trend() == INCREASING; | 1813 return survival_rate_trend() == INCREASING; |
1810 } | 1814 } |
1811 | 1815 |
| 1816 bool IsDecreasingSurvivalTrend() { |
| 1817 return survival_rate_trend() == DECREASING; |
| 1818 } |
| 1819 |
1812 bool IsHighSurvivalRate() { | 1820 bool IsHighSurvivalRate() { |
1813 return high_survival_rate_period_length_ > 0; | 1821 return high_survival_rate_period_length_ > 0; |
1814 } | 1822 } |
1815 | 1823 |
1816 void SelectScavengingVisitorsTable(); | 1824 void SelectScavengingVisitorsTable(); |
1817 | 1825 |
1818 static const int kInitialSymbolTableSize = 2048; | 1826 static const int kInitialSymbolTableSize = 2048; |
1819 static const int kInitialEvalCacheSize = 64; | 1827 static const int kInitialEvalCacheSize = 64; |
1820 | 1828 |
1821 // Maximum GC pause. | 1829 // Maximum GC pause. |
(...skipping 719 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2541 | 2549 |
2542 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); | 2550 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); |
2543 }; | 2551 }; |
2544 #endif // DEBUG || LIVE_OBJECT_LIST | 2552 #endif // DEBUG || LIVE_OBJECT_LIST |
2545 | 2553 |
2546 } } // namespace v8::internal | 2554 } } // namespace v8::internal |
2547 | 2555 |
2548 #undef HEAP | 2556 #undef HEAP |
2549 | 2557 |
2550 #endif // V8_HEAP_H_ | 2558 #endif // V8_HEAP_H_ |
OLD | NEW |