Ignore:
Timestamp:
Sep 4, 2014, 6:54:02 PM (11 years ago)
Author:
[email protected]
Message:

Make sure that deleting all code first processes the call edge log, and reenable call edge profiling.

Rubber stamped by Sam Weinig.

  • debugger/Debugger.cpp:

(JSC::Debugger::forEachCodeBlock):
(JSC::Debugger::setSteppingMode):
(JSC::Debugger::recompileAllJSFunctions):

  • inspector/agents/InspectorRuntimeAgent.cpp:

(Inspector::recompileAllJSFunctionsForTypeProfiling):

  • runtime/Options.h: Reenable call edge profiling.
  • runtime/VM.cpp:

(JSC::VM::prepareToDiscardCode): Make sure this also processes the call edge log, in case any call edge profiles are about to be destroyed.
(JSC::VM::discardAllCode):
(JSC::VM::releaseExecutableMemory):
(JSC::VM::setEnabledProfiler):
(JSC::VM::waitForCompilationsToComplete): Deleted.

  • runtime/VM.h: Rename waitForCompilationsToComplete() back to prepareToDiscardCode() because the purpose of the method - now as ever - is to do all of the things that need to be done to ensure that code may be safely deleted.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/debugger/Debugger.cpp

    r172665 r173304  
    142142void Debugger::forEachCodeBlock(Functor& functor)
    143143{
    144     m_vm->waitForCompilationsToComplete();
     144    m_vm->prepareToDiscardCode();
    145145    m_vm->heap.forEachCodeBlock(functor);
    146146}
     
    236236        return;
    237237
    238     m_vm->waitForCompilationsToComplete();
     238    m_vm->prepareToDiscardCode();
    239239
    240240    m_steppingMode = mode;
     
    346346    }
    347347
    348     vm->waitForCompilationsToComplete();
     348    vm->prepareToDiscardCode();
    349349
    350350    Recompiler recompiler(this);
Note: See TracChangeset for help on using the changeset viewer.