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

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

Issue 2697703005: Remove ThreadHeap::m_threads (Closed)
Patch Set: Created 3 years, 10 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 1200 matching lines...) Expand 10 before | Expand all | Expand 10 after
1211 m_safePointStackCopy.resize(slotCount); 1211 m_safePointStackCopy.resize(slotCount);
1212 for (size_t i = 0; i < slotCount; ++i) { 1212 for (size_t i = 0; i < slotCount; ++i) {
1213 m_safePointStackCopy[i] = from[i]; 1213 m_safePointStackCopy[i] = from[i];
1214 } 1214 }
1215 } 1215 }
1216 1216
1217 void ThreadState::addInterruptor( 1217 void ThreadState::addInterruptor(
1218 std::unique_ptr<BlinkGCInterruptor> interruptor) { 1218 std::unique_ptr<BlinkGCInterruptor> interruptor) {
1219 ASSERT(checkThread()); 1219 ASSERT(checkThread());
1220 SafePointScope scope(BlinkGC::HeapPointersOnStack); 1220 SafePointScope scope(BlinkGC::HeapPointersOnStack);
1221 { 1221 m_interruptors.push_back(std::move(interruptor));
1222 MutexLocker locker(m_heap->threadAttachMutex());
1223 m_interruptors.push_back(std::move(interruptor));
1224 }
1225 } 1222 }
1226 1223
1227 void ThreadState::registerStaticPersistentNode( 1224 void ThreadState::registerStaticPersistentNode(
1228 PersistentNode* node, 1225 PersistentNode* node,
1229 PersistentClearCallback callback) { 1226 PersistentClearCallback callback) {
1230 #if defined(LEAK_SANITIZER) 1227 #if defined(LEAK_SANITIZER)
1231 if (m_disabledStaticPersistentsRegistration) 1228 if (m_disabledStaticPersistentsRegistration)
1232 return; 1229 return;
1233 #endif 1230 #endif
1234 1231
(...skipping 26 matching lines...) Expand all
1261 void ThreadState::enterStaticReferenceRegistrationDisabledScope() { 1258 void ThreadState::enterStaticReferenceRegistrationDisabledScope() {
1262 m_disabledStaticPersistentsRegistration++; 1259 m_disabledStaticPersistentsRegistration++;
1263 } 1260 }
1264 1261
1265 void ThreadState::leaveStaticReferenceRegistrationDisabledScope() { 1262 void ThreadState::leaveStaticReferenceRegistrationDisabledScope() {
1266 ASSERT(m_disabledStaticPersistentsRegistration); 1263 ASSERT(m_disabledStaticPersistentsRegistration);
1267 m_disabledStaticPersistentsRegistration--; 1264 m_disabledStaticPersistentsRegistration--;
1268 } 1265 }
1269 #endif 1266 #endif
1270 1267
1271 void ThreadState::lockThreadAttachMutex() {
1272 m_heap->threadAttachMutex().lock();
1273 }
1274
1275 void ThreadState::unlockThreadAttachMutex() {
1276 m_heap->threadAttachMutex().unlock();
1277 }
1278
1279 void ThreadState::invokePreFinalizers() { 1268 void ThreadState::invokePreFinalizers() {
1280 ASSERT(checkThread()); 1269 ASSERT(checkThread());
1281 ASSERT(!sweepForbidden()); 1270 ASSERT(!sweepForbidden());
1282 TRACE_EVENT0("blink_gc", "ThreadState::invokePreFinalizers"); 1271 TRACE_EVENT0("blink_gc", "ThreadState::invokePreFinalizers");
1283 1272
1284 double startTime = WTF::currentTimeMS(); 1273 double startTime = WTF::currentTimeMS();
1285 if (!m_orderedPreFinalizers.isEmpty()) { 1274 if (!m_orderedPreFinalizers.isEmpty()) {
1286 SweepForbiddenScope sweepForbidden(this); 1275 SweepForbiddenScope sweepForbidden(this);
1287 ScriptForbiddenIfMainThreadScope scriptForbidden; 1276 ScriptForbiddenIfMainThreadScope scriptForbidden;
1288 1277
(...skipping 279 matching lines...) Expand 10 before | Expand all | Expand 10 after
1568 collectGarbage(BlinkGC::NoHeapPointersOnStack, BlinkGC::GCWithSweep, 1557 collectGarbage(BlinkGC::NoHeapPointersOnStack, BlinkGC::GCWithSweep,
1569 BlinkGC::ForcedGC); 1558 BlinkGC::ForcedGC);
1570 size_t liveObjects = heap().heapStats().markedObjectSize(); 1559 size_t liveObjects = heap().heapStats().markedObjectSize();
1571 if (liveObjects == previousLiveObjects) 1560 if (liveObjects == previousLiveObjects)
1572 break; 1561 break;
1573 previousLiveObjects = liveObjects; 1562 previousLiveObjects = liveObjects;
1574 } 1563 }
1575 } 1564 }
1576 1565
1577 } // namespace blink 1566 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698