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

Side by Side Diff: third_party/WebKit/Source/platform/heap/ThreadState.h

Issue 1805343004: (Only) poison unmarked heap objects prior to sweeping. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: remove dated assert Created 4 years, 9 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
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 562 matching lines...) Expand 10 before | Expand all | Expand 10 after
573 size_t totalMemorySize(); 573 size_t totalMemorySize();
574 double heapGrowingRate(); 574 double heapGrowingRate();
575 double partitionAllocGrowingRate(); 575 double partitionAllocGrowingRate();
576 bool judgeGCThreshold(size_t allocatedObjectSizeThreshold, double heapGrowin gRateThreshold); 576 bool judgeGCThreshold(size_t allocatedObjectSizeThreshold, double heapGrowin gRateThreshold);
577 577
578 void runScheduledGC(BlinkGC::StackState); 578 void runScheduledGC(BlinkGC::StackState);
579 579
580 void eagerSweep(); 580 void eagerSweep();
581 581
582 #if defined(ADDRESS_SANITIZER) 582 #if defined(ADDRESS_SANITIZER)
583 void poisonEagerArena(BlinkGC::Poisoning); 583 void poisonEagerArena();
584 void poisonAllHeaps(); 584 void poisonAllHeaps();
585 #endif 585 #endif
586 586
587 // When ThreadState is detaching from non-main thread its 587 // When ThreadState is detaching from non-main thread its
588 // heap is expected to be empty (because it is going away). 588 // heap is expected to be empty (because it is going away).
589 // Perform registered cleanup tasks and garbage collection 589 // Perform registered cleanup tasks and garbage collection
590 // to sweep away any objects that are left on this heap. 590 // to sweep away any objects that are left on this heap.
591 // We assert that nothing must remain after this cleanup. 591 // We assert that nothing must remain after this cleanup.
592 // If assertion does not hold we crash as we are potentially 592 // If assertion does not hold we crash as we are potentially
593 // in the dangling pointer situation. 593 // in the dangling pointer situation.
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
706 706
707 template<> class ThreadStateFor<AnyThread> { 707 template<> class ThreadStateFor<AnyThread> {
708 STATIC_ONLY(ThreadStateFor); 708 STATIC_ONLY(ThreadStateFor);
709 public: 709 public:
710 static ThreadState* state() { return ThreadState::current(); } 710 static ThreadState* state() { return ThreadState::current(); }
711 }; 711 };
712 712
713 } // namespace blink 713 } // namespace blink
714 714
715 #endif // ThreadState_h 715 #endif // ThreadState_h
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/platform/heap/HeapPage.cpp ('k') | third_party/WebKit/Source/platform/heap/ThreadState.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698