diff options
Diffstat (limited to 'src/qml/jsruntime/qv4engine.cpp')
-rw-r--r-- | src/qml/jsruntime/qv4engine.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/qml/jsruntime/qv4engine.cpp b/src/qml/jsruntime/qv4engine.cpp index 5a25a9f3b6..3cf705c584 100644 --- a/src/qml/jsruntime/qv4engine.cpp +++ b/src/qml/jsruntime/qv4engine.cpp @@ -63,6 +63,7 @@ #include <qv4stringobject_p.h> #include <qv4identifiertable_p.h> #include "qv4debugging_p.h" +#include "qv4profiling_p.h" #include "qv4executableallocator_p.h" #include "qv4sequenceobject_p.h" #include "qv4qobjectwrapper_p.h" @@ -166,6 +167,7 @@ ExecutionEngine::ExecutionEngine(QQmlJS::EvalISelFactory *factory) , bumperPointerAllocator(new WTF::BumpPointerAllocator) , jsStack(new WTF::PageAllocation) , debugger(0) + , profiler(0) , globalObject(0) , globalCode(0) , v8Engine(0) @@ -401,6 +403,7 @@ ExecutionEngine::ExecutionEngine(QQmlJS::EvalISelFactory *factory) ExecutionEngine::~ExecutionEngine() { delete debugger; + delete profiler; delete m_multiplyWrappedQObjects; m_multiplyWrappedQObjects = 0; delete identifierTable; @@ -428,6 +431,12 @@ void ExecutionEngine::enableDebugger() iselFactory.reset(new QQmlJS::Moth::ISelFactory); } +void ExecutionEngine::enableProfiler() +{ + Q_ASSERT(!profiler); + profiler = new QV4::Profiling::Profiler(); +} + void ExecutionEngine::initRootContext() { rootContext = static_cast<GlobalContext *>(memoryManager->allocManaged(sizeof(GlobalContext) + sizeof(CallData))); |