OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "src/heap/spaces.h" | 5 #include "src/heap/spaces.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
8 | 8 |
9 #include "src/base/bits.h" | 9 #include "src/base/bits.h" |
10 #include "src/base/platform/platform.h" | 10 #include "src/base/platform/platform.h" |
(...skipping 3062 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3073 } | 3073 } |
3074 } | 3074 } |
3075 return NULL; | 3075 return NULL; |
3076 } | 3076 } |
3077 | 3077 |
3078 | 3078 |
3079 void LargeObjectSpace::ClearMarkingStateOfLiveObjects() { | 3079 void LargeObjectSpace::ClearMarkingStateOfLiveObjects() { |
3080 LargeObjectIterator it(this); | 3080 LargeObjectIterator it(this); |
3081 for (HeapObject* obj = it.Next(); obj != NULL; obj = it.Next()) { | 3081 for (HeapObject* obj = it.Next(); obj != NULL; obj = it.Next()) { |
3082 if (ObjectMarking::IsBlackOrGrey(obj)) { | 3082 if (ObjectMarking::IsBlackOrGrey(obj)) { |
3083 ObjectMarking::ClearMarkBit(obj); | 3083 Marking::MarkWhite(ObjectMarking::MarkBitFrom(obj)); |
3084 MemoryChunk* chunk = MemoryChunk::FromAddress(obj->address()); | 3084 MemoryChunk* chunk = MemoryChunk::FromAddress(obj->address()); |
3085 chunk->ResetProgressBar(); | 3085 chunk->ResetProgressBar(); |
3086 chunk->ResetLiveBytes(); | 3086 chunk->ResetLiveBytes(); |
3087 } | 3087 } |
3088 DCHECK(ObjectMarking::IsWhite(obj)); | 3088 DCHECK(ObjectMarking::IsWhite(obj)); |
3089 } | 3089 } |
3090 } | 3090 } |
3091 | 3091 |
3092 void LargeObjectSpace::InsertChunkMapEntries(LargePage* page) { | 3092 void LargeObjectSpace::InsertChunkMapEntries(LargePage* page) { |
3093 // Register all MemoryChunk::kAlignment-aligned chunks covered by | 3093 // Register all MemoryChunk::kAlignment-aligned chunks covered by |
(...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3272 object->ShortPrint(); | 3272 object->ShortPrint(); |
3273 PrintF("\n"); | 3273 PrintF("\n"); |
3274 } | 3274 } |
3275 printf(" --------------------------------------\n"); | 3275 printf(" --------------------------------------\n"); |
3276 printf(" Marked: %x, LiveCount: %x\n", mark_size, LiveBytes()); | 3276 printf(" Marked: %x, LiveCount: %x\n", mark_size, LiveBytes()); |
3277 } | 3277 } |
3278 | 3278 |
3279 #endif // DEBUG | 3279 #endif // DEBUG |
3280 } // namespace internal | 3280 } // namespace internal |
3281 } // namespace v8 | 3281 } // namespace v8 |
OLD | NEW |