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

Side by Side Diff: Source/heap/Heap.cpp

Issue 206113002: Oilpan: Fix Heap::isConsistentForGC which only checks the heap for one attached thread at this poin… (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | 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 1338 matching lines...) Expand 10 before | Expand all | Expand 10 after
1349 HeapStats temp; 1349 HeapStats temp;
1350 (*it)->getStats(temp); 1350 (*it)->getStats(temp);
1351 stats->add(&temp); 1351 stats->add(&temp);
1352 } 1352 }
1353 } 1353 }
1354 1354
1355 bool Heap::isConsistentForGC() 1355 bool Heap::isConsistentForGC()
1356 { 1356 {
1357 ASSERT(ThreadState::isAnyThreadInGC()); 1357 ASSERT(ThreadState::isAnyThreadInGC());
1358 ThreadState::AttachedThreadStateSet& threads = ThreadState::attachedThreads( ); 1358 ThreadState::AttachedThreadStateSet& threads = ThreadState::attachedThreads( );
1359 for (ThreadState::AttachedThreadStateSet::iterator it = threads.begin(), end = threads.end(); it != end; ++it) 1359 for (ThreadState::AttachedThreadStateSet::iterator it = threads.begin(), end = threads.end(); it != end; ++it) {
1360 return (*it)->isConsistentForGC(); 1360 if (!(*it)->isConsistentForGC())
1361 return false;
1362 }
1361 return true; 1363 return true;
1362 } 1364 }
1363 1365
1364 void Heap::makeConsistentForGC() 1366 void Heap::makeConsistentForGC()
1365 { 1367 {
1366 ASSERT(ThreadState::isAnyThreadInGC()); 1368 ASSERT(ThreadState::isAnyThreadInGC());
1367 ThreadState::AttachedThreadStateSet& threads = ThreadState::attachedThreads( ); 1369 ThreadState::AttachedThreadStateSet& threads = ThreadState::attachedThreads( );
1368 for (ThreadState::AttachedThreadStateSet::iterator it = threads.begin(), end = threads.end(); it != end; ++it) 1370 for (ThreadState::AttachedThreadStateSet::iterator it = threads.begin(), end = threads.end(); it != end; ++it)
1369 (*it)->makeConsistentForGC(); 1371 (*it)->makeConsistentForGC();
1370 } 1372 }
1371 1373
1372 // Force template instantiations for the types that we need. 1374 // Force template instantiations for the types that we need.
1373 template class HeapPage<FinalizedHeapObjectHeader>; 1375 template class HeapPage<FinalizedHeapObjectHeader>;
1374 template class HeapPage<HeapObjectHeader>; 1376 template class HeapPage<HeapObjectHeader>;
1375 template class ThreadHeap<FinalizedHeapObjectHeader>; 1377 template class ThreadHeap<FinalizedHeapObjectHeader>;
1376 template class ThreadHeap<HeapObjectHeader>; 1378 template class ThreadHeap<HeapObjectHeader>;
1377 1379
1378 Visitor* Heap::s_markingVisitor; 1380 Visitor* Heap::s_markingVisitor;
1379 CallbackStack* Heap::s_markingStack; 1381 CallbackStack* Heap::s_markingStack;
1380 CallbackStack* Heap::s_weakCallbackStack; 1382 CallbackStack* Heap::s_weakCallbackStack;
1381 } 1383 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698