Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 268 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 279 // iterating over the current page, finding pointers to new space. If the | 279 // iterating over the current page, finding pointers to new space. If the |
| 280 // store buffer overflows again we can exempt the page from the store buffer | 280 // store buffer overflows again we can exempt the page from the store buffer |
| 281 // by rewinding to this point instead of having to search the store buffer. | 281 // by rewinding to this point instead of having to search the store buffer. |
| 282 Object*** start_of_current_page_; | 282 Object*** start_of_current_page_; |
| 283 // The current page we are scanning in the store buffer iterator. | 283 // The current page we are scanning in the store buffer iterator. |
| 284 MemoryChunk* current_page_; | 284 MemoryChunk* current_page_; |
| 285 }; | 285 }; |
| 286 | 286 |
| 287 | 287 |
| 288 | 288 |
| 289 // The all static Heap captures the interface to the global object heap. | |
| 290 // All JavaScript contexts by this process share the same object heap. | |
| 291 | |
| 292 #ifdef DEBUG | |
| 293 class HeapDebugUtils; | |
| 294 #endif | |
| 295 | |
| 296 | 289 |
|
Michael Starzinger
2012/11/26 10:09:57
Drop the third empty newline.
| |
| 297 // A queue of objects promoted during scavenge. Each object is accompanied | 290 // A queue of objects promoted during scavenge. Each object is accompanied |
| 298 // by it's size to avoid dereferencing a map pointer for scanning. | 291 // by it's size to avoid dereferencing a map pointer for scanning. |
| 299 class PromotionQueue { | 292 class PromotionQueue { |
| 300 public: | 293 public: |
| 301 explicit PromotionQueue(Heap* heap) | 294 explicit PromotionQueue(Heap* heap) |
| 302 : front_(NULL), | 295 : front_(NULL), |
| 303 rear_(NULL), | 296 rear_(NULL), |
| 304 limit_(NULL), | 297 limit_(NULL), |
| 305 emergency_stack_(0), | 298 emergency_stack_(0), |
| 306 heap_(heap) { } | 299 heap_(heap) { } |
| (...skipping 1479 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1786 bool allocation_allowed_; | 1779 bool allocation_allowed_; |
| 1787 | 1780 |
| 1788 // If the --gc-interval flag is set to a positive value, this | 1781 // If the --gc-interval flag is set to a positive value, this |
| 1789 // variable holds the value indicating the number of allocations | 1782 // variable holds the value indicating the number of allocations |
| 1790 // remain until the next failure and garbage collection. | 1783 // remain until the next failure and garbage collection. |
| 1791 int allocation_timeout_; | 1784 int allocation_timeout_; |
| 1792 | 1785 |
| 1793 // Do we expect to be able to handle allocation failure at this | 1786 // Do we expect to be able to handle allocation failure at this |
| 1794 // time? | 1787 // time? |
| 1795 bool disallow_allocation_failure_; | 1788 bool disallow_allocation_failure_; |
| 1796 | 1789 |
|
Michael Starzinger
2012/11/26 10:09:57
Drop the empty newline.
| |
| 1797 HeapDebugUtils* debug_utils_; | |
| 1798 #endif // DEBUG | 1790 #endif // DEBUG |
| 1799 | 1791 |
| 1800 // Indicates that the new space should be kept small due to high promotion | 1792 // Indicates that the new space should be kept small due to high promotion |
| 1801 // rates caused by the mutator allocating a lot of long-lived objects. | 1793 // rates caused by the mutator allocating a lot of long-lived objects. |
| 1802 bool new_space_high_promotion_mode_active_; | 1794 bool new_space_high_promotion_mode_active_; |
| 1803 | 1795 |
| 1804 // Limit that triggers a global GC on the next (normally caused) GC. This | 1796 // Limit that triggers a global GC on the next (normally caused) GC. This |
| 1805 // is checked when we have already decided to do a GC to help determine | 1797 // is checked when we have already decided to do a GC to help determine |
| 1806 // which collector to invoke. | 1798 // which collector to invoke. |
| 1807 intptr_t old_gen_promotion_limit_; | 1799 intptr_t old_gen_promotion_limit_; |
| (...skipping 1020 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2828 AssertNoAllocation no_alloc; // i.e. no gc allowed. | 2820 AssertNoAllocation no_alloc; // i.e. no gc allowed. |
| 2829 | 2821 |
| 2830 private: | 2822 private: |
| 2831 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); | 2823 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); |
| 2832 }; | 2824 }; |
| 2833 #endif // DEBUG || LIVE_OBJECT_LIST | 2825 #endif // DEBUG || LIVE_OBJECT_LIST |
| 2834 | 2826 |
| 2835 } } // namespace v8::internal | 2827 } } // namespace v8::internal |
| 2836 | 2828 |
| 2837 #endif // V8_HEAP_H_ | 2829 #endif // V8_HEAP_H_ |
| OLD | NEW |