Changeset 76078 in webkit
- Timestamp:
- Jan 18, 2011, 3:45:34 PM (15 years ago)
- Location:
- trunk/Source/JavaScriptCore
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/ChangeLog
r76076 r76078 1 2011-01-18 Geoffrey Garen <[email protected]> 2 3 Reviewed by Darin Adler. 4 5 Removed RegisterFile::markGlobals because it was obtuse, and it 6 unnecessarily relied on conservative marking. 7 https://bugs.webkit.org/show_bug.cgi?id=52668 8 9 * interpreter/RegisterFile.h: Removed markGlobals. 10 11 * runtime/JSActivation.cpp: 12 (JSC::JSActivation::markChildren): Added a comment explaning why some 13 JSActivations don't always mark their registers arrays. 14 15 * runtime/JSGlobalObject.cpp: 16 (JSC::JSGlobalObject::markChildren): Instead of calling markGlobals, mark 17 the registers array directly. 18 1 19 2011-01-18 Michael Saboff <[email protected]> 2 20 -
trunk/Source/JavaScriptCore/interpreter/RegisterFile.h
r75443 r76078 132 132 Register* lastGlobal() const { return m_start - m_numGlobals; } 133 133 134 void markGlobals(MarkStack& markStack, Heap* heap) { heap->markConservatively(markStack, lastGlobal(), m_start); }135 134 void markCallFrames(MarkStack& markStack, Heap* heap) { heap->markConservatively(markStack, m_start, m_end); } 136 135 -
trunk/Source/JavaScriptCore/runtime/JSActivation.cpp
r72442 r76078 54 54 Base::markChildren(markStack); 55 55 56 // No need to mark our registers if they're still in the RegisterFile. 56 57 Register* registerArray = d()->registerArray.get(); 57 58 if (!registerArray) -
trunk/Source/JavaScriptCore/runtime/JSGlobalObject.cpp
r74454 r76078 350 350 (*it)->markAggregate(markStack); 351 351 352 RegisterFile& registerFile = globalData().interpreter->registerFile();353 if (registerFile.globalObject() == this)354 registerFile.markGlobals(markStack, &globalData().heap);355 356 352 markIfNeeded(markStack, d()->regExpConstructor); 357 353 markIfNeeded(markStack, d()->errorConstructor); … … 398 394 // guaranteed to be referenced elsewhere. 399 395 400 Register* registerArray = d()->registerArray.get(); 401 if (!registerArray) 402 return; 403 404 size_t size = d()->registerArraySize; 405 markStack.appendValues(reinterpret_cast<JSValue*>(registerArray), size); 396 markStack.appendValues(d()->registers - symbolTable().size(), symbolTable().size()); 406 397 } 407 398
Note:
See TracChangeset
for help on using the changeset viewer.