Changeset 176424 in webkit for trunk/Source/JavaScriptCore/heap/Heap.cpp
- Timestamp:
- Nov 20, 2014, 3:28:41 PM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/heap/Heap.cpp
r176219 r176424 36 36 #include "HeapRootVisitor.h" 37 37 #include "HeapStatistics.h" 38 #include "HeapVerifier.h" 38 39 #include "IncrementalSweeper.h" 39 40 #include "Interpreter.h" … … 340 341 { 341 342 m_storageSpace.init(); 343 if (Options::verifyHeap()) 344 m_verifier = std::make_unique<HeapVerifier>(this, Options::numberOfGCCyclesToRecordForVerification()); 342 345 } 343 346 … … 1005 1008 1006 1009 double gcStartTime = WTF::monotonicallyIncreasingTime(); 1010 if (m_verifier) { 1011 // Verify that live objects from the last GC cycle haven't been corrupted by 1012 // mutators before we begin this new GC cycle. 1013 m_verifier->verify(HeapVerifier::Phase::BeforeGC); 1014 1015 m_verifier->initializeGCCycle(); 1016 m_verifier->gatherLiveObjects(HeapVerifier::Phase::BeforeMarking); 1017 } 1007 1018 1008 1019 deleteOldCode(gcStartTime); … … 1013 1024 markRoots(gcStartTime); 1014 1025 1026 if (m_verifier) { 1027 m_verifier->gatherLiveObjects(HeapVerifier::Phase::AfterMarking); 1028 m_verifier->verify(HeapVerifier::Phase::AfterMarking); 1029 } 1015 1030 JAVASCRIPTCORE_GC_MARKED(); 1016 1031 … … 1035 1050 didFinishCollection(gcStartTime); 1036 1051 resumeCompilerThreads(); 1052 1053 if (m_verifier) { 1054 m_verifier->trimDeadObjects(); 1055 m_verifier->verify(HeapVerifier::Phase::AfterGC); 1056 } 1037 1057 1038 1058 if (Options::logGC()) {
Note:
See TracChangeset
for help on using the changeset viewer.