Changeset 53459 in webkit
- Timestamp:
- Jan 19, 2010 12:25:22 AM (14 years ago)
- Location:
- trunk
- Files:
-
- 2 deleted
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/API/JSContextRef.cpp
r53455 r53459 128 128 if (globalData.refCount() == 2) { // One reference is held by JSGlobalObject, another added by JSGlobalContextRetain(). 129 129 // The last reference was released, this is our last chance to collect. 130 ASSERT(!globalData.heap.protectedObjectCount()); 131 ASSERT(!globalData.heap.isBusy()); 130 132 globalData.heap.destroy(); 131 133 } else -
trunk/JavaScriptCore/ChangeLog
r53456 r53459 1 2010-01-19 Gavin Barraclough <barraclough@apple.com> 2 3 Reviewed by NOBODY (build fix). 4 5 Reverting r53455, breaks 2 javascriptcore tests. 6 7 * API/JSContextRef.cpp: 8 * runtime/Collector.cpp: 9 (JSC::Heap::destroy): 10 (JSC::Heap::freeBlock): 11 (JSC::Heap::freeBlocks): 12 (JSC::Heap::shrinkBlocks): 13 1 14 2010-01-18 Gavin Barraclough <barraclough@apple.com> 2 15 -
trunk/JavaScriptCore/runtime/Collector.cpp
r53455 r53459 187 187 return; 188 188 189 ASSERT(!m_globalData->dynamicGlobalObject);190 ASSERT(!isBusy());191 192 189 // The global object is not GC protected at this point, so sweeping may delete it 193 190 // (and thus the global data) before other objects that may use the global data. … … 294 291 NEVER_INLINE void Heap::freeBlock(size_t block) 295 292 { 296 m_heap.didShrink = true;297 298 293 ObjectIterator it(m_heap, block); 299 294 ObjectIterator end(m_heap, block + 1); … … 335 330 void Heap::freeBlocks() 336 331 { 337 ProtectCountSet protectedValuesCopy = m_protectedValues; 338 339 clearMarkBits(); 340 markProtectedObjects(m_globalData->markStack); 341 342 m_heap.nextCell = 0; 343 m_heap.nextBlock = 0; 344 DeadObjectIterator it(m_heap, m_heap.nextBlock, m_heap.nextCell); 345 DeadObjectIterator end(m_heap, m_heap.usedBlocks); 346 for ( ; it != end; ++it) 347 (*it)->~JSCell(); 348 349 ASSERT(!protectedObjectCount()); 350 351 ProtectCountSet::iterator protectedValuesEnd = protectedValuesCopy.end(); 352 for (ProtectCountSet::iterator protectedValuesIt = protectedValuesCopy.begin(); protectedValuesIt != protectedValuesEnd; ++protectedValuesIt) 353 protectedValuesIt->first->~JSCell(); 354 355 for (size_t block = 0; block < m_heap.usedBlocks; ++block) 356 freeBlockPtr(m_heap.blocks[block]); 357 332 while (m_heap.usedBlocks) 333 freeBlock(0); 358 334 fastFree(m_heap.blocks); 359 360 335 memset(&m_heap, 0, sizeof(CollectorHeap)); 361 336 } … … 466 441 if (m_heap.blocks[i]->marked.isEmpty()) { 467 442 freeBlock(i); 443 m_heap.didShrink = true; 468 444 } else 469 445 ++i; -
trunk/LayoutTests/ChangeLog
r53458 r53459 1 2010-01-19 Gavin Barraclough <barraclough@apple.com> 2 3 Reviewed by NOBODY (build fix). 4 5 Reverting r53455, breaks 2 javascriptcore tests. 6 7 * fast/workers/resources/worker-gc2.js: Removed. 8 * fast/workers/worker-gc2.html: Removed. 9 1 10 2010-01-19 Geoffrey Garen <ggaren@apple.com> 2 11 -
trunk/WebCore/ChangeLog
r53455 r53459 1 2010-01-19 Gavin Barraclough <barraclough@apple.com> 2 3 Reviewed by NOBODY (build fix). 4 5 Reverting r53455, breaks 2 javascriptcore tests. 6 7 * bindings/js/WorkerScriptController.cpp: 8 (WebCore::WorkerScriptController::~WorkerScriptController): 9 1 10 2010-01-18 Geoffrey Garen <ggaren@apple.com> 2 11 -
trunk/WebCore/bindings/js/WorkerScriptController.cpp
r53455 r53459 59 59 { 60 60 m_workerContextWrapper = 0; // Unprotect the global object. 61 62 ASSERT(!m_globalData->heap.protectedObjectCount()); 63 ASSERT(!m_globalData->heap.isBusy()); 61 64 m_globalData->heap.destroy(); 62 65 }
Note: See TracChangeset
for help on using the changeset viewer.