Changeset 162735 in webkit for trunk/Source/JavaScriptCore/debugger/Debugger.cpp
- Timestamp:
- Jan 24, 2014, 3:44:50 PM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/debugger/Debugger.cpp
r162720 r162735 177 177 } 178 178 179 void Debugger::detach(JSGlobalObject* globalObject )179 void Debugger::detach(JSGlobalObject* globalObject, ReasonForDetach reason) 180 180 { 181 181 // If we're detaching from the currently executing global object, manually tear down our … … 191 191 m_globalObjects.remove(globalObject); 192 192 193 clearDebuggerRequests(globalObject); 193 // If the globalObject is destructing, then its CodeBlocks will also be 194 // destructed. There is no need to do the debugger requests clean up, and 195 // it is not safe to access those CodeBlocks at this time anyway. 196 if (reason != GlobalObjectIsDestructing) 197 clearDebuggerRequests(globalObject); 198 194 199 globalObject->setDebugger(0); 195 200 if (!m_globalObjects.size()) … … 229 234 if (!m_vm) 230 235 return; 231 HeapIterationScope iterationScope(m_vm->heap);232 236 SetSteppingModeFunctor functor(this, mode); 233 237 m_vm->heap.forEachCodeBlock(functor); … … 314 318 if (!m_vm) 315 319 return; 316 HeapIterationScope iterationScope(m_vm->heap);317 320 ToggleBreakpointFunctor functor(this, breakpoint, enabledOrNot); 318 321 m_vm->heap.forEachCodeBlock(functor); … … 494 497 if (!m_vm) 495 498 return; 496 HeapIterationScope iterationScope(m_vm->heap);497 499 ClearCodeBlockDebuggerRequestsFunctor functor(this); 498 500 m_vm->heap.forEachCodeBlock(functor); … … 520 522 { 521 523 ASSERT(m_vm); 522 HeapIterationScope iterationScope(m_vm->heap);523 524 ClearDebuggerRequestsFunctor functor(globalObject); 524 525 m_vm->heap.forEachCodeBlock(functor);
Note:
See TracChangeset
for help on using the changeset viewer.