OLD | NEW |
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 #ifndef VM_PAGES_H_ | 5 #ifndef VM_PAGES_H_ |
6 #define VM_PAGES_H_ | 6 #define VM_PAGES_H_ |
7 | 7 |
8 #include "vm/freelist.h" | 8 #include "vm/freelist.h" |
9 #include "vm/globals.h" | 9 #include "vm/globals.h" |
10 #include "vm/lockers.h" | 10 #include "vm/lockers.h" |
(...skipping 406 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
417 // Various sizes being tracked for this generation. | 417 // Various sizes being tracked for this generation. |
418 intptr_t max_capacity_in_words_; | 418 intptr_t max_capacity_in_words_; |
419 intptr_t max_external_in_words_; | 419 intptr_t max_external_in_words_; |
420 // NOTE: The capacity component of usage_ is updated by the concurrent | 420 // NOTE: The capacity component of usage_ is updated by the concurrent |
421 // sweeper. Use (Increase)CapacityInWords(Locked) for thread-safe access. | 421 // sweeper. Use (Increase)CapacityInWords(Locked) for thread-safe access. |
422 SpaceUsage usage_; | 422 SpaceUsage usage_; |
423 | 423 |
424 // Keep track of running MarkSweep tasks. | 424 // Keep track of running MarkSweep tasks. |
425 Monitor* tasks_lock_; | 425 Monitor* tasks_lock_; |
426 intptr_t tasks_; | 426 intptr_t tasks_; |
427 | 427 #if defined(DEBUG) |
| 428 bool is_iterating_; |
| 429 #endif |
428 PageSpaceController page_space_controller_; | 430 PageSpaceController page_space_controller_; |
429 | 431 |
430 int64_t gc_time_micros_; | 432 int64_t gc_time_micros_; |
431 intptr_t collections_; | 433 intptr_t collections_; |
432 | 434 |
433 friend class ExclusivePageIterator; | 435 friend class ExclusivePageIterator; |
434 friend class ExclusiveCodePageIterator; | 436 friend class ExclusiveCodePageIterator; |
435 friend class ExclusiveLargePageIterator; | 437 friend class ExclusiveLargePageIterator; |
| 438 friend class HeapIterationScope; |
436 friend class PageSpaceController; | 439 friend class PageSpaceController; |
437 friend class SweeperTask; | 440 friend class SweeperTask; |
438 | 441 |
439 DISALLOW_IMPLICIT_CONSTRUCTORS(PageSpace); | 442 DISALLOW_IMPLICIT_CONSTRUCTORS(PageSpace); |
440 }; | 443 }; |
441 | 444 |
442 } // namespace dart | 445 } // namespace dart |
443 | 446 |
444 #endif // VM_PAGES_H_ | 447 #endif // VM_PAGES_H_ |
OLD | NEW |