Changeset 91218 in webkit
- Timestamp:
- Jul 18, 2011, 3:55:47 PM (14 years ago)
- Location:
- trunk/Source/JavaScriptCore
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/ChangeLog
r91216 r91218 1 2011-07-18 Filip Pizlo <fpizlo@apple.com> 2 3 JSC GC lazy sweep does not inline the common cases of cell destruction. 4 https://bugs.webkit.org/show_bug.cgi?id=64745 5 6 Reviewed by Oliver Hunt. 7 8 This inlines the case of JSFinalObject destruction. 9 10 * heap/MarkedBlock.cpp: 11 (JSC::MarkedBlock::lazySweep): 12 1 13 2011-07-18 Oliver Hunt <oliver@apple.com> 2 14 -
trunk/Source/JavaScriptCore/heap/MarkedBlock.cpp
r91039 r91218 87 87 // order of the free list. 88 88 89 void* jsFinalObjectVPtr = m_heap->globalData()->jsFinalObjectVPtr; 90 89 91 FreeCell* result = 0; 90 92 … … 92 94 if (!m_marks.testAndSet(i)) { 93 95 JSCell* cell = reinterpret_cast<JSCell*>(&atoms()[i]); 94 cell->~JSCell(); 96 if (cell->vptr() == jsFinalObjectVPtr) { 97 JSFinalObject* object = reinterpret_cast<JSFinalObject*>(cell); 98 object->JSFinalObject::~JSFinalObject(); 99 } else 100 cell->~JSCell(); 95 101 FreeCell* freeCell = reinterpret_cast<FreeCell*>(cell); 96 102 freeCell->next = result;
Note:
See TracChangeset
for help on using the changeset viewer.