| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
See 612785f39e325b0578be89e09b0e32d7d08d471e for details. The warning is
exactly the same as before, with the exact same solution as before.
Change-Id: I2f6cbc64234696f1d240611f376ab5daf8d0f89c
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
|
|
|
| |
The remaining "profiling" parts of the QML profiler service are
engine specific and are best accessed through their own adapter.
Change-Id: Idb763104bdd80e4dabdf132ec1a496b9bc9f6f46
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
|
|
|
|
|
|
|
|
| |
The QtQuick parts of the QML profiler service thus become a proper
global profiler which can be independently enabled and disabled.
Change-Id: Ifad03801cab2be66a264fc46fdebdae582fcc99b
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
|
|
|
|
|
|
|
|
| |
Will be unpined along with an update that matches the changes in
https://codereview.qt-project.org/#change,77791
Change-Id: I5b9572d21e2cca8dc0078eb0079f6d42af6dd6d4
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
updatePolish is not called for items which are not visible.
However if a polish is scheduled, updatePolish has to be called when the item
becomes eventually visible.
This patch makes sure, that invisible items are not removed from the itemsToPolish list.
Change-Id: I1ad929dc6de8e61edbd1c4df88ae5bc951979ff1
Reviewed-by: Ulf Hermann <ulf.hermann@digia.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
|
|
|
|
| |
Conversion to int32 might truncate, and because int32 is two's
complement, INT_MIN might get converted incorrectly.
Change-Id: Iaf893d3bd619f4c5791654e609f96cffca5c6917
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|
|
|
|
|
|
|
|
| |
Remove all phi nodes whose target temps have no uses. This obvious
optimization was missing.
Change-Id: I24354e225ba7b01a3c2a6f4b2e40dd78d6ee3d7d
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
Change the worklist in the optimizeSSA function to allow only one entry
for a statement. This prevents re-processing a statement multiple times,
and could lead to crashes when the statement was removed in an earlier
pass.
Change-Id: I2f09cf74525cfe19708ec7a8bc6d555218625e87
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|
|
|
|
|
|
|
| |
This fixes an inclusion error caused by eb8a091 under WinRT x64 MSVC2013.
Change-Id: I3ebae0788264f4e3ccc0ae9f2bb4dbc4cceaa155
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Reviewed-by: Ulf Hermann <ulf.hermann@digia.com>
|
|
|
|
|
| |
Change-Id: I64af195a16189cd1306ca80d13c0ef002fa31f59
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
|
|
|
|
|
|
|
|
| |
This adapter attaches the V4 profiler to the QML profiling
infrastructure.
Change-Id: Ifaf77a3ba0790bc56d4b155260b0e05593ac799e
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
|
|
|
|
|
|
|
|
|
| |
The concepts of "global" and "engine" profilers are introduced. Profilers
can either be attached to specific QML engines and run in their threads
or they can be unspecific global profilers running in arbitrary threads.
Change-Id: I3862fc65c07ccb33a1ca08cd2425e4079d3ffc02
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
When instantiating an anonymous component, we must also set the context
ownership to true.
Fixes garbage collection of item view delegates, where when the destructor
run, their context wasn't cleared properly and child items would re-evaluate
bindings that use "parent" with null.
Change-Id: I8c67c679c12ce987a0dec405571647270373881c
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|
|
|
|
|
|
|
| |
Self-contained profiler for V4. By itself it doesn't have any
connections to qqmlprofilerservice.
Change-Id: I471a6119e07eab9c5f4712a16835be49c8886d1a
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
|
|
|
|
|
| |
Change-Id: Ic456b680ab4ef9643a1ba85d0d62f8a116764cb0
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|\
| |
| |
| | |
refs/staging/dev
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/qml/compiler/qv4ssa.cpp
src/qml/jsruntime/qv4arrayobject.cpp
src/qml/jsruntime/qv4context.cpp
Change-Id: Ied5b23bec4dc14abe51127c507aed668f855c1e1
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Using Window { Keys.onPressed: ... } does not work because window is not
a QQuickItem. Warn at least.
Change-Id: Ibd472f7b551ff2089cbc39ba43da27e6f8e0e97f
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
Reviewed-by: Caroline Chao <caroline.chao@digia.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I026ce85a6e593d5eccecdf032ee2f0763a2bef87
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Reversed (BottomToTop and RightToLeft) item views would report an
impossible positive value for origin when contentHeight < height. The
correct value will be effectively equivalent to the position of the
footer, and always negative.
Match other logic using lastPosition() by negating its value for
reversed views.
This fixes a bug with content disappearing in a Controls ScrollView on
a BottomToTop view.
Change-Id: Ieedbb64ce8fc7c0fb36e5256e437ddeb3e757761
Reviewed-by: Martin Jones <martin.jones@jollamobile.com>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I0928737f1651fa98213a84dc4f8b5225d5239502
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Don't crash when an exception is thrown in a JS slot but we don't have
a Qml engine.
Change-Id: I1530d5c1c8cb9b9b33b9fdd0d45639fd4a0516f7
Reviewed-by: Karsten Heimrich <karsten.heimrich@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Added documentation for ImperialUSSystem and ImperialUKSystem.
Change-Id: I1a628121dce4a7566bd8769843c487e28f3dd6fe
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Without this change, it is not possible to implement a custom renderer
(it has no way to compile or initialize material shaders).
Change-Id: Ie8778f739f3551f88f0d44ccb9769063a87ff276
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
examples/quick/customitems contains all the examples found in
examples/quick/ui-components, plus 2 more (maskedmousearea and
painteditem). There are some very minor differences between the
duplicated files, regarding the "smooth" property. Apart from that, the
examples are identical.
The only file that is unique to examples/quick/ui-components is
example-slideswitch.qdoc. Moving it does not change the generated HTML
filename. The other examples do not produce any documentation.
Change-Id: I507d9064a60fd1f3a1469c1e423d4c0a72c7dc41
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Transform, material, opacity and geometry changes all used to trigger
full rebuilds, which meant that very little geometry could be retained
between frames. For instance, a rotating spinner on top of a gridview
this would cause a full rebuild where nothing is retained.
This change introduces new concept to the renderer: partial rebuilding
based on render order ranges. Since the render order of nodes is
strictly defined by their position in the tree and nothing else, we
should use that for the majority of rebuilds. When a change comes in
for a node, we invalidate its batch and all batches which it has
overlapping render orders with.
Render order rebuilds only happen when nodes are added and removed.
Change-Id: Ib4cb284164892b409e3fff5c492a54d60a5de2d7
Reviewed-by: Michael Brasser <michael.brasser@live.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
CallContext::locals was not at multiple of 8, which caused
an alignment exception on ARM. Size for the context is
also increased.
Change-Id: I136418f89945cd3fec74463659107c6dab7cad0a
Reviewed-by: aavit <eirik.aavitsland@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I5b77f7590c9f2cea9305014b8a9d4ab3a387eaa3
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Commit 04774bb14c81688f86a2b31b8624bde8ebf59062 long time ago introduced the
concept of fixed order binding initialization with lazy evaluation, where a bit
is reserved for each binding that indicates whether it's been initialized the
first time or not. When reading a property on a QObject, we'd check if the
corresponding binding for the property has been initialized or not and flush
(i.e. execute) the binding if necessary.
As part of the V4/V8 clean-up, commit 1eb41200948ab414f1c47d93123b41c547a993df
removed the StoreV8Binding instruction, which made the call for setting the
this-binding-is-not-evaluated-yet bit. Nowadays we only use StoreBinding, for
which this optimization was never implemented (and not needed really). Now that
we have a unified JS code path, we need to set the pending binding bit and also
make sure that we call flushPendingBinding for any JS side property access
(accelerated or not).
Also flushPendingBindingImpl had two bugs:
* In an attempt of trying to find the binding to flush, it could happen that
we'd try to flush a previously destroyed binding (m_mePtr is null), so
the b variable would remain the first binding in the object and we'd flush
the wrong one (instead of none). Added a missing check to verify that the
property index matches.
* Also resetting the mePtr must be done through clear(), to ensure that the
pointer in bindValues in the VME is also cleared, to avoid re-enabling the
same binding again in complete();
Task-number: QTBUG-36441
Change-Id: Icdb0c8fb036051fd5d6c4d33b10cd0c0ed9a9d5c
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Task-number: QTBUG-36197
Change-Id: I5545c36a1ce9ea6c2451c92e0e79f65e5ab26c68
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Without this change, it is not possible to implement a custom context
without also implementing a renderloop.
Change-Id: Iac2aa732251cdf7221b28f665394cdd336a3d846
Reviewed-by: Michael Brasser <michael.brasser@live.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This reverts commit 8e0c5b59f57b51a0dc80d3d8274202776c6e03df.
This test doesn't fail any more.
Task-number: QTBUG-23976
Change-Id: I77704e7811c4c335cb5836ba7645a8804c13e12d
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When a register is needed for an interval, but none is available, one
of the used registers will be chosen and spilled to the stack (meaning
it will be split) before the current position. However, if a register
is used at the current position for an incoming parameter, its interval
has to be split after the current position. This patch adds/fixes the
latter case.
This fixes crypto.js on x86. The specific problem there was that the
result of an operation needed a register, and chose the one from one
of the incoming parameters (which then should get spilled/split).
However, this interval was already split, and started exactly at that
the current position. So splitting before the current position did
nothing, resulting in it staying alive and using the same register as
the result. So any subsequent use of would have the invalid value.
Task-number: QTBUG-36430
Change-Id: I228fc210b009aa0b16b08a374fc955fabfbb6d12
Reviewed-by: Albert Astals Cid <albert.astals@canonical.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When a life-time interval is split from another interval, it has to come
before an interval that starts at the same position but is not split.
This also means that a means that the all ranges in a split interval
are uses, which is important for allocation: all incoming parameters for
an operation need to be allocated before allocating a register for the
result as the result will only start its life "at the end" of the
operation.
This patch fixes a problem register allocation is done in a function
where register pressure is high (e.g. on platforms that have few
registers to start with). Specifically, crypto.js on x86 triggered it.
Change-Id: Iee3e5d82a887b8de573dfc23513844143d0c8073
Reviewed-by: Albert Astals Cid <albert.astals@canonical.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
On linux/x86, ebx is used to store the global offset table. When using
this register for temporary values, we have to save it at the entry of
a generated function, and restore it before doing calls and at the end.
Task-number: QTBUG-36289
Change-Id: I30194be3ce44f58b793ee52f6201906bcb68d46a
Reviewed-by: Albert Astals Cid <albert.astals@canonical.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Unregister for geometry changes before reparenting, as
reparenting may trigger those changes.
Task-number: QTBUG-36481
Change-Id: Ia94f1f88880b232dd583b7e63e5da73fb338f7c6
Reviewed-by: Martin Jones <martin.jones@jollamobile.com>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Change-Id: Id1edc073db349cfc7e4b5a9dca045760016ebacf
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
It's easy to miss the maximum bound specified by either
the font.pointSize or font.pixelSize properties.
Task-number: QTBUG-30005
Change-Id: If1dadebd6673f0e945a1ca95b64521f27d30f5a9
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
s_instance is created with new and never deleted which causes several
destructors to never be called.
Task-number: QTBUG-35731
Change-Id: Icccb19186958f8bb74c5fd2b4b41165255debc46
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Wrapped sequence types should cause putIndexed() method to be called
when Array.push() is used.
Fix suggested by Simon Hausmann.
[ChangeLog][QtQml] Fix JavaScript Array.push() not working on
QStringList properties.
Task-number: QTBUG-36491
Change-Id: Id04409dd7466a943d8ea8d57cd0514e8de732480
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Add an exported C-function dumping the JS stack trace which can be
invoked by a debugger with the address of an execution context
it finds in a complete stack trace.
Task-number: QTCREATORBUG-11144
Change-Id: I5314f6b24868f12d4f9dedd1c261658957e581ba
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
[ChangeLog][QtQuick] New feature: Image.mipmap
Task-number: QTBUG-19961
Change-Id: I13acb2408d5b126790adaf9d324ad4beda1e3646
Reviewed-by: Michael Brasser <michael.brasser@live.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Task-number: QTBUG-36804
Change-Id: Ic38e4172f4a6978ad4e9b9a460106cadaaaeff3a
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
|
|/ /
| |
| |
| |
| |
| |
| |
| | |
[ChangeLog][QtQuick][Fixed wrong baseline alignment for TextInput]
Task-number: QTBUG-36749
Change-Id: I6920fb0681f30d9e9943d1bd01f76cc3ae204f30
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Like this we can control the starting and stopping of qml engines from
the client without having to extend each of the other debug services.
Change-Id: I5f1c077b6cfa0e628c32e8bcdea2ec053e310509
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The debug services generally behave in one of two ways when initializing:
Either they block the initializing thread until some configuration is
passed over the network or they just go on. By introducing a generalized
configurable debug service the various ways of waiting on initialization
are cleaned up. The API defined for it also allows for engine-specific
initialization.
Change-Id: Id5685ef17d2a7eb1222629f7caa5ec53076d47b2
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
|
|\ \
| | |
| | |
| | | |
refs/staging/dev
|
| |\|
| | |
| | |
| | | |
Change-Id: If45606c96ef130588004598c560aa790373f0a78
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This reverts commit 08582091059d8ba805487eae5277bc9abdc3d4de.
Task-number: QTBUG-35344
Conflicts:
tests/auto/auto.pro
Change-Id: I9babc27c4c37900dd6603bd603e6bcf9e7f3d61f
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Liang Qi <liang.qi@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This reverts commit 8ed38c70fd29680f7981d9d23581d46cf32139d0.
Task-number: QTBUG-35344
Conflicts:
tests/auto/auto.pro
tests/auto/qml/debugger/debugger.pro
Change-Id: I57bec5d7ede879e24ba2b0618333b4e4110c41df
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Liang Qi <liang.qi@digia.com>
|