| 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 | 9 |
| 10 #include "src/allocation.h" | 10 #include "src/allocation.h" |
| (...skipping 1488 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1499 Isolate* isolate_; | 1499 Isolate* isolate_; |
| 1500 | 1500 |
| 1501 Object* roots_[kRootListLength]; | 1501 Object* roots_[kRootListLength]; |
| 1502 | 1502 |
| 1503 size_t code_range_size_; | 1503 size_t code_range_size_; |
| 1504 int reserved_semispace_size_; | 1504 int reserved_semispace_size_; |
| 1505 int max_semi_space_size_; | 1505 int max_semi_space_size_; |
| 1506 int initial_semispace_size_; | 1506 int initial_semispace_size_; |
| 1507 int target_semispace_size_; | 1507 int target_semispace_size_; |
| 1508 intptr_t max_old_generation_size_; | 1508 intptr_t max_old_generation_size_; |
| 1509 intptr_t initial_old_generation_size_; | |
| 1510 bool old_generation_size_configured_; | |
| 1511 intptr_t max_executable_size_; | 1509 intptr_t max_executable_size_; |
| 1512 intptr_t maximum_committed_; | 1510 intptr_t maximum_committed_; |
| 1513 | 1511 |
| 1514 // For keeping track of how much data has survived | 1512 // For keeping track of how much data has survived |
| 1515 // scavenge since last new space expansion. | 1513 // scavenge since last new space expansion. |
| 1516 int survived_since_last_expansion_; | 1514 int survived_since_last_expansion_; |
| 1517 | 1515 |
| 1518 // ... and since the last scavenge. | 1516 // ... and since the last scavenge. |
| 1519 int survived_last_scavenge_; | 1517 int survived_last_scavenge_; |
| 1520 | 1518 |
| (...skipping 467 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1988 | 1986 |
| 1989 void UpdateSurvivalStatistics(int start_new_space_size); | 1987 void UpdateSurvivalStatistics(int start_new_space_size); |
| 1990 | 1988 |
| 1991 static const int kYoungSurvivalRateHighThreshold = 90; | 1989 static const int kYoungSurvivalRateHighThreshold = 90; |
| 1992 static const int kYoungSurvivalRateAllowedDeviation = 15; | 1990 static const int kYoungSurvivalRateAllowedDeviation = 15; |
| 1993 | 1991 |
| 1994 static const int kOldSurvivalRateLowThreshold = 10; | 1992 static const int kOldSurvivalRateLowThreshold = 10; |
| 1995 | 1993 |
| 1996 int high_survival_rate_period_length_; | 1994 int high_survival_rate_period_length_; |
| 1997 intptr_t promoted_objects_size_; | 1995 intptr_t promoted_objects_size_; |
| 1998 double promotion_ratio_; | |
| 1999 double promotion_rate_; | 1996 double promotion_rate_; |
| 2000 intptr_t semi_space_copied_object_size_; | 1997 intptr_t semi_space_copied_object_size_; |
| 2001 intptr_t previous_semi_space_copied_object_size_; | |
| 2002 double semi_space_copied_rate_; | 1998 double semi_space_copied_rate_; |
| 2003 int nodes_died_in_new_space_; | 1999 int nodes_died_in_new_space_; |
| 2004 int nodes_copied_in_new_space_; | 2000 int nodes_copied_in_new_space_; |
| 2005 int nodes_promoted_; | 2001 int nodes_promoted_; |
| 2006 | 2002 |
| 2007 // This is the pretenuring trigger for allocation sites that are in maybe | 2003 // This is the pretenuring trigger for allocation sites that are in maybe |
| 2008 // tenure state. When we switched to the maximum new space size we deoptimize | 2004 // tenure state. When we switched to the maximum new space size we deoptimize |
| 2009 // the code that belongs to the allocation site and derive the lifetime | 2005 // the code that belongs to the allocation site and derive the lifetime |
| 2010 // of the allocation site. | 2006 // of the allocation site. |
| 2011 unsigned int maximum_size_scavenges_; | 2007 unsigned int maximum_size_scavenges_; |
| 2012 | 2008 |
| 2013 // TODO(hpayer): Allocation site pretenuring may make this method obsolete. | 2009 // TODO(hpayer): Allocation site pretenuring may make this method obsolete. |
| 2014 // Re-visit incremental marking heuristics. | 2010 // Re-visit incremental marking heuristics. |
| 2015 bool IsHighSurvivalRate() { return high_survival_rate_period_length_ > 0; } | 2011 bool IsHighSurvivalRate() { return high_survival_rate_period_length_ > 0; } |
| 2016 | 2012 |
| 2017 void ConfigureInitialOldGenerationSize(); | |
| 2018 | |
| 2019 void SelectScavengingVisitorsTable(); | 2013 void SelectScavengingVisitorsTable(); |
| 2020 | 2014 |
| 2021 void IdleMarkCompact(const char* message); | 2015 void IdleMarkCompact(const char* message); |
| 2022 | 2016 |
| 2023 bool TryFinalizeIdleIncrementalMarking( | 2017 bool TryFinalizeIdleIncrementalMarking( |
| 2024 double idle_time_in_ms, size_t size_of_objects, | 2018 double idle_time_in_ms, size_t size_of_objects, |
| 2025 size_t mark_compact_speed_in_bytes_per_ms); | 2019 size_t mark_compact_speed_in_bytes_per_ms); |
| 2026 | 2020 |
| 2027 bool WorthActivatingIncrementalMarking(); | 2021 bool WorthActivatingIncrementalMarking(); |
| 2028 | 2022 |
| (...skipping 565 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2594 DisallowHeapAllocation no_allocation; // i.e. no gc allowed. | 2588 DisallowHeapAllocation no_allocation; // i.e. no gc allowed. |
| 2595 | 2589 |
| 2596 private: | 2590 private: |
| 2597 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); | 2591 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); |
| 2598 }; | 2592 }; |
| 2599 #endif // DEBUG | 2593 #endif // DEBUG |
| 2600 } | 2594 } |
| 2601 } // namespace v8::internal | 2595 } // namespace v8::internal |
| 2602 | 2596 |
| 2603 #endif // V8_HEAP_HEAP_H_ | 2597 #endif // V8_HEAP_HEAP_H_ |
| OLD | NEW |