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 409 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
420 intptr_t max_capacity_in_words_; | 420 intptr_t max_capacity_in_words_; |
421 intptr_t max_external_in_words_; | 421 intptr_t max_external_in_words_; |
422 // NOTE: The capacity component of usage_ is updated by the concurrent | 422 // NOTE: The capacity component of usage_ is updated by the concurrent |
423 // sweeper. Use (Increase)CapacityInWords(Locked) for thread-safe access. | 423 // sweeper. Use (Increase)CapacityInWords(Locked) for thread-safe access. |
424 SpaceUsage usage_; | 424 SpaceUsage usage_; |
425 | 425 |
426 // Keep track of running MarkSweep tasks. | 426 // Keep track of running MarkSweep tasks. |
427 Monitor* tasks_lock_; | 427 Monitor* tasks_lock_; |
428 intptr_t tasks_; | 428 intptr_t tasks_; |
429 #if defined(DEBUG) | 429 #if defined(DEBUG) |
430 bool is_iterating_; | 430 Thread* iterating_thread_; |
431 #endif | 431 #endif |
432 PageSpaceController page_space_controller_; | 432 PageSpaceController page_space_controller_; |
433 | 433 |
434 int64_t gc_time_micros_; | 434 int64_t gc_time_micros_; |
435 intptr_t collections_; | 435 intptr_t collections_; |
436 | 436 |
437 friend class ExclusivePageIterator; | 437 friend class ExclusivePageIterator; |
438 friend class ExclusiveCodePageIterator; | 438 friend class ExclusiveCodePageIterator; |
439 friend class ExclusiveLargePageIterator; | 439 friend class ExclusiveLargePageIterator; |
440 friend class HeapIterationScope; | 440 friend class HeapIterationScope; |
441 friend class PageSpaceController; | 441 friend class PageSpaceController; |
442 friend class SweeperTask; | 442 friend class SweeperTask; |
443 | 443 |
444 DISALLOW_IMPLICIT_CONSTRUCTORS(PageSpace); | 444 DISALLOW_IMPLICIT_CONSTRUCTORS(PageSpace); |
445 }; | 445 }; |
446 | 446 |
447 } // namespace dart | 447 } // namespace dart |
448 | 448 |
449 #endif // VM_PAGES_H_ | 449 #endif // VM_PAGES_H_ |
OLD | NEW |