OLD | NEW |
1 // Copyright 2006-2008 the V8 project authors. All rights reserved. | 1 // Copyright 2006-2008 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 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
123 // The current stage of the collector. | 123 // The current stage of the collector. |
124 static CollectorState state_; | 124 static CollectorState state_; |
125 #endif | 125 #endif |
126 | 126 |
127 // Global flag that forces a compaction. | 127 // Global flag that forces a compaction. |
128 static bool force_compaction_; | 128 static bool force_compaction_; |
129 | 129 |
130 // Global flag indicating whether spaces were compacted on the last GC. | 130 // Global flag indicating whether spaces were compacted on the last GC. |
131 static bool compacting_collection_; | 131 static bool compacting_collection_; |
132 | 132 |
| 133 // Global flag indicating whether spaces will be compacted on the next GC. |
| 134 static bool compact_on_next_gc_; |
| 135 |
133 // The number of objects left marked at the end of the last completed full | 136 // The number of objects left marked at the end of the last completed full |
134 // GC (expected to be zero). | 137 // GC (expected to be zero). |
135 static int previous_marked_count_; | 138 static int previous_marked_count_; |
136 | 139 |
137 // A pointer to the current stack-allocated GC tracer object during a full | 140 // A pointer to the current stack-allocated GC tracer object during a full |
138 // collection (NULL before and after). | 141 // collection (NULL before and after). |
139 static GCTracer* tracer_; | 142 static GCTracer* tracer_; |
140 | 143 |
141 // Finishes GC, performs heap verification if enabled. | 144 // Finishes GC, performs heap verification if enabled. |
142 static void Finish(); | 145 static void Finish(); |
(...skipping 279 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
422 | 425 |
423 friend class UnmarkObjectVisitor; | 426 friend class UnmarkObjectVisitor; |
424 static void UnmarkObject(HeapObject* obj); | 427 static void UnmarkObject(HeapObject* obj); |
425 #endif | 428 #endif |
426 }; | 429 }; |
427 | 430 |
428 | 431 |
429 } } // namespace v8::internal | 432 } } // namespace v8::internal |
430 | 433 |
431 #endif // V8_MARK_COMPACT_H_ | 434 #endif // V8_MARK_COMPACT_H_ |
OLD | NEW |