aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/debugger
Commit message (Collapse)AuthorAgeFilesLines
* Remove redundant copies of enabled flag in QML profilerUlf Hermann2014-01-092-126/+48
| | | | | | Task-number: QTBUG-35315 Change-Id: Idd35a330531722cb3d4e0d3e95cb3be6e5697688 Reviewed-by: Michael Brasser <michael.brasser@live.com>
* Correctly profile the size of loaded pixmapsUlf Hermann2013-12-091-3/+3
| | | | | | | | | | Only set the sizes when they're known, prefer request size to implicit size (as the request size is what ends up in the cache), and don't set the size twice. Task-number: QTBUG-35337 Change-Id: Ie516a1cae2d9050f61362ee99cf8a6a9dd8ea3bb Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* Avoid warnings on cast from char* to QStringThiago Macieira2013-12-061-1/+1
| | | | | | | | | Why isn't QtQml being built with those functions disabled, so they produce errors? Change-Id: I2c0cf945523142800982f100a61a6c10e1929632 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com> Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
* Move the vtable pointer from the object to the internal classLars Knoll2013-12-041-3/+3
| | | | | | | | This saves one pointer per object, and willmake other optimizations easier in the future. Change-Id: I1324cad31998896b5dc76af3c8a7ee9d86283bfe Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Some documentation for the VME profilerUlf Hermann2013-11-291-0/+76
| | | | | Change-Id: Ifa36166e803e81484c6a96c732b72f0ee2412c28 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Add a stack-based object creation profilerUlf Hermann2013-11-292-0/+173
| | | | | | | | | | | | | | | The simple instantiate-in-context way of profiling object creation doesn't work anymore because the VME's contexts don't necessarily map to C++ contexts anymore. The new profiler introduces two stacks of contexts, one for currently running ranges (such as components) and one for ranges that will be revived later to profile componentComplete() and similar things. Task-number: QTCREATORBUG-10631 Change-Id: Idf19b2adf062bc9c185b3bb5ff5229381f577645 Reviewed-by: Ulf Hermann <ulf.hermann@digia.com> Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Remove old qml object creation profilingUlf Hermann2013-11-291-35/+0
| | | | | | | | | | The old way the object creation profiler works is unsuitable for detailed profiling as it only tracks top level components. Task-number: QTCREATORBUG-10631 Change-Id: I502d0e144f2965f5e09af8461b50b56c61de5b4b Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Fix warnings about deprecated string conversions in V4-debugservice.Friedemann Kleint2013-11-131-3/+3
| | | | | Change-Id: I1b45876d2016fdcf1117c4f77b33c75f7d712657 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Debugging with V4Erik Verbruggen2013-11-105-130/+1019
| | | | | | | | | Currently missing, but coming in subsequent patches: - evaluating expressions - evaluating breakpoint conditions Change-Id: Ib43f2a3aaa252741ea7ce857a274480feb8741aa Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Fix various compiler warnings in order to remove warn_off in the near futureErik Verbruggen2013-11-042-3/+3
| | | | | Change-Id: Ic0492fbe31a1e134674bc6c20381f735dd6d5b7a Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Fix hanging debug engine auto-testsSimon Hausmann2013-10-311-0/+6
| | | | | | | | | | | * Move the debugger agent to the same thread as the debug service. It cannot live in the gui thread where it is created. * When the debugger is paused, resume immediately for now. This should be removed once the "counter" part propertly responds to V4_BREAK and resumes us through a separate message. Change-Id: I64ea5a4e95c07763dd87736fbc72fc8927a669e3 Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* Make sure v8 service sends a finished signalKai Koehne2013-10-171-0/+2
| | | | | | | Otherwise Qt Creator will block forever ... Change-Id: I2ffe5e826c10338aeb4ded7079154fe83710c108 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Fix deadlocks in debugger infrastructure on MacKai Koehne2013-10-161-0/+1
| | | | | | | | | Set QReadWriteLocker to recursive. This is needed e.g. to allow _q_changeServiceState to get a read lock when called from inside receiveMessage. Change-Id: I287a7c7f44e94005c0458825f8f6d1877ee914dd Reviewed-by: Aurindam Jana <aurindam.jana@digia.com>
* Fix Persistent/WeakValue APILars Knoll2013-09-261-2/+4
| | | | | | | Don't use unprotected Values in the API anymore. Change-Id: I8851628227fca374de24701bc8ee0908b5ae3923 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* QmlDebugging: Process commands in v4DebugServiceAurindam Jana2013-09-192-39/+161
| | | | | Change-Id: I6371db756f72ee373884268fc49a5b16cb66fd34 Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* QmlDebugging: Replace QV8DebugService with QV4DebugServiceAurindam Jana2013-09-195-414/+47
| | | | | Change-Id: Ic8c99e3984d9ef6d122f7d8834df97eeb1f1fda3 Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* QmlDebugging: Add v4DebugServiceAurindam Jana2013-09-193-2/+255
| | | | | | | Initial checkin Change-Id: Id38166bcc4a63e0543033d25515a135ad492ee2e Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* Allow QtQuick private headers to be used with QT_NO_KEYWORDS.Jocelyn Turcotte2013-09-123-4/+4
| | | | | | | | | | | This is necessary for the QtWebEngine module. This also adds an empty nokeywords test using the same mechanism as qtbase/tests/auto/tools/moc/no-keywords.h to find conflicts at compile time. Change-Id: I9df541720797dd61f078178c2af68ead18ff8bfe Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Merge branch 'stable' into devSergio Ahumada2013-09-062-2/+9
|\ | | | | | | | | | | | | | | | | Conflicts: src/qml/debugger/qv8debugservice.cpp src/qml/qml/v8/qv8engine.cpp tests/auto/quick/qquickitem/qquickitem.pro Change-Id: Ic4a1dcdd8b8a84155d2f2abefdf1da5c3a56af31
| * Debugger: Fix crash when app exits while debuggingKai Koehne2013-08-212-3/+11
| | | | | | | | | | | | | | | | Make sure we don't access an already deleted v8engine any more. Task-number: QTBUG-33100 Change-Id: Ic517577ae30b41375cbf9f787cfe0a29121171e2 Reviewed-by: Aurindam Jana <aurindam.jana@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-08-121-18/+18
|\| | | | | | | Change-Id: Ibb584a2d7975996cd26514b82d1da2d447fcbebf
| * Fix crash in QQmlDebugService::objectForLocationInfo()Duncan Cunningham2013-08-051-18/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | Fixed crash in QQmlDebugService::objectForLocationInfo() where it was using QObject pointers in the object reference id hash table that had been deleted. Now objectForLocationInfo() checks if the QObject has been deleted and removes it from the object reference hash before trying to look up the filename, line number, and column number. Change-Id: Iba7be7c490e97a2e7685685b0c6e501cfe1e833e Reviewed-by: Alan Alpert (Personal) <416365416c@gmail.com> Reviewed-by: Aurindam Jana <aurindam.jana@digia.com>
* | Merge branch 'dev' of ssh://codereview.qt-project.org/qt/qtdeclarative into ↵Simon Hausmann2013-07-221-3/+3
|\| | | | | | | | | | | | | | | | | | | wip/v4 Conflicts: src/quick/items/context2d/qquickcontext2d.cpp tests/auto/quick/qquickvisualdatamodel/qquickvisualdatamodel.pro Change-Id: I36a4fd28b3156839aecd70039a3ba566bf19a0bc
| * Debugger: Remove handling of QT_DECLARATIVE_DEBUG macroKai Koehne2013-07-021-1/+1
| | | | | | | | | | | | | | | | | | | | This was added originally to keep older Qt Creator versions working. However, any newer versions automatically set QT_QML_DEBUG too, and checking for both actively prevented selectively enabling QtQuick1 or QtQuick2 debuggers only. Change-Id: I4d4a984958ef3430ebe05b267bd87185005bbe51 Reviewed-by: Aurindam Jana <aurindam.jana@digia.com>
| * Disambiguate name of static helper from QtQuick1Kai Koehne2013-07-021-2/+2
| | | | | | | | | | | | | | | | | | | | Change name of static 'qmlEnableDebuggingHelper' variable to disambiguate it from QtQuick1 variable with the same name. Task-number: QTBUG-31064 Change-Id: Ia4b0f18a33a383dd4ade1bdb45506304f9066502 Reviewed-by: Aurindam Jana <aurindam.jana@digia.com>
* | Get rid of the signal expression rewriterSimon Hausmann2013-07-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | This replaces the entire rewriter with more or less: expressionToEval = "(function(<named params here>) { " + expr + " } )" This also fixes crashes at run-time when the signal rewriter was executed from the loader thread and tried to use a v4 identifier hash with the same engine that's also in the main thread. Change-Id: Ib1e4927d330706a593411fbff64ed3da1e23d0e0 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Merge branch 'dev' of ssh://codereview.qt-project.org/qt/qtdeclarative into ↵Simon Hausmann2013-06-246-45/+233
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | wip/v4 Conflicts: src/imports/qtquick2/plugins.qmltypes src/qml/debugger/qv8debugservice.cpp src/qml/qml/qml.pri src/qml/qml/qqmlcompiler.cpp src/qml/qml/qqmlcomponent.cpp src/qml/qml/qqmlcontext.cpp src/qml/qml/qqmldata_p.h src/qml/qml/qqmlengine_p.h src/qml/qml/qqmljavascriptexpression.cpp src/qml/qml/qqmlxmlhttprequest.cpp src/qml/qml/v4/qv4bindings.cpp src/qml/qml/v4/qv4irbuilder.cpp src/qml/qml/v4/qv4jsonobject_p.h src/qml/qml/v8/qqmlbuiltinfunctions.cpp src/qml/qml/v8/qv8bindings.cpp src/qml/qml/v8/qv8contextwrapper.cpp src/qml/qml/v8/qv8listwrapper.cpp src/qml/qml/v8/qv8qobjectwrapper.cpp src/qml/qml/v8/qv8qobjectwrapper_p.h src/qml/qml/v8/qv8sequencewrapper_p_p.h src/qml/qml/v8/qv8typewrapper.cpp src/qml/qml/v8/qv8valuetypewrapper.cpp src/qml/types/qqmldelegatemodel.cpp src/quick/items/context2d/qquickcanvasitem.cpp src/quick/items/context2d/qquickcontext2d.cpp sync.profile tests/auto/qml/qjsengine/tst_qjsengine.cpp tests/benchmarks/qml/animation/animation.pro tools/qmlprofiler/qmlprofiler.pro Change-Id: I18a76b8a81d87523247fa03a44ca334b1a2360c9
| * QmlProfiler: fix SceneGraph profilingChristiaan Janssen2013-05-271-1/+1
| | | | | | | | | | Change-Id: I54c960f0b0da061816223a51795c83a9f9dd3f66 Reviewed-by: Kai Koehne <kai.koehne@digia.com>
| * Debugger: Make sure client list is protected by mutexKai Koehne2013-05-241-0/+3
| | | | | | | | | | | | | | So far we didn't protect this access. Change-Id: Id738453db5e655371fa2fbf88f81cab6c0af466f Reviewed-by: Aurindam Jana <aurindam.jana@digia.com>
| * QmlProfiler: SceneGraph profilingChristiaan Janssen2013-05-062-29/+113
| | | | | | | | | | Change-Id: Ide71b330b13fc3816ed191bd9af84e0fce0d9587 Reviewed-by: Kai Koehne <kai.koehne@digia.com>
| * QmlProfiler: Pixmap CacheChristiaan Janssen2013-04-302-3/+96
| | | | | | | | | | Change-Id: Ibc237bb162c24030438b89d54fa8802ee66b080a Reviewed-by: Kai Koehne <kai.koehne@digia.com>
| * Debugger: fix race condition in block modeKai Koehne2013-04-231-9/+6
| | | | | | | | | | | | | | | | | | | | | | Make sure that the GUI thread & debugger thread actually sync on startup. So far the GUI thread would block forever in waitCondition.wait() if the debugger thread spawns & receives the HELLO before. Also remove unused code and rename variables to make their use more obvious. Change-Id: I8285e8860667496d491807e696535353d9f14dea Reviewed-by: Aurindam Jana <aurindam.jana@digia.com>
| * V8Debugging: Set Isolate when sending debug messages to v8Aurindam Jana2013-04-231-2/+8
| | | | | | | | | | | | | | | | | | Pass the Isolate used for setting the DebugMessageDispatchHandler to SendDebugMessage. This is to ensure that the proper dispatch handler is called since the Debugger is per Isolate. Change-Id: I4497155b90d4b678a5c4116859269892441ce70e Reviewed-by: Kai Koehne <kai.koehne@digia.com>
| * Fixed WindowsCE buildBjoern Breitmeyer2013-04-161-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | A windows header is included before the include of the v8 debug header and it has a define for DebugBreak which breaks linking of declarative on WinCE Change-Id: I9178cfcb960c0acbc850f2ff80c6d73b761c04f0 Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com> Reviewed-by: Kai Koehne <kai.koehne@digia.com> Reviewed-by: Alan Alpert (Personal) <416365416c@gmail.com>
| * QmlDebugServer: Remove unimplemented functionAurindam Jana2013-04-161-2/+0
| | | | | | | | | | Change-Id: I926d876fe841ce3f3a000c865c74169861f17221 Reviewed-by: Kai Koehne <kai.koehne@digia.com>
| * QmlDebugServer: Ensure plugin is setAurindam Jana2013-04-161-1/+1
| | | | | | | | | | Change-Id: Ibc0e5ed626edc076e96c4848994ba0cafba0f5c6 Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* | Remove last traces of v8 API and v8 compatibility layerSimon Hausmann2013-06-121-2/+1
| | | | | | | | | | | | | | | | The debugger and profiler service remain as bigger parts that need to be ported properly to v4. Change-Id: I68e72d6db66fe497eb58ed60df417ffe4662d115 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Remove the remaining dependencies onto the binding rewriterLars Knoll2013-05-241-1/+1
| | | | | | | | | | | | | | | | Remove the remaining places that were rewriting bindings. Remove the binding rewriter class. Change-Id: Ib1e9121dc10f4526ddb7cf0ae32fecd8ce2d4993 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Remove all references to the old v4 codeLars Knoll2013-05-231-3/+0
| | | | | | | | | | | | | | | | The old v4 files have already been removed, so cleanup all the #ifdef'ed code that still references them. Change-Id: Ifc5c59add5af36a61586a43b13291d7836cccd78 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Change some v8::Persistent to QV4::PersistentValueLars Knoll2013-05-071-1/+2
| | | | | | | | | | Change-Id: I2c4e98cf7e778de9aafabdbd68e6682106343d12 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Get rid of v8::LocalLars Knoll2013-05-061-1/+1
| | | | | | | | | | | | | | | | | | The class was doing exactly the same thing as v8::Handle in our implementation. Removing it cleans up quite a bit of code. Change-Id: I37a3dcdef062fc388751e9ef0a158b5926ba2efb Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Remove v8::HandleScopeLars Knoll2013-05-032-2/+0
| | | | | | | | | | | | | | This class never made sense with v4... :) Change-Id: Id597d791d1adf52cc821d6d46f57cb24d1acd343 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Cleanup v8 Context handlingLars Knoll2013-05-031-1/+0
| | | | | | | | | | | | | | | | | | We don't need or use v8 Context objects, so it's sufficient to have one global context for now. Remove all code related to entering or leaving Context's. Change-Id: I4f7ddaa4907e59de5713368fa13bbc40e5830542 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Get rid of qjsconverter*Lars Knoll2013-05-022-2/+1
| | | | | | | | | | | | | | | | Replace the conversion methods by better API directly in the v8 objects. Change-Id: I9d39b1db38def9aa6d1ef8673e7b1bf36e5b830a Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Remove the old v4 and rename v4vm to v4Simon Hausmann2013-04-291-1/+0
| | | | | | | | | | | | | | | | For archeologists v4 can still be found in the history. Otherwise it is confusing to have both engines in the tree. Change-Id: Ice05afb7013f0fe536aab6bb19114f696c58fc94 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Disable the old v4 engine by defaultLars Knoll2013-04-201-0/+2
| | | | | | | | | | | | | | | | Left the code in there, as a reference for how we might want to build up binding evaluation in the new v4. Change-Id: I5c81ea986d642b524fb02087d819b39c4e3fb257 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Cleanup lots of V8 dependencies in QJS* classesLars Knoll2013-04-182-2/+2
| | | | | | | | | | | | | | | | | | | | | | Implement a good part of QJSValue using V4. Keep the QV8Engine for now (as it is used everywhere), but add an ExecutionEngine pointer to it so other parts can more easily be ported to V4. Remove a lot of other stuff that's not required anymore. Change-Id: Ibe2c9ab10f0ee977e0e3d05a42f526206d7b22b5 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Fix compilation with v4vm's v8 compatibility headersSimon Hausmann2013-04-152-17/+33
|/ | | | | | | | Some code is also commented out - it will disappear during the removal of the v8 code later. Change-Id: I46e07be47ed7d4bc12423a6348d674d2fca489f7 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Debugger: Accepts port range as argumentsAurindam Jana2013-04-022-12/+27
| | | | | | | | | | Allow a port range to pass on command line, and try to listen on any of the ports in the range. (Re)using the ',' separator allows for backwards compatibility, that is, also Qt 4 will accept a -qmljsdebugger=port:1000,1010 argument, but will only try to listen on port 1000. Change-Id: Ic03fe20e4aee9ecdea86651f46f1df5cb19bd75c Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* Remove QT_{BEGIN,END}_HEADER macro usageSergio Ahumada2013-01-2812-48/+0
| | | | | | | | | | | The macro was made empty in qtbase/ba3dc5f3b56d1fab6fe37fe7ae08096d7dc68bcb and is no longer necessary or used. Discussed-on: http://lists.qt-project.org/pipermail/development/2013-January/009284.html Change-Id: Ia07e99676e0134fde5e32880edb95e57c779a7ff Reviewed-by: Laszlo Papp <lpapp@kde.org> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com> Reviewed-by: Alan Alpert <aalpert@rim.com>