Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(266)

Side by Side Diff: src/heap/spaces.cc

Issue 2001073002: [build] Fix a clang warning (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Rebase Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/heap/mark-compact.cc ('k') | src/heap/spaces-inl.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 "src/base/bits.h" 7 #include "src/base/bits.h"
8 #include "src/base/platform/platform.h" 8 #include "src/base/platform/platform.h"
9 #include "src/base/platform/semaphore.h" 9 #include "src/base/platform/semaphore.h"
10 #include "src/full-codegen/full-codegen.h" 10 #include "src/full-codegen/full-codegen.h"
(...skipping 1253 matching lines...) Expand 10 before | Expand all | Expand 10 after
1264 // Pages created during bootstrapping may contain immortal immovable objects. 1264 // Pages created during bootstrapping may contain immortal immovable objects.
1265 if (!heap()->deserialization_complete()) p->MarkNeverEvacuate(); 1265 if (!heap()->deserialization_complete()) p->MarkNeverEvacuate();
1266 1266
1267 // When incremental marking was activated, old space pages are allocated 1267 // When incremental marking was activated, old space pages are allocated
1268 // black. 1268 // black.
1269 if (heap()->incremental_marking()->black_allocation() && 1269 if (heap()->incremental_marking()->black_allocation() &&
1270 identity() == OLD_SPACE) { 1270 identity() == OLD_SPACE) {
1271 Bitmap::SetAllBits(p); 1271 Bitmap::SetAllBits(p);
1272 p->SetFlag(Page::BLACK_PAGE); 1272 p->SetFlag(Page::BLACK_PAGE);
1273 if (FLAG_trace_incremental_marking) { 1273 if (FLAG_trace_incremental_marking) {
1274 PrintIsolate(heap()->isolate(), "Added black page %p\n", p); 1274 PrintIsolate(heap()->isolate(), "Added black page %p\n",
1275 static_cast<void*>(p));
1275 } 1276 }
1276 } 1277 }
1277 1278
1278 DCHECK(Capacity() <= heap()->MaxOldGenerationSize()); 1279 DCHECK(Capacity() <= heap()->MaxOldGenerationSize());
1279 1280
1280 p->InsertAfter(anchor_.prev_page()); 1281 p->InsertAfter(anchor_.prev_page());
1281 1282
1282 return true; 1283 return true;
1283 } 1284 }
1284 1285
(...skipping 1284 matching lines...) Expand 10 before | Expand all | Expand 10 after
2569 } 2570 }
2570 if (category->next() != nullptr) { 2571 if (category->next() != nullptr) {
2571 category->next()->set_prev(category->prev()); 2572 category->next()->set_prev(category->prev());
2572 } 2573 }
2573 category->set_next(nullptr); 2574 category->set_next(nullptr);
2574 category->set_prev(nullptr); 2575 category->set_prev(nullptr);
2575 } 2576 }
2576 2577
2577 void FreeList::PrintCategories(FreeListCategoryType type) { 2578 void FreeList::PrintCategories(FreeListCategoryType type) {
2578 FreeListCategoryIterator it(this, type); 2579 FreeListCategoryIterator it(this, type);
2579 PrintF("FreeList[%p, top=%p, %d] ", this, categories_[type], type); 2580 PrintF("FreeList[%p, top=%p, %d] ", static_cast<void*>(this),
2581 static_cast<void*>(categories_[type]), type);
2580 while (it.HasNext()) { 2582 while (it.HasNext()) {
2581 FreeListCategory* current = it.Next(); 2583 FreeListCategory* current = it.Next();
2582 PrintF("%p -> ", current); 2584 PrintF("%p -> ", static_cast<void*>(current));
2583 } 2585 }
2584 PrintF("null\n"); 2586 PrintF("null\n");
2585 } 2587 }
2586 2588
2587 2589
2588 #ifdef DEBUG 2590 #ifdef DEBUG
2589 intptr_t FreeListCategory::SumFreeList() { 2591 intptr_t FreeListCategory::SumFreeList() {
2590 intptr_t sum = 0; 2592 intptr_t sum = 0;
2591 FreeSpace* cur = top(); 2593 FreeSpace* cur = top();
2592 while (cur != NULL) { 2594 while (cur != NULL) {
(...skipping 624 matching lines...) Expand 10 before | Expand all | Expand 10 after
3217 if (obj->IsAbstractCode()) { 3219 if (obj->IsAbstractCode()) {
3218 AbstractCode* code = AbstractCode::cast(obj); 3220 AbstractCode* code = AbstractCode::cast(obj);
3219 isolate->code_kind_statistics()[code->kind()] += code->Size(); 3221 isolate->code_kind_statistics()[code->kind()] += code->Size();
3220 } 3222 }
3221 } 3223 }
3222 } 3224 }
3223 3225
3224 3226
3225 void Page::Print() { 3227 void Page::Print() {
3226 // Make a best-effort to print the objects in the page. 3228 // Make a best-effort to print the objects in the page.
3227 PrintF("Page@%p in %s\n", this->address(), 3229 PrintF("Page@%p in %s\n", static_cast<void*>(this->address()),
3228 AllocationSpaceName(this->owner()->identity())); 3230 AllocationSpaceName(this->owner()->identity()));
3229 printf(" --------------------------------------\n"); 3231 printf(" --------------------------------------\n");
3230 HeapObjectIterator objects(this); 3232 HeapObjectIterator objects(this);
3231 unsigned mark_size = 0; 3233 unsigned mark_size = 0;
3232 for (HeapObject* object = objects.Next(); object != NULL; 3234 for (HeapObject* object = objects.Next(); object != NULL;
3233 object = objects.Next()) { 3235 object = objects.Next()) {
3234 bool is_marked = Marking::IsBlackOrGrey(Marking::MarkBitFrom(object)); 3236 bool is_marked = Marking::IsBlackOrGrey(Marking::MarkBitFrom(object));
3235 PrintF(" %c ", (is_marked ? '!' : ' ')); // Indent a little. 3237 PrintF(" %c ", (is_marked ? '!' : ' ')); // Indent a little.
3236 if (is_marked) { 3238 if (is_marked) {
3237 mark_size += object->Size(); 3239 mark_size += object->Size();
3238 } 3240 }
3239 object->ShortPrint(); 3241 object->ShortPrint();
3240 PrintF("\n"); 3242 PrintF("\n");
3241 } 3243 }
3242 printf(" --------------------------------------\n"); 3244 printf(" --------------------------------------\n");
3243 printf(" Marked: %x, LiveCount: %x\n", mark_size, LiveBytes()); 3245 printf(" Marked: %x, LiveCount: %x\n", mark_size, LiveBytes());
3244 } 3246 }
3245 3247
3246 #endif // DEBUG 3248 #endif // DEBUG
3247 } // namespace internal 3249 } // namespace internal
3248 } // namespace v8 3250 } // namespace v8
OLDNEW
« no previous file with comments | « src/heap/mark-compact.cc ('k') | src/heap/spaces-inl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698