aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/compiler/qv4compilationunitmapper.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Fix QML data structure version checking for ahead-of-time generated filesSimon Hausmann2018-03-201-32/+0
| | | | | | | | | | | | | | | | | | We must also do version checking for QML and JS files that were compiled ahead of time and are embedded in resources. If the lookup for the original source code fails, then we must generate an appropriate error message. As an upside we get better error reporting when trying to load an empty file and Qt.include() now reports the error message in the statusText field. The error reporting for imported scripts was not changed as importing an empty script is (oddly) allowed. Task-number: QTBUG-66986 Change-Id: Ie0ef81af371a51ecf8c66ae7954d43f5cc6c12de Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
* Avoid an extra stat() on the source .qml file when loading cacheSimon Hausmann2017-03-221-6/+1
| | | | | | | | | For timestamp comparison it is not necessary to create another QFileInfo() object and call exists() and lastModified(), when we can pass that information through from the type loader. Change-Id: I225cd36e672f1f390bddb4e6ebfafa3fc1269795 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Fix time stamp related errors when loading AOT cachesSimon Hausmann2017-03-091-1/+1
| | | | | | | | | | | | | | Cache files created ahead of time do not require a timestamp match towards the source file. This is because we cannot guarantee that all transport mechanism from source to deployment preserve the timestamp at the required resolution (if at all) and the source may also not be present at all (obfuscated deployment chosen). For cache files created at run-time however we'll continue to require time stamp verification. Change-Id: Ia7cdf3d063edd5bb1e6985089f1a666c970a0bd0 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Prospective fix for invalidating caches for qml files from resourcesSimon Hausmann2016-08-171-1/+11
| | | | | | | | | The Qt resource system does not store any time stamps, so to validation purposes fall back to the time stamp of the application binary. Change-Id: Ia1c4d06a634ffdb2d4d281aae55e5ed34f044a3c Reviewed-by: J-P Nurmi <jpnurmi@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Enable disk caching on WindowsSimon Hausmann2016-08-101-40/+0
| | | | | | | | | | | | In order to enable the disk cache we need to replace the QFile::map usage with direct win32 file API calls in order to create executable file mappings. The files opened with QFile lack GENERIC_EXECUTE in the open flags. The code remains disabled on WinRT for now. Change-Id: I7d12267755a9de0344ac087b2ff67140531d9df0 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* Reduce file descriptor pressure on Unix platformsSimon Hausmann2016-08-091-21/+36
| | | | | | | | When opening cached compilation units, we can close the file descriptor after mmap'ing the contents, on Unix platforms. Change-Id: Ifb797a69743ebdc5e55db0b2e52b5cd66d071ca3 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Separate header verification and mmap handling of CompiledData::UnitSimon Hausmann2016-08-091-0/+114
...into a separate class. This will make it easier to specialize the handling for Posix and Windows platforms. Change-Id: I995538fa8239eac8586c96812086e50b4c19257f Reviewed-by: Lars Knoll <lars.knoll@qt.io>