aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2018-09-0147-270/+306
|\ | | | | | | Change-Id: I6e9b5fbf50da24cae9e555723a5f1d8365d4a2f3
| * Remove dubious API features and clutter from Pointer Handler headersShawn Rutledge2018-08-314-5/+0
| | | | | | | | | | Change-Id: Ica67409f3138828d8a33fef2d67ad799a5a063f5 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
| * Remove the PinchHandler.pinchOrigin property for nowShawn Rutledge2018-08-312-38/+1
| | | | | | | | | | | | | | | | | | We didn't get around to implementing the appropriate behaviors. We could add it back later if we figure out how. Task-number: QTBUG-70292 Change-Id: Idca62b249f555d5e44bb97430ae0222bf314a66b Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
| * Remove Q_INVOKABLE from DragHandler.enforceConstraints()Shawn Rutledge2018-08-311-1/+1
| | | | | | | | | | | | | | We don't have any current use case for calling this method from QML. Change-Id: I72df37645c93475684fe8d0bc2e5a0582dcecad4 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
| * Rename QQEventPoint::GrabState to GrabTransitionShawn Rutledge2018-08-3111-28/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This enum represents a transient state transition, and only sometimes corresponds to the current grab state of an event point. For example after exclusive grab has been canceled, the current state is that there is no exclusive grab: it doesn't make sense to remember that the way it got there was by cancellation. There was an idea to add a grabState property, but not all values would be eligible. An EventPoint can be exclusively grabbed by one item or handler at a time, and by multiple passive grabbers at the same time, so even a Q_FLAG would not fully express all possible states. Besides, there is already an exclusiveGrabber property, and we could add a passiveGrabbers list property if we had a real need. So adding a grabState property seems unlikely, and therefore is not a good enough reason to keep this enum named as GrabState. Change-Id: Ie37742b4bd431a7e51910d79a7223fba9a6bd848 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
| * Another try at properly fixing IdentifierTable::sweep()Lars Knoll2018-08-311-46/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sweeping the table in place is extremely tricky due to possible holes and possible interleaving of identifiers with different keys. So do a straightforward algorithm instead, where we malloc a new table and insert all marked identifiers into that new table. Change-Id: Id34f62f35408a505857d57d2e7e4811b335d5998 Task-number: QTBUG-70205 Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io> Reviewed-by: Liang Qi <liang.qi@qt.io>
| * Throw type error if this is uninitialized when accessing superLars Knoll2018-08-311-0/+5
| | | | | | | | | | Change-Id: I028e198d46a2ec1c55f5dd4cce8dd868ed3e8202 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Fix thisObject when calling super propertiesLars Knoll2018-08-3110-4/+72
| | | | | | | | | | Change-Id: Ia520d43ea2c29c16cfc8ffc86a32187a78848502 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Fix super property accessLars Knoll2018-08-317-43/+80
| | | | | | | | | | | | | | | | | | Super properties work in a rather special way by accessing a 'home object' on the function object, and reading from it's prototype. Change-Id: I666334c9c27048c6c2ba6770dd8c9f56aecbee14 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Fix internalPutLars Knoll2018-08-311-75/+30
| | | | | | | | | | | | | | Fix spec compliancy of the put() method. Change-Id: Iab4f4040cc7308d0c8d9f2eed239af98b7c2eee2 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Correctly create methods for functions in object literalsLars Knoll2018-08-316-14/+48
| | | | | | | | | | | | | | | | | | | | Methods behave slightly different than normal functions as they have a home object and define how super property access is being done. To implement this correctly, we need to create these methods during object initialization time. Change-Id: Ib3f670c8790b882c6472de786938ca4f0b73f66f Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * MultiPointTouchArea: capture the mouse position on pressShawn Rutledge2018-08-301-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QTouchEvent::TouchPoint already remembers the start position from where the touch point was pressed. But when MPTA handles mouse events, it populates a synthetic touchpoint (the _mouseQpaTouchPoint variable). So to be fully consistent, it needs to store the mouse press position there too. Since this was not done, gestureStarted was emitted for almost any mouse movement (while pressed) because the stored startPos was 0,0, so MPTA would nearly always think the drag threshold had already been exceeded. In a QML onGestureStarted callback gesture.touchPoints[0].startX and startY were always zero too. Amends fe2de633f9b9454ec8a9c2a5874ad85f49d8d54d Fixes: QTBUG-70258 Change-Id: I5bc0abbe0cb52c1aa02d60a76c52ec26bb0683e6 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
| * V4: Add JIT kind to disassemblyErik Verbruggen2018-08-306-20/+20
| | | | | | | | | | Change-Id: I6dd1cd6f795a93a186e84f5ab1c606f7e23fb85d Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * qmlplugindump: Automatically use most up to date QtQuick versionKai Koehne2018-08-305-7/+5
| | | | | | | | | | | | | | | | QtQuick / QML minor version is nowadays the same as the Qt minor version. Change-Id: I4d7ef0b101320ee2179746c95093b62e063adba2 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Fix another bug in sweeping the identifier hash tableSimon Hausmann2018-08-301-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When an identifier overflows into the next bucket and its original spot becomes free, it is not only important to move that identifier into the now free spot. It is also necessary to shift the entries in the bucket overflowed into one entry to the left, to avoid an accidental terminator in the bucket. Such a terminator can make entire strings disappear from the hash table. That in turn may result in repeated insertion of strings that are otherwise identical, leading to internalClass lookups failing (despite the members existing) after a GC. Task-number: QTBUG-70205 Change-Id: Idf931287896a8ff730af98d36de703157e9792d3 Reviewed-by: Liang Qi <liang.qi@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2018-08-3043-153/+731
|\| | | | | | | Change-Id: If28421324777e5165f63c9f856cb6d133709c799
| * A reference to a super property can have side effectsLars Knoll2018-08-291-0/+1
| | | | | | | | | | Change-Id: Iaf33e4ac3412f8b2e02058f77193938690733f24 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Throw a type error if the super class is not a constructorLars Knoll2018-08-291-5/+6
| | | | | | | | | | Change-Id: I1cf83c73ea1b628f44845e1b9ea324d3e069c344 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Pass the correct new.target to super callsLars Knoll2018-08-291-4/+3
| | | | | | | | | | Change-Id: I648e173a156ffd47564192ecdcb81a03281fdcb4 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Initialize this to empty for derived constructorsLars Knoll2018-08-298-20/+23
| | | | | | | | | | | | | | | | | | As per spec, this should be uninitialized in derived constructors, and the base constructor needs to get called exactly once. Change-Id: If31804e58d7ba62efde8fbf6cd852674f8da4495 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Fix TDZ check for referencesLars Knoll2018-08-292-5/+24
| | | | | | | | | | | | | | | | | | | | So far we've not been doing the TDZ check for expressions such as x.name, a[x] and super[x] correctly. Fix this by adding a second boolean that states whether a tdz check for the subscript is required and use the first boolean to check the base of these references. Change-Id: I658cd5b69f001fbdc714f252914ad9749734f027 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Remove a bogus Q_UNIMPLEMENTED()Lars Knoll2018-08-291-1/+0
| | | | | | | | | | Change-Id: I6d085ecb1a57d445a40300337f77917302a9084d Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Fix remaining test failures for Array.isArrayLars Knoll2018-08-291-3/+5
| | | | | | | | | | Change-Id: I6258cae2933392c260ce4c4d7f90a2838d91cd51 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Fix handling of uninitialized exports when iterating module namespace objectsSimon Hausmann2018-08-293-6/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We must throw reference errors when the iteration reaches an uninitialized export. As with other module namespace cases we don't know at the call site that we're dealing with this special object, we must throw the reference error inside the iterator. That brings in the additional complexity that we can use the iterator to get a list of all names (should not throw) as well as to retrieve the values (throw on uninit). We make the distinction inside the ::next() function based on whether a Property pointer was provided, which requires slightly different variants inside the ObjectIterator that uses the internal iterator. On the upside this avoids value copying when they would be unused otherwise. Change-Id: Iac45d0ed39bea861ea92db875821225c0feb9391 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * Fix dead temporal zone checking in module namespacesSimon Hausmann2018-08-295-5/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Accessing uninitialized imports through the module namespace object should throw a reference error. Unfortunately we can't do this check on the caller side of the namespace object get, as we have no idea that we're talking to one. Therefore we must throw in the vtable methods. When checking via Reflect.has(), the properties should be reported as existing. This means providing a virtual hasProperty() in the module as well as changing Reflect::method_has to use the vtable method instead of doing a get (which would throw). Change-Id: Ic0ec51de3832c6a67044fc8f689ac534f349c1b6 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * Fix scoping of the default exportSimon Hausmann2018-08-291-8/+9
| | | | | | | | | | | | | | | | Default export variables should follow lexical scope and live therefore in the dead temporal zone (15.2.3.8). Change-Id: I959a1dc1cdd430825d6d207138efaef23394bd04 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * Optimize access to lexically scoped variablesSimon Hausmann2018-08-295-13/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | If we access a lexically scoped variable after the initializer, then we know it's either initialized or at least undefined, so we don't need to do the TDZ check anymore. The ES tests ensure that we don't optimize too much and the newly revived tst_v4misc test ensures that we do not generate the TDZ check instruction for certain scenarios. Change-Id: I6706d1feb22217f323124ee698ebadb70324693b Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * Fix most issues with Map.prototype.forEachLars Knoll2018-08-282-4/+4
| | | | | | | | | | Change-Id: I730f00c6fc2a5f2275b92b09994f6e27dc6a3da4 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Fix Map and WeakMap constructorLars Knoll2018-08-282-17/+27
| | | | | | | | | | Change-Id: I52c31a006b80430ea949eaac246301e51a430f89 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Add support for WeakSetLars Knoll2018-08-287-16/+151
| | | | | | | | | | Change-Id: I5cee2bf0c6a45ad2c14b52e1a4fc5ef015e01042 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Implement support for WeakMapLars Knoll2018-08-2810-41/+217
| | | | | | | | | | Change-Id: Id23e80fe5918ba7dc897568123bf3db4d35e9092 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Implement the dead temporal zoneSimon Hausmann2018-08-2820-19/+189
| | | | | | | | | | | | | | | | | | | | | | | | | | | | With const and let it is possible to access the declared member before initialization. This is expected to throw a type reference error at run-time. We initialize such variables with the empty value when entering their scope and check upon access for that. For locals we place the lexically scoped variables at the end. For register allocated lexical variables we group them into one batch and remember the index/size. Change-Id: Icb493ee0de0525bb682e1bc58981a4dfd33f750e Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * Fix crash when running with aggressive gcSimon Hausmann2018-08-281-0/+1
| | | | | | | | | | | | | | | | | | | | The CallData is allocated on the JS stack explicitly uninitialized. So it's important to initialize all fields (including the new newTarget) to avoid dangling pointers. Task-number: QTBUG-70205 Change-Id: Id3511fa5e32a75b3cb16f39cc0805dc2ebf42f71 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * Fix byte code debug output for registers and argsSimon Hausmann2018-08-281-1/+1
| | | | | | | | | | | | | | | | Since the introduction of the instruction dump code, the members in CallData has grown (newTarget, etc.). Change-Id: Ief456eb8c6d9f41ffc06b0a7e244dd1feb80526d Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2018-08-2828-1297/+2829
|\| | | | | | | Change-Id: I88104e7ab71abb9f147f0562414e546ed8e23931
| * QQuickTableView: handle RebuildOption::ViewportOnlyRichard Moe Gustavsen2018-08-272-13/+32
| | | | | | | | | | | | | | | | | | | | | | When rebuildOptions have ViewportOnly set, we now let the top-left item be the same as before (and at the same position as before), and start rebuilding from there. This will greatly increase performance if e.g the table has been flicked far down to row 1000 when the rebuild needs to happen (e.g because the model got a new row). Change-Id: I30beb34a7beccedff8dc406f9a524119a2893eb3 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| * QQuickTableView: rename to scheduleRebuildTable, and add rebuild optionsRichard Moe Gustavsen2018-08-272-14/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rebuilding the table from scratch whenever e.g the model adds a new row or column is slow and unnecessary. What happens is that we always rebuild the table from the origin, and continue load and unload edges until the loaded rows and columns overlaps with the viewport. This can be slow if you are e.g at row 1000 when you start to rebuild. Instead we can just start from current position in the viewport. So add some options to control what needs to be done. Note: This patch doesn't change any logic as it stands. But the options will be used in a subsequent patch. Change-Id: I9705dbae3a2c04e7e7189ec453756358a1b9fc14 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| * Remove very dead codeErik Verbruggen2018-08-271-3/+0
| | | | | | | | | | Change-Id: Ia510efa990b58d19eca635433187d3ffbc6e003a Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
| * Bump private API versions after typed array API changesSimon Hausmann2018-08-271-1/+1
| | | | | | | | | | | | Task-number: QTBUG-70187 Change-Id: I94ef76bf2f5a2594bf6ea551864acfb0ccb48838 Reviewed-by: Liang Qi <liang.qi@qt.io>
| * Merge "Merge remote-tracking branch 'origin/5.11' into 5.12" into ↵Simon Hausmann2018-08-275-6/+626
| |\ | | | | | | | | | refs/staging/5.12
| | * Merge remote-tracking branch 'origin/5.11' into 5.12Simon Hausmann2018-08-275-6/+626
| | |\ | | | | | | | | | | | | Change-Id: I850a8e9c99bb10216fa315cca693d78a82b2b5b2
| | | * Fix quadratic behavior when allocating very large objectsLars Knoll2018-08-211-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MemberData would get reallocated to exactly the required new size. In case there's one large object dominating things, this would then trigger a GC run on every reallocation, causing a quadratic runtime behaviour due to marking and sweeping that memory. Task-number: QTBUG-69475 Change-Id: I1834cbe21412ce3409cfd47810af1f73c5a29b46 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| | | * Doc: add list of SVG colors to color QML Basic Type pageMitch Curtis2018-08-093-2/+605
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The page that we link to used to contain a list of the colors, but it doesn't anymore, so we'll add our own. Change-Id: I1160e3de7f4ab0ead727b0261edafda30cce3270 Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Martin Smith <martin.smith@qt.io>
| | | * Doc: Rename section titles to avoid auto-linker issuesPaul Wicking2018-08-071-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The section titles cause links that should target QML types to link to the page sections. Renaming the section titles to link correctly. Task-number: QTBUG-59445 Change-Id: Idde600c87621d270c4e25a5dac0a55fbfc7a96ef Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * | | QQuickTableView: only preload to pool if reuseItems is trueRichard Moe Gustavsen2018-08-271-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We move preloaded items into the pool. But this is pointless if we're not reusing items in the first place. Change-Id: I2274b0d29c98162da5fa4859c810c42093875836 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| * | | V4: Split PlatformAssemblerCommon (and base classes) in its own fileErik Verbruggen2018-08-278-1088/+1406
| |/ / | | | | | | | | | | | | | | | | | | | | | This makes it easier to re-use them later on, without inheriting all extra stuff that the baseline JIT needs. Change-Id: I9368b16017b8b9d99f8c005a5b47ec9f9ed09fb0 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | Implement most remaining methods of AtomicsLars Knoll2018-08-263-16/+124
| | | | | | | | | | | | | | | | | | | | | The only missing ones now are wait() and wake(). Change-Id: I2c0ee78cdd8a249e0e841861dd4b76c4665b0ae0 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | Partial Atomics supportLars Knoll2018-08-266-15/+386
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement support for basic atomic operations on SharedArrayBuffers. Half of the methods still need a proper implementation. Change-Id: Ia88da358e0c2ae6d28e9bcc1feb8980b6f51a812 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | Clean up the code handling reads and writes into typed arraysLars Knoll2018-08-253-140/+98
| | | | | | | | | | | | | | | | | | | | | This is a preparation for supporting atomic operations on Typed arrays. Change-Id: I91d00f3aee3f35fc22e74ee010ed2cbec2d46aae Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | Implement support for SharedArrayBufferLars Knoll2018-08-257-43/+164
| | | | | | | | | | | | | | | | | | | | | | | | We'll still need to hook this up with Worker threads to become useful. Change-Id: Iedae7307edd76368aeba163731856ebe9b32c6b6 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>