Changeset 119633 in webkit for trunk/Source/JavaScriptCore/heap/Heap.cpp
- Timestamp:
- Jun 6, 2012, 4:11:09 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/heap/Heap.cpp
r119518 r119633 422 422 ASSERT(isValidThreadState(m_globalData)); 423 423 424 #if ENABLE(OBJECT_MARK_LOGGING) 425 double gcStartTime = WTF::currentTime(); 426 #endif 427 424 428 void* dummy; 425 429 … … 485 489 { 486 490 GCPHASE(VisitMachineRoots); 491 MARK_LOG_ROOT(visitor, "C++ Stack"); 487 492 visitor.append(machineThreadRoots); 488 493 visitor.donateAndDrain(); … … 490 495 { 491 496 GCPHASE(VisitRegisterFileRoots); 497 MARK_LOG_ROOT(visitor, "Register File"); 492 498 visitor.append(registerFileRoots); 493 499 visitor.donateAndDrain(); … … 496 502 { 497 503 GCPHASE(VisitScratchBufferRoots); 504 MARK_LOG_ROOT(visitor, "Scratch Buffers"); 498 505 visitor.append(scratchBufferRoots); 499 506 visitor.donateAndDrain(); … … 502 509 { 503 510 GCPHASE(VisitProtectedObjects); 511 MARK_LOG_ROOT(visitor, "Protected Objects"); 504 512 markProtectedObjects(heapRootVisitor); 505 513 visitor.donateAndDrain(); … … 507 515 { 508 516 GCPHASE(VisitTempSortVectors); 517 MARK_LOG_ROOT(visitor, "Temp Sort Vectors"); 509 518 markTempSortVectors(heapRootVisitor); 510 519 visitor.donateAndDrain(); … … 514 523 GCPHASE(MarkingArgumentBuffers); 515 524 if (m_markListSet && m_markListSet->size()) { 525 MARK_LOG_ROOT(visitor, "Argument Buffers"); 516 526 MarkedArgumentBuffer::markLists(heapRootVisitor, *m_markListSet); 517 527 visitor.donateAndDrain(); … … 520 530 if (m_globalData->exception) { 521 531 GCPHASE(MarkingException); 532 MARK_LOG_ROOT(visitor, "Exceptions"); 522 533 heapRootVisitor.visit(&m_globalData->exception); 523 534 visitor.donateAndDrain(); … … 526 537 { 527 538 GCPHASE(VisitStrongHandles); 539 MARK_LOG_ROOT(visitor, "Strong Handles"); 528 540 m_handleSet.visitStrongHandles(heapRootVisitor); 529 541 visitor.donateAndDrain(); … … 532 544 { 533 545 GCPHASE(HandleStack); 546 MARK_LOG_ROOT(visitor, "Handle Stack"); 534 547 m_handleStack.visit(heapRootVisitor); 535 548 visitor.donateAndDrain(); … … 538 551 { 539 552 GCPHASE(TraceCodeBlocks); 553 MARK_LOG_ROOT(visitor, "Trace Code Blocks"); 540 554 m_dfgCodeBlocks.traceMarkedCodeBlocks(visitor); 541 555 visitor.donateAndDrain(); … … 554 568 { 555 569 GCPHASE(VisitingLiveWeakHandles); 570 MARK_LOG_ROOT(visitor, "Live Weak Handles"); 556 571 while (true) { 557 572 m_objectSpace.visitWeakSets(heapRootVisitor); … … 572 587 573 588 visitor.doneCopying(); 589 #if ENABLE(OBJECT_MARK_LOGGING) 590 size_t visitCount = visitor.visitCount(); 591 #if ENABLE(PARALLEL_GC) 592 visitCount += m_sharedData.childVisitCount(); 593 #endif 594 MARK_LOG_MESSAGE2("\nNumber of live Objects after full GC %lu, took %.6f secs\n", visitCount, WTF::currentTime() - gcStartTime); 595 #endif 596 574 597 visitor.reset(); 575 598 m_sharedData.reset(); 599 #if ENABLE(PARALLEL_GC) 600 m_sharedData.resetChildren(); 601 #endif 576 602 m_storageSpace.doneCopying(); 577 603
Note:
See TracChangeset
for help on using the changeset viewer.