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 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
109 ASSERT(state_ == IDLE); | 109 ASSERT(state_ == IDLE); |
110 state_ = PREPARE_GC; | 110 state_ = PREPARE_GC; |
111 #endif | 111 #endif |
112 ASSERT(!FLAG_always_compact || !FLAG_never_compact); | 112 ASSERT(!FLAG_always_compact || !FLAG_never_compact); |
113 | 113 |
114 compacting_collection_ = | 114 compacting_collection_ = |
115 FLAG_always_compact || force_compaction_ || compact_on_next_gc_; | 115 FLAG_always_compact || force_compaction_ || compact_on_next_gc_; |
116 compact_on_next_gc_ = false; | 116 compact_on_next_gc_ = false; |
117 | 117 |
118 if (FLAG_never_compact) compacting_collection_ = false; | 118 if (FLAG_never_compact) compacting_collection_ = false; |
| 119 if (!Heap::map_space()->MapPointersEncodable()) |
| 120 compacting_collection_ = false; |
119 if (FLAG_collect_maps) CreateBackPointers(); | 121 if (FLAG_collect_maps) CreateBackPointers(); |
120 | 122 |
121 #ifdef DEBUG | 123 #ifdef DEBUG |
122 if (compacting_collection_) { | 124 if (compacting_collection_) { |
123 // We will write bookkeeping information to the remembered set area | 125 // We will write bookkeeping information to the remembered set area |
124 // starting now. | 126 // starting now. |
125 Page::set_rset_state(Page::NOT_IN_USE); | 127 Page::set_rset_state(Page::NOT_IN_USE); |
126 } | 128 } |
127 #endif | 129 #endif |
128 | 130 |
(...skipping 1625 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1754 | 1756 |
1755 void MarkCompactCollector::RebuildRSets() { | 1757 void MarkCompactCollector::RebuildRSets() { |
1756 #ifdef DEBUG | 1758 #ifdef DEBUG |
1757 ASSERT(state_ == RELOCATE_OBJECTS); | 1759 ASSERT(state_ == RELOCATE_OBJECTS); |
1758 state_ = REBUILD_RSETS; | 1760 state_ = REBUILD_RSETS; |
1759 #endif | 1761 #endif |
1760 Heap::RebuildRSets(); | 1762 Heap::RebuildRSets(); |
1761 } | 1763 } |
1762 | 1764 |
1763 } } // namespace v8::internal | 1765 } } // namespace v8::internal |
OLD | NEW |