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

Side by Side Diff: Source/platform/heap/Heap.h

Issue 630853002: Replacing the OVERRIDE with override in third_party/WebKit/Source/platform (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Rebase build fix Created 6 years, 2 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 | « Source/platform/heap/Handle.h ('k') | Source/platform/heap/Heap.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2013 Google Inc. All rights reserved. 2 * Copyright (C) 2013 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after
182 // 182 //
183 // | BaseHeapPage | next pointer | FinalizedHeapObjectHeader or HeapObjectHeader | payload | 183 // | BaseHeapPage | next pointer | FinalizedHeapObjectHeader or HeapObjectHeader | payload |
184 template<typename Header> 184 template<typename Header>
185 class LargeHeapObject : public BaseHeapPage { 185 class LargeHeapObject : public BaseHeapPage {
186 public: 186 public:
187 LargeHeapObject(PageMemory* storage, const GCInfo* gcInfo, ThreadState* stat e) : BaseHeapPage(storage, gcInfo, state) 187 LargeHeapObject(PageMemory* storage, const GCInfo* gcInfo, ThreadState* stat e) : BaseHeapPage(storage, gcInfo, state)
188 { 188 {
189 COMPILE_ASSERT(!(sizeof(LargeHeapObject<Header>) & allocationMask), larg e_heap_object_header_misaligned); 189 COMPILE_ASSERT(!(sizeof(LargeHeapObject<Header>) & allocationMask), larg e_heap_object_header_misaligned);
190 } 190 }
191 191
192 virtual void checkAndMarkPointer(Visitor*, Address) OVERRIDE; 192 virtual void checkAndMarkPointer(Visitor*, Address) override;
193 virtual bool isLargeObject() OVERRIDE { return true; } 193 virtual bool isLargeObject() override { return true; }
194 194
195 #if ENABLE(GC_PROFILE_MARKING) 195 #if ENABLE(GC_PROFILE_MARKING)
196 virtual const GCInfo* findGCInfo(Address address) 196 virtual const GCInfo* findGCInfo(Address address)
197 { 197 {
198 if (!objectContains(address)) 198 if (!objectContains(address))
199 return 0; 199 return 0;
200 return gcInfo(); 200 return gcInfo();
201 } 201 }
202 #endif 202 #endif
203 203
(...skipping 15 matching lines...) Expand all
219 // The LargeHeapObject pseudo-page contains one actual object. Determine 219 // The LargeHeapObject pseudo-page contains one actual object. Determine
220 // whether the pointer is within that object. 220 // whether the pointer is within that object.
221 bool objectContains(Address object) 221 bool objectContains(Address object)
222 { 222 {
223 return (payload() <= object) && (object < address() + size()); 223 return (payload() <= object) && (object < address() + size());
224 } 224 }
225 225
226 // Returns true for any address that is on one of the pages that this 226 // Returns true for any address that is on one of the pages that this
227 // large object uses. That ensures that we can use a negative result to 227 // large object uses. That ensures that we can use a negative result to
228 // populate the negative page cache. 228 // populate the negative page cache.
229 virtual bool contains(Address object) OVERRIDE 229 virtual bool contains(Address object) override
230 { 230 {
231 return roundToBlinkPageStart(address()) <= object && object < roundToBli nkPageEnd(address() + size()); 231 return roundToBlinkPageStart(address()) <= object && object < roundToBli nkPageEnd(address() + size());
232 } 232 }
233 233
234 LargeHeapObject<Header>* next() 234 LargeHeapObject<Header>* next()
235 { 235 {
236 return m_next; 236 return m_next;
237 } 237 }
238 238
239 size_t size() 239 size_t size()
(...skipping 255 matching lines...) Expand 10 before | Expand all | Expand 10 after
495 HeapPage(PageMemory*, ThreadHeap<Header>*, const GCInfo*); 495 HeapPage(PageMemory*, ThreadHeap<Header>*, const GCInfo*);
496 496
497 void link(HeapPage**); 497 void link(HeapPage**);
498 static void unlink(ThreadHeap<Header>*, HeapPage*, HeapPage**); 498 static void unlink(ThreadHeap<Header>*, HeapPage*, HeapPage**);
499 499
500 bool isEmpty(); 500 bool isEmpty();
501 501
502 // Returns true for the whole blinkPageSize page that the page is on, even 502 // Returns true for the whole blinkPageSize page that the page is on, even
503 // for the header, and the unmapped guard page at the start. That ensures 503 // for the header, and the unmapped guard page at the start. That ensures
504 // the result can be used to populate the negative page cache. 504 // the result can be used to populate the negative page cache.
505 virtual bool contains(Address addr) OVERRIDE 505 virtual bool contains(Address addr) override
506 { 506 {
507 Address blinkPageStart = roundToBlinkPageStart(address()); 507 Address blinkPageStart = roundToBlinkPageStart(address());
508 ASSERT(blinkPageStart == address() - osPageSize()); // Page is at aligne d address plus guard page size. 508 ASSERT(blinkPageStart == address() - osPageSize()); // Page is at aligne d address plus guard page size.
509 return blinkPageStart <= addr && addr < blinkPageStart + blinkPageSize; 509 return blinkPageStart <= addr && addr < blinkPageStart + blinkPageSize;
510 } 510 }
511 511
512 HeapPage* next() { return m_next; } 512 HeapPage* next() { return m_next; }
513 513
514 Address payload() 514 Address payload()
515 { 515 {
516 return address() + sizeof(*this) + headerPadding<Header>(); 516 return address() + sizeof(*this) + headerPadding<Header>();
517 } 517 }
518 518
519 static size_t payloadSize() 519 static size_t payloadSize()
520 { 520 {
521 return (blinkPagePayloadSize() - sizeof(HeapPage) - headerPadding<Header >()) & ~allocationMask; 521 return (blinkPagePayloadSize() - sizeof(HeapPage) - headerPadding<Header >()) & ~allocationMask;
522 } 522 }
523 523
524 Address end() { return payload() + payloadSize(); } 524 Address end() { return payload() + payloadSize(); }
525 525
526 void getStats(HeapStats&); 526 void getStats(HeapStats&);
527 void clearLiveAndMarkDead(); 527 void clearLiveAndMarkDead();
528 void sweep(HeapStats*, ThreadHeap<Header>*); 528 void sweep(HeapStats*, ThreadHeap<Header>*);
529 void clearObjectStartBitMap(); 529 void clearObjectStartBitMap();
530 void finalize(Header*); 530 void finalize(Header*);
531 virtual void checkAndMarkPointer(Visitor*, Address) OVERRIDE; 531 virtual void checkAndMarkPointer(Visitor*, Address) override;
532 #if ENABLE(GC_PROFILE_MARKING) 532 #if ENABLE(GC_PROFILE_MARKING)
533 const GCInfo* findGCInfo(Address) OVERRIDE; 533 const GCInfo* findGCInfo(Address) override;
534 #endif 534 #endif
535 #if ENABLE(GC_PROFILE_HEAP) 535 #if ENABLE(GC_PROFILE_HEAP)
536 virtual void snapshot(TracedValue*, ThreadState::SnapshotInfo*); 536 virtual void snapshot(TracedValue*, ThreadState::SnapshotInfo*);
537 #endif 537 #endif
538 538
539 #if defined(ADDRESS_SANITIZER) 539 #if defined(ADDRESS_SANITIZER)
540 void poisonUnmarkedObjects(); 540 void poisonUnmarkedObjects();
541 #endif 541 #endif
542 NO_SANITIZE_ADDRESS 542 NO_SANITIZE_ADDRESS
543 virtual void markOrphaned() 543 virtual void markOrphaned()
(...skipping 1906 matching lines...) Expand 10 before | Expand all | Expand 10 after
2450 }; 2450 };
2451 2451
2452 template<typename T> 2452 template<typename T>
2453 struct IfWeakMember<WeakMember<T> > { 2453 struct IfWeakMember<WeakMember<T> > {
2454 static bool isDead(Visitor* visitor, const WeakMember<T>& t) { return !visit or->isAlive(t.get()); } 2454 static bool isDead(Visitor* visitor, const WeakMember<T>& t) { return !visit or->isAlive(t.get()); }
2455 }; 2455 };
2456 2456
2457 } 2457 }
2458 2458
2459 #endif // Heap_h 2459 #endif // Heap_h
OLDNEW
« no previous file with comments | « Source/platform/heap/Handle.h ('k') | Source/platform/heap/Heap.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698