| OLD | NEW |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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_SCAVENGER_H_ | 5 #ifndef VM_SCAVENGER_H_ |
| 6 #define VM_SCAVENGER_H_ | 6 #define VM_SCAVENGER_H_ |
| 7 | 7 |
| 8 #include "platform/assert.h" | 8 #include "platform/assert.h" |
| 9 #include "platform/utils.h" | 9 #include "platform/utils.h" |
| 10 #include "vm/flags.h" | 10 #include "vm/flags.h" |
| (...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 110 MemoryRegion* to_; | 110 MemoryRegion* to_; |
| 111 MemoryRegion* from_; | 111 MemoryRegion* from_; |
| 112 | 112 |
| 113 Heap* heap_; | 113 Heap* heap_; |
| 114 | 114 |
| 115 // Current allocation top and end. These values are being accessed directly | 115 // Current allocation top and end. These values are being accessed directly |
| 116 // from generated code. | 116 // from generated code. |
| 117 uword top_; | 117 uword top_; |
| 118 uword end_; | 118 uword end_; |
| 119 | 119 |
| 120 // A pointer to the first unscanned object. Scanning completes when |
| 121 // this value meets the allocation top. |
| 122 uword resolved_top_; |
| 123 |
| 120 // Objects below this address have survived a scavenge. | 124 // Objects below this address have survived a scavenge. |
| 121 uword survivor_end_; | 125 uword survivor_end_; |
| 122 | 126 |
| 123 // All object are aligned to this value. | 127 // All object are aligned to this value. |
| 124 uword object_alignment_; | 128 uword object_alignment_; |
| 125 | 129 |
| 126 // Scavenge cycle count. | 130 // Scavenge cycle count. |
| 127 int count_; | 131 int count_; |
| 128 // Keep track whether a scavenge is currently running. | 132 // Keep track whether a scavenge is currently running. |
| 129 bool scavenging_; | 133 bool scavenging_; |
| 130 // Keep track whether the scavenge had a promotion failure. | 134 // Keep track whether the scavenge had a promotion failure. |
| 131 bool had_promotion_failure_; | 135 bool had_promotion_failure_; |
| 132 | 136 |
| 133 friend class ScavengerVisitor; | 137 friend class ScavengerVisitor; |
| 134 friend class ScavengerWeakVisitor; | 138 friend class ScavengerWeakVisitor; |
| 135 | 139 |
| 136 DISALLOW_COPY_AND_ASSIGN(Scavenger); | 140 DISALLOW_COPY_AND_ASSIGN(Scavenger); |
| 137 }; | 141 }; |
| 138 | 142 |
| 139 } // namespace dart | 143 } // namespace dart |
| 140 | 144 |
| 141 #endif // VM_SCAVENGER_H_ | 145 #endif // VM_SCAVENGER_H_ |
| OLD | NEW |