| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| | |
Conflicts:
src/qml/compiler/qqmlirbuilder.cpp
Change-Id: I2cfda470515e2df778ad3c89105c07344af07c6d
|
| |\
| | |
| | |
| | | |
Change-Id: I3eb5d1affe64b6ae709d1154cc37de91db3816b6
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This adds tracepoints for LTTng/ETW at the positions that are also
used by the QML profiler within QtQml. I.e. with the tracepoints
here, you'll see which QML function is being executed which is
already quite helpful.
This will allow us to bridge the gap between C++ and QML when
tracing with LTTng/ETW. Additionally, you'll also be able to see
kernel tracepoints which bridges another gap.
Combined, this approach can give much deeper insights into what the
(embedded) system is doing compared to just looking at the QML
profiler alone.
Change-Id: Ia8f71bf6d44b7f51c3c5aaa38f032675604aeca6
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Rafael Roquetto <rafael@roquetto.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This way you can enable or disable the JIT when configuring Qt. The
conditions for the availability of the JIT have also been cleaned up.
There is no reason anymore to artificially restrict availability on x86
and x86_64. The reason for the existence of those clauses are old
problems on windows that have been fixed by now. However, on arm and
arm64, we need a specialization of the cacheFlush() function for each OS
to be supported. Therefore, restrict to the systems for which such a
specialization exists. iOS and tvOS are technically supported and you
can enable the JIT via the feature flag now. Due to Apple's policy we
disable it by default, though.
Change-Id: I5fe2a2bf6799b2d11b7ae7c7a85962bcbf44f919
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
These intrusive list is used in the follow-up patch, where it is used to
hold a list of basic blocks in a function, and a list of instructions in
the basic block.
The advantage of this implementation is that it there is an easy and
direct access to iterators when you have an element, it defines STL-like
iterators, is double-linked, and you can easily insert before and after
elements. We don't have something like this in Qt, and it's better to
take an existing and well-tested implementation that making a home-grown
one.
Change-Id: Ie8c726eafe6d7558ae6a3550e8ecc2f15f362b17
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|\|
| |
| |
| | |
Change-Id: I57e4b762dcccf2f7f6e4b659f6fc8c40465d3322
|
| |
| |
| |
| |
| |
| |
| | |
Use 'msvc' instead of 'win32-mscv*'.
Change-Id: Ic592d9b5e63529aaae0b780b00e0fce5999926a0
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|/
|
|
|
|
|
|
| |
We will need them for the QML language server. Also, always build all of
QQmlDirParser. The QT_CREATOR condition is mostly useless.
Change-Id: I476864b55f6ff3953c11e7887525a043a9405e00
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
git describe can produce different strings for the same sha1, depending
on the version of git (length of short hash) and whether release tag was
in place when build was done (v5.11.1-0- vs. v5.11.0-66-).
Instead use rev-parse to get the unambiguous commit sha1 which is also
what is used from the .tag file.
Change-Id: If378f03eb764e2d858bda5b662106aa4402d6559
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|\
| |
| |
| |
| |
| |
| | |
Conflicts:
tests/auto/qml/qjsengine/tst_qjsengine.cpp
Change-Id: I25e264df273c01832f64dbd31923d8529f1d1900
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Don't just include the "compile hash" of QtQml in the dependencies hash
of QML files but use a dedicated field in the data structure, that we
will also fill in when generating cache files ahead of time.
This ensures that AOT generated cache files are considered invalid even
when switching between different sha1s of declarative.
Task-number: QTBUG-66986
Change-Id: I3d8ee103fd1a33a5b4c4576b3a2703fcd09712dd
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
|
|\|
| |
| |
| | |
Change-Id: I8cca650fbb1904ecba59da909a08dba3cc574add
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If it's in the command-line, it is added to the precompiled header,
which won't be regenerated if the macro changed. Instead, let's create a
header that can be #included only in the file it needs to.
Since qmldevtools compiles the file that has this new #include, we need
to ensure it was created before the module is compiled.
Change-Id: I940917d6763842499b18fffd1513b9c64cd98387
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|/
|
|
|
|
|
|
|
| |
It should be possible to switch it off without globally switching
animations off in Qt.
Change-Id: I3cae6b72b2c6b5c420f21625208de5e273839438
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/plugins/qmltooling/qmldbg_profiler/qqmlprofilerservice.cpp
src/qml/compiler/qqmlirbuilder.cpp
src/qml/compiler/qqmlirbuilder_p.h
src/qml/compiler/qqmltypecompiler.cpp
src/qml/compiler/qv4codegen.cpp
src/qml/compiler/qv4codegen_p.h
src/qml/compiler/qv4compileddata_p.h
src/qml/compiler/qv4compiler.cpp
src/qml/compiler/qv4compilercontext_p.h
src/qml/compiler/qv4isel_moth.cpp
src/qml/compiler/qv4jsir.cpp
src/qml/compiler/qv4jsir_p.h
src/qml/jit/qv4isel_masm.cpp
src/qml/jsruntime/qv4engine.cpp
src/qml/jsruntime/qv4functionobject.cpp
src/qml/jsruntime/qv4runtimecodegen.cpp
src/qml/jsruntime/qv4script.cpp
src/qml/jsruntime/qv4script_p.h
src/qml/qml/qqmltypeloader.cpp
src/quick/items/qquickanimatedimage.cpp
src/quick/items/qquickanimatedimage_p_p.h
src/quick/scenegraph/compressedtexture/qsgpkmhandler.cpp
tests/auto/qml/qmlplugindump/qmlplugindump.pro
tests/auto/qml/qmlplugindump/tst_qmlplugindump.cpp
tools/qmlcachegen/qmlcachegen.cpp
tools/qmljs/qmljs.cpp
Done-with: Shawn Rutledge <shawn.rutledge@qt.io>
Done-with: Lars Knoll <lars.knoll@qt.io>
Done-with: Ulf Hermann <ulf.hermann@qt.io>
Change-Id: I010e6525440a85f3b9a10bb9083f8e4352751b1d
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The linker complains:
LINK : warning LNK4281: undesirable base address 0x67000000 for x64 image; set base address above 4GB for best ASLR optimization
And it's not really required anymore, as the recommended /DYNAMICBASE is
the default.
Change-Id: I56b444f9d6274221a3b7fffd150caab1beecfd43
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
This patch add a JIT back in for all platforms that supported JITting
before, with the exception of MIPS.
Change-Id: I51bc5ce3a2ac40e0510bd72a563af897c5b60343
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/qml/compiler/qv4codegen.cpp
src/qml/compiler/qv4compileddata.cpp
src/qml/compiler/qv4compileddata_p.h
src/qml/compiler/qv4isel_moth_p.h
src/qml/compiler/qv4ssa.cpp
src/qml/jit/qv4assembler_p.h
src/qml/jit/qv4isel_masm_p.h
src/qml/jit/qv4regalloc.cpp
src/qml/jsruntime/qv4engine.cpp
src/qml/jsruntime/qv4qmlcontext_p.h
src/qml/jsruntime/qv4regexp.cpp
src/qml/jsruntime/qv4regexp_p.h
src/qml/jsruntime/qv4regexpobject.cpp
src/qml/jsruntime/qv4runtime.cpp
src/qml/jsruntime/qv4vme_moth.cpp
src/qml/qml/v8/qqmlbuiltinfunctions.cpp
tests/auto/qml/qml.pro
tests/auto/qml/qmlplugindump/tst_qmlplugindump.cpp
tools/qmlcachegen/qmlcachegen.cpp
Change-Id: I1577e195c736f3414089036b957a01cb91a3ca23
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When upgrading from one Qt snapshot to another, we may not end up
bumping the Qt version. However we do need to re-generate QML cache
files. Therefore let's encode the commit hash of declarative in the
checksums.
Task-number: QTBUG-62302
Change-Id: Ia597fcbe05ea2d32664da2572a1b35c624490095
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|/
|
|
|
|
|
|
| |
Don't compile the JIT and related code into libQtQml
anymore.
Change-Id: Ieb0ec33c964d09b121ede4097fe4218b147c673d
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
|
|
|
|
|
|
| |
Change-Id: Ie45a2f01def64941a323973ea27446e3fc85a72b
Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|
|
|
|
|
|
| |
Just src/imports/ to go...
Change-Id: Ib4484676e24655cb950b3c4bb6495ff0e7f9700f
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
| |
Now that all Heap::Base derived classes are trivial, we can turn dead-
store elimination back on.
Change-Id: I7da3aa8f3933fa9ef8a340e3114b154fc731d3ed
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
| |
Change-Id: Ic70f60c124fe166b37fbe9b853735be3c5e0d46d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|\
| |
| |
| |
| |
| |
| | |
Conflicts:
src/qml/qml/qqmltypeloader.cpp
Change-Id: I07647700fc86764c95a5ef95c568e700a70fe45f
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add compiler option -d2SSAOptimizer- for this version of the compiler
since it causes crashes.
Task-number: QTBUG-55238
Change-Id: I9b38c669ad25f519150dd352b402dec982dc5555
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When compiled in release mode with GCC 6, QtQml may crash.
This is because the C++ compiler is more aggressive about dead-store
elimination in situations where a memory store to a location precedes
the construction of an object at that memory location.
The QV4::MemoryManager::allocate{Managed,Object} functions allocate
memory and write to it before the caller does a placement new to
construct an object in the same memory. The compiler considers these
writes before the constructor as "dead stores" and eliminates them.
The -fno-lifetime-dse compiler flag is added to disable this more
aggressive dead-store eliminiation optimization.
This is a temporary workaround until a proper solution is found.
Task-number: QTBUG-55482
Change-Id: I7dbae6e9e613e53ce5fb25957c449bc6657803b5
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
| |
| |
| |
| |
| |
| |
| | |
Recent qtbase updates set QT_GCC_MAJOR_VERSION even for ICC.
Change-Id: I149e0540c00745fe8119fffd1463d34701f370f3
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|\|
| |
| |
| |
| |
| |
| | |
Conflicts:
src/plugins/qmltooling/qmldbg_profiler/qqmlprofilerservice.cpp
Change-Id: I26d6435a29cac3840bb567ade5149c2562a94bf9
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When compiled in release mode with GCC 6, QtQml crashes. This option
gets works around the issue by instructing the compiler not to delete
null pointer checks for pointers that the standard says cannot be null,
yet apparently are.
This is a temporary workaround until a proper solution is found.
Change-Id: Id3aab65533904562a6cbfffd14501a185fc91179
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Remove #ifdef sections for Q_OS_WINCE and wince .pro file clauses.
Task-number: QTBUG-51673
Change-Id: I33ab74f0c2ce9086c3610c5fa727f281197b6b55
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
|
|/
|
|
|
|
|
|
|
|
|
|
| |
This patch adds the support for a no_network option for
QtDeclarative, and the necessary #ifndef all around the
code.
no_network changes the interface of some classes, therefore
using it breaks source compatibility.
Change-Id: Iff612fb07041b8a7db99bd595bf038efaac2dd8a
Reviewed-by: Risto Avila <risto.avila@theqtcompany.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
|
|
|
|
|
|
|
|
| |
this fixes static builds by ensuring that all dependencies are exported.
Task-number: QTBUG-51071
Change-Id: I5928f853a1d13b6a73533f9c6f6eae9da0e52a26
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
|
|
|
|
|
|
| |
[ChangeLog][QtQml] Enabled Just-In-Time compilation for JavaScript on MIPS
Change-Id: Idce070f29645760d6376767ef67e4592828c104d
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
|
|
|
|
|
|
|
|
| |
Start moving the memory related functionality into it's own folder.
This will simplify refactoring of the GC related functionality later
on.
Change-Id: I70ec6f512af7a7897625afb84d914c17572b0ccd
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
|
|
|
|
|
|
| |
Apple Clang 5.1 added the -Wunused-const-variable option from Clang 3.4.
Change-Id: I95abe373d875ead0565d32187720e1b9042af0ca
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
|
|
|
| |
This is a starting point to clean up some of the
code base for the JIT.
Change-Id: I388ce8df7d4ab87095e227cf36643f4be2594b7d
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
The -Wunused-const-variable option was added in Clang 3.4 and is not yet
supported on Apple's Clang. This test needs to be extended with the
Apple Clang version that supports the option.
Change-Id: Ief6ece91f1c0200c3359e74dafca4b893fcde7ca
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
The ICC fix happened on e02cb2b31ab0b171f11d278305d9f532f005bc80. This
now fixes for Clang 3.4:
cached-powers.cc:134:18: warning: unused variable 'kCachedPowersLength' [-Wunused-const-variable]
Change-Id: I876d9d5cf43fb7eb76117d6fdc37265295c360df
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
| |
Change-Id: I1f51b7d043f49f2f2849eb370ac71366cbaa6da5
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
|
|
|
|
|
|
|
|
|
| |
The old method of converting to short 8.3 name and back does
not work for drives where this is disabled.
Change-Id: Ia0a46331a31eeb61578c31ba063a80665d5fc25c
Reviewed-by: Michael Brasser <michael.brasser@live.com>
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Third-party source contains a static variable that is only used in
debugging code (an ASSERT).
cached-powers.cc(134): warning #2415: variable "double_conversion::kCachedPowersLength" of static storage duration was declared but never referenced
static const int kCachedPowersLength = ARRAY_SIZE(kCachedPowers);
Change-Id: I97ea9ada8f03d9fd45149fbc4bfdf61877498339
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
|
|
|
|
|
|
|
|
| |
Task-number: QTCREATORBUG-10560
Change-Id: Ifabe6a74552dbc74b1de3030f8d60efda865f84a
Reviewed-by: Aurindam Jana <aurindam.jana@digia.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
|
|
|
|
|
| |
Change-Id: I5e5684f5b98b00f791ade99c4cb6bc2ed880ad6a
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
| |
Change-Id: I7ef371ff929387097862121b73a7a5863b51ccf1
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
Move the v4 engine classes from a subdir of qml/qml into
two subdirs (compiler and jsruntime) of the qml module
Remove an unsued qv4syntaxchecker class, and move
the moth code directly into compiler.
Change-Id: I6929bede1f25098e6cb2e68087e779fac16b0c68
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
| |
Change-Id: Ieda9267e296acf6392a5461f4cfb9233a7a409a0
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|
|
|
|
|
|
|
|
| |
The QtQml module has gain a bunch of QML types cluttering up the qml
folder. Moving them to types organizes them a bit better.
Change-Id: I570884c00f4abc48f4f1aea048bf002bc70223f3
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is needed for proper support of non-GUI instantiators in QtQml.
Only private C++ classes are affected. Aside from name changes, model
classes now operate on QObjects instead of QQuickItems, leading to minor
changes in the implementation of QtQuick classes using them.
The old QML type names will still be registered in the QtQuick import
for the forseeable future, but pointing to the new classes. The new QML
types will be added in a second commit.
Classes Affected:
QQuickVisualDataGroup -> QQmlDataGroup
QQuickVisualDataModel -> QQmlDelegateModel
QQuickVisualItemModel -> QQmlObjectModel
QQuickVisualModel -> QQmlInstanceModel
QQuickChangeSet -> QQmlChangeSet
QQuickListAccessor -> QQmlListAccessor
QQuickListCompositor -> QQmlListCompositor
QQuickPackage -> QQuickPackage (just moved for now)
Change-Id: Ia19e630e53bfa9e5d459e289596cd11df1ea3930
Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
|
|
|
|
|
|
|
|
|
| |
The global files now live in qtbase only, and are made available to the
other modules via the $QT_INSTALL_DOCS variable.
Change-Id: I131408e27fec5b722ac1dece8e1ccf421fdaad67
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
|