Changeset 108107 in webkit for trunk/Source/JavaScriptCore/heap
- Timestamp:
- Feb 17, 2012, 12:09:14 PM (13 years ago)
- Location:
- trunk/Source/JavaScriptCore/heap
- Files:
-
- 4 added
- 4 deleted
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/heap/ConservativeRoots.cpp
r105442 r108107 27 27 #include "ConservativeRoots.h" 28 28 29 #include " BumpSpace.h"30 #include " BumpSpaceInlineMethods.h"29 #include "CopiedSpace.h" 30 #include "CopiedSpaceInlineMethods.h" 31 31 #include "CodeBlock.h" 32 32 #include "DFGCodeBlocks.h" … … 37 37 namespace JSC { 38 38 39 ConservativeRoots::ConservativeRoots(const MarkedBlockSet* blocks, BumpSpace* bumpSpace)39 ConservativeRoots::ConservativeRoots(const MarkedBlockSet* blocks, CopiedSpace* copiedSpace) 40 40 : m_roots(m_inlineRoots) 41 41 , m_size(0) 42 42 , m_capacity(inlineCapacity) 43 43 , m_blocks(blocks) 44 , m_ bumpSpace(bumpSpace)44 , m_copiedSpace(copiedSpace) 45 45 { 46 46 } … … 73 73 markHook.mark(p); 74 74 75 BumpBlock* block;76 if (m_ bumpSpace->contains(p, block))77 m_ bumpSpace->pin(block);75 CopiedBlock* block; 76 if (m_copiedSpace->contains(p, block)) 77 m_copiedSpace->pin(block); 78 78 79 79 MarkedBlock* candidate = MarkedBlock::blockFor(p); -
trunk/Source/JavaScriptCore/heap/ConservativeRoots.h
r105442 r108107 39 39 class ConservativeRoots { 40 40 public: 41 ConservativeRoots(const MarkedBlockSet*, BumpSpace*);41 ConservativeRoots(const MarkedBlockSet*, CopiedSpace*); 42 42 ~ConservativeRoots(); 43 43 … … 64 64 size_t m_capacity; 65 65 const MarkedBlockSet* m_blocks; 66 BumpSpace* m_bumpSpace;66 CopiedSpace* m_copiedSpace; 67 67 JSCell* m_inlineRoots[inlineCapacity]; 68 68 }; -
trunk/Source/JavaScriptCore/heap/Heap.cpp
r107499 r108107 22 22 #include "Heap.h" 23 23 24 #include " BumpSpace.h"25 #include " BumpSpaceInlineMethods.h"24 #include "CopiedSpace.h" 25 #include "CopiedSpaceInlineMethods.h" 26 26 #include "CodeBlock.h" 27 27 #include "ConservativeRoots.h" -
trunk/Source/JavaScriptCore/heap/Heap.h
r107445 r108107 41 41 namespace JSC { 42 42 43 class BumpSpace;43 class CopiedSpace; 44 44 class CodeBlock; 45 45 class GCActivityCallback; … … 140 140 friend class MarkedAllocator; 141 141 friend class MarkedBlock; 142 friend class BumpSpace;142 friend class CopiedSpace; 143 143 friend class SlotVisitor; 144 144 friend class CodeBlock; … … 198 198 OperationInProgress m_operationInProgress; 199 199 MarkedSpace m_objectSpace; 200 BumpSpace m_storageSpace;200 CopiedSpace m_storageSpace; 201 201 202 202 DoublyLinkedList<HeapBlock> m_freeBlocks; -
trunk/Source/JavaScriptCore/heap/MarkStack.cpp
r105442 r108107 27 27 #include "MarkStack.h" 28 28 29 #include " BumpSpace.h"30 #include " BumpSpaceInlineMethods.h"29 #include "CopiedSpace.h" 30 #include "CopiedSpaceInlineMethods.h" 31 31 #include "ConservativeRoots.h" 32 32 #include "Heap.h" … … 236 236 MarkStackThreadSharedData::MarkStackThreadSharedData(JSGlobalData* globalData) 237 237 : m_globalData(globalData) 238 , m_ bumpSpace(&globalData->heap.m_storageSpace)238 , m_copiedSpace(&globalData->heap.m_storageSpace) 239 239 , m_sharedMarkStack(m_segmentAllocator) 240 240 , m_numberOfActiveParallelMarkers(0) … … 403 403 // Did we reach termination? 404 404 if (!m_shared.m_numberOfActiveParallelMarkers && m_shared.m_sharedMarkStack.isEmpty()) { 405 // Let any sleeping slaves know it's time for them to give their private BumpBlocks back405 // Let any sleeping slaves know it's time for them to give their private CopiedBlocks back 406 406 m_shared.m_markingCondition.broadcast(); 407 407 return; … … 460 460 { 461 461 ASSERT(!m_copyBlock); 462 if (!m_shared.m_ bumpSpace->borrowBlock(&m_copyBlock))462 if (!m_shared.m_copiedSpace->borrowBlock(&m_copyBlock)) 463 463 CRASH(); 464 464 } … … 466 466 void* SlotVisitor::allocateNewSpace(void* ptr, size_t bytes) 467 467 { 468 if ( BumpSpace::isOversize(bytes)) {469 m_shared.m_ bumpSpace->pin(BumpSpace::oversizeBlockFor(ptr));468 if (CopiedSpace::isOversize(bytes)) { 469 m_shared.m_copiedSpace->pin(CopiedSpace::oversizeBlockFor(ptr)); 470 470 return 0; 471 471 } 472 472 473 if (m_shared.m_ bumpSpace->isPinned(ptr))473 if (m_shared.m_copiedSpace->isPinned(ptr)) 474 474 return 0; 475 475 … … 478 478 startCopying(); 479 479 480 if (! BumpSpace::fitsInBlock(m_copyBlock, bytes)) {480 if (!CopiedSpace::fitsInBlock(m_copyBlock, bytes)) { 481 481 // We don't need to lock across these two calls because the master thread won't 482 482 // call doneCopying() because this thread is considered active. 483 m_shared.m_ bumpSpace->doneFillingBlock(m_copyBlock);484 if (!m_shared.m_ bumpSpace->borrowBlock(&m_copyBlock))483 m_shared.m_copiedSpace->doneFillingBlock(m_copyBlock); 484 if (!m_shared.m_copiedSpace->borrowBlock(&m_copyBlock)) 485 485 CRASH(); 486 486 } 487 return BumpSpace::allocateFromBlock(m_copyBlock, bytes);487 return CopiedSpace::allocateFromBlock(m_copyBlock, bytes); 488 488 } 489 489 … … 525 525 return; 526 526 527 m_shared.m_ bumpSpace->doneFillingBlock(m_copyBlock);527 m_shared.m_copiedSpace->doneFillingBlock(m_copyBlock); 528 528 529 529 m_copyBlock = 0; -
trunk/Source/JavaScriptCore/heap/MarkStack.h
r105442 r108107 27 27 #define MarkStack_h 28 28 29 #include " BumpSpace.h"29 #include "CopiedSpace.h" 30 30 #include "HandleTypes.h" 31 31 #include "Options.h" … … 183 183 184 184 JSGlobalData* m_globalData; 185 BumpSpace* m_bumpSpace;185 CopiedSpace* m_copiedSpace; 186 186 187 187 MarkStackSegmentAllocator m_segmentAllocator; -
trunk/Source/JavaScriptCore/heap/SlotVisitor.h
r105442 r108107 27 27 #define SlotVisitor_h 28 28 29 #include " BumpSpace.h"29 #include "CopiedSpace.h" 30 30 #include "MarkStack.h" 31 31 … … 79 79 } 80 80 81 BumpBlock* m_copyBlock;81 CopiedBlock* m_copyBlock; 82 82 }; 83 83
Note:
See TracChangeset
for help on using the changeset viewer.