aboutsummaryrefslogtreecommitdiffstats
path: root/src/3rdparty/masm/wtf
Commit message (Collapse)AuthorAgeFilesLines
* Fix typo: rename occured to occurredTian Shilin2025-07-311-1/+1
| | | | | | | | The function name had a spelling error. This change improves code readability and follows Qt naming conventions. Change-Id: Ic0646ea679bf3619691b6a581ba5ef589e7827bd Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
* masm: fix -Wundef warningsGiuseppe D'Angelo2025-02-212-9/+9
| | | | | | | | | | | | Change the compiler/platform detection macros to check whether a macro is defined, before testing its value. See also the discussion at https://bugs.webkit.org/show_bug.cgi?id=167643 https://codereview.qt-project.org/c/qt/qtbase/+/618094 Task-number: QTBUG-132900 Change-Id: Ic3cc02b23e034cc7622e899b4acc381166a9ec95 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Set allocated memory to 0 on VxWorksKarim Pinter2025-02-191-0/+5
| | | | | | | | | | | | | | When VxWorks is configured with RTP_MEM_FILL false for performance reasons, then it is not filling the allocated memory to 0, causing the QML engine to crash, because it is expecting that it is filled with 0s. This change handles this scenario by calling memset 0 on the allocated memory. Qt needs to be configured with QT_RTP_MEM_FILL define. Task-number: QTBUG-133305 Pick-to: 6.8 6.9 Change-Id: I885c3cad7d81a11b8a0c125ddc098751b9643392 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Use MAP_JIT on all Apple platformsUlf Hermann2024-12-171-5/+4
| | | | | | | | | | | | ... and make it actually compile. ... and set the flag for JIT pages being prepared. We are clever enough not to make them executable right away. Pick-to: 6.9 6.8 Task-number: QTBUG-131957 Change-Id: I07dc6a9c8ec7d0881d73fc5bd44a6059f66dd2eb Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* QtQml: Revert to old executable memory detection for macOS on x86Ulf Hermann2024-12-171-0/+21
| | | | | | | | | | | | | | | Since we cannot figure out what exactly has to be done to prevent the JIT from crashing, we perform a partial revert of commit 912af1e8b4c1f62802a3e0a4b428bb4e9f4d2c90, only for this platform. The bug fixed by the original change is specific to linux. Therefore this doesn't cause any real harm. Pick-to: 6.9 6.8 Fixes: QTBUG-131957 Change-Id: Ic3baf32aae1f0f2feb9abc34b9f43a5db867165b Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* masm: On canAllocateExecutableMemory(), test for actual usage patternUlf Hermann2024-10-241-3/+22
| | | | | | | | | | | | | We want memfd-backed memory that we first write and then make executable using mprotect. This may be prohibited even if we can get a simple anonymous read/write/execute page. Pick-to: 6.8 Fixes: QTBUG-122102 Change-Id: Ic794a034d211a3a6518c823186f9953967b52ad0 Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* OSAllocatorPosix.cpp: Don't rely on transitive includesFabian Kosmale2024-06-261-0/+1
| | | | | | Change-Id: Ie65ac757ecfd016d818395670c7d021e0e989ebb Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* masm: Remove unnecessary MADV_DONTNEED on LinuxAntonio Napolitano2024-01-301-2/+0
| | | | | | | | | | | | Calling madvise(MADV_DONTNEED) immediately after creating a new mapping is redundant, as mmap already returns an uncommitted and zero-filled memory. Note that even if a memfd is used, it is already zeroed out by ftruncate. Change-Id: I326f6b5be20bdc5658b704e35a73b745f00c4272 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* masm: Don't crash on failed MADV_DONTNEED on LinuxAntonio Napolitano2024-01-301-6/+5
| | | | | | | | | | | | | The application could call mlockall(MCL_CURRENT|MCL_FUTURE) to lock all its memory for performance reasons, causing the madvise call to fail. There's no need to crash. Instead, manually zero-out the memory when decommitting. Fixes: QTBUG-120450 Pick-to: 5.15 6.2 6.5 6.6 6.7 Change-Id: I6f1a8968853cc5e61561371bd2a435a686eaf0e4 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Update 3rd party directories to SPDX-License-RefLucie Gérard2024-01-101-39/+3
| | | | | | | | Task-number: QTBUG-120262 Pick-to: 6.6 6.7 Change-Id: I57c610421e9d499175856ff6f9520710b18c8a3c Signed-off-by: Lucie Gérard <lucie.gerard@qt.io> Reviewed-by: Kai Köhne <kai.koehne@qt.io>
* Undefine CPU definition as it is already defined in VxWorks sourcesTomasz Kozlowski2023-09-111-0/+3
| | | | | | | | | Change made to ensure that no previous definition interferes with another definition, which occurs in VxWorks VSB Task-number: QTBUG-115777 Change-Id: I6593a4d8059725288b48c55316389fea6ec71591 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* vxworks: mark vxworks as unixŁukasz Matysiak2023-08-311-0/+6
| | | | | | | | | | | this fixes issues related to undeclared identifier systemPageSize systemPageSize is defined in PageBlock.cpp and is guarded by an if that checks if the OS is unix or windows Task-number: QTBUG-115777 Change-Id: I2c71e62b147d9c0d8a64c718a8f8555333feaf3a Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Support building for Raspberry Pi 1 or ZeroDimitrios Apostolou2023-04-171-0/+1
| | | | | | | | | | | | | | | | | | | | Cross-compiling (using Clang-13) for Raspberry Pi OS on Raspberry Pi 1 and Zero, requires adding "-target arm-linux-gnueabihf" to the compiler flags, which defines macro __ARM_ARCH_6KZ__ to detect for armv6. Fixes error: qtdeclarative/src/qml/../3rdparty/masm/wtf/Platform.h:312:6: error: "Not supported ARM architecture" More details: it turns out that the already checked macro __ARM_ARCH_6ZK__ is a typo with significance because older versions of GCC only had this. On the other hand __ARM_ARCH_6KZ__ (that this patch checks for) is the correct spelling, and it's the only one defined by Clang. Newer versions of GCC define both. Pick-to: 6.5 6.4 6.2 Change-Id: I60532bfcaa62677f88ed2cff05d872a14c4c2111 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Revert "masm: Treat Android as generic Posix regarding mmap and friends"Ulf Hermann2022-11-251-16/+7
| | | | | | | | | | | | | | | | | This reverts commit ffecc122d785de9c4c5defd8724526b8dd4982dc. It turns out that madvise() only fails when given MADV_WILLNEED as argument on the affected devices. MADV_WILLNEED is indeed optional. Since commit 2034e10c9378364ecc7aa1af27505562d86688de we do not crash on a failed MADV_WILLNEED anymore. Therefore, we can re-enable the linux code path for android. Pick-to: 6.4 6.2 5.15 Task-number: QTBUG-107774 Task-number: QTBUG-106864 Task-number: QTBUG-106269 Change-Id: If67a38e4fc206bd5d5ed0ef8bf66ededd09d8f59 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Do not crash if madvise() fails on MADV_WILLNEEDUlf Hermann2022-11-081-1/+1
| | | | | | | | | | | | MADV_WILLNEED is only advisory. The kernel may ignore it anyway. Any subsequent access to the pages in question will trigger them to be re-populated. Pick-to: 6.4 6.2 5.15 Fixes: QTBUG-107774 Change-Id: I8d70003502fdeb3e53c169b28ea6826801d47c74 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* masm: Treat Android as generic Posix regarding mmap and friendsUlf Hermann2022-10-061-7/+16
| | | | | | | | | | Apparently we cannot rely on madvise() to work as we expect it on linux. Pick-to: 6.4 6.2 5.15 Fixes: QTBUG-106864 Fixes: QTBUG-106269 Change-Id: Ie488ad788386c1a8c493d6bba632787f5282baaa Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* QML: Protect against EAGAIN when calling madvise on linuxUlf Hermann2022-03-251-3/+15
| | | | | | | | | | | Apparently it can fail with EAGAIN. We rely on madvise to zero out the memory. Therefore loop until it succeeds like we do on other OS. Pick-to: 5.15 6.2 6.3 Fixes: QTBUG-100431 Change-Id: I9819f8d82a251e222b0b500991584d40e641b672 Reviewed-by: Andrei Golubev <andrei.golubev@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* QNX: Fix compiler warnings about unused parametersPasi Petäjäjärvi2022-03-051-0/+3
| | | | | | | | | | | | | warning: unused parameter 'usage' [-Wunused-parameter] warning: unused parameter 'writable' [-Wunused-parameter] warning: unused parameter 'executable' [-Wunused-parameter] warning: unused parameter 'lineCount' [-Wunused-parameter] Pick-to: 6.2 6.3 Fixes: QTBUG-101383 Change-Id: I22089b1aeea927468e61769dcbbc8e363b9d734e Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Avoid -Wignored-attributes warning with clangFabian Kosmale2021-11-021-1/+5
| | | | | | | | | | | | The WTF macro only really works for gcc, so do not enable it for clang. Clang expects the attribute to come before the function; however, as WTF is (originally) third-party code, we avoid extensive modifications. Task-number: QTBUG-91163 Change-Id: Ic555c6721d2c4232a7d7bd84d53cdf6ad6cea86b Reviewed-by: Andrei Golubev <andrei.golubev@qt.io> Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Replace all includes of windows.h with qt_windows.hUlf Hermann2021-10-254-4/+4
| | | | | | | We don't want min and max to be macros. Change-Id: Ifa79eaecf00c9f8b9c61494aa9d883eebfdabc65 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Remove unneeded dlfcn.h in OSAllocatorPosix.cppPierre-Yves Siret2021-07-021-1/+0
| | | | | | | | | Commit ef8a27544ac47b0ec2fc8c058d32c5b22650b359 removed the dependency on libdl in the code but did not remove the corresponding include Change-Id: I140fc02882af01eef2c8d714969f40e05371dc79 Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
* MASM: Put pageSize into an inline namespaceFabian Kosmale2021-05-072-0/+7
| | | | | | | | | | | Apple errorneously detects pagesize as belonging to their private API. Avoid this by putting the functions into an inline namespace to change their mangling. Fixes: QTBUG-69577 Pick-to: 6.1 5.15 5.12 Change-Id: I061febdc6f961fa8a6e1d43de4154a8e26b04f27 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Remove winrtOliver Wolff2020-06-041-125/+0
| | | | | | | | | Task-number: QTBUG-84434 Change-Id: If8f57f00726868a3540c877d07fca761618e4f08 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Fix -Wdeprecated-copy warningsFabian Kosmale2020-05-282-8/+3
| | | | | | | | Mostly by avoiding custom functions when the compiler generated ones work just fine Change-Id: If8152fd24c9084bd85be3741fc218709e50fc375 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Fix Clang 10 warning about converting ULLONG_MAX to doubleThiago Macieira2020-05-051-1/+1
| | | | | | | | | | | | | The compiler must convert ULLONG_MAX to double before adding 1, so this expression was wrong. MathExtras.h:402:43: error: implicit conversion from 'unsigned long long' to 'double' changes value from 18446744073709551615 to 18446744073709551616 [-Werror,-Wimplicit-int-float-conversion] Task-number: QTBUG-83666 Pick-To: 5.15 Change-Id: I99ab0f318b1c43b89888fffd160b4a95a258423b Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Get rid of Q_OPENGL_ES* macrosEskil Abrahamsen Blomfeldt2020-04-171-3/+0
| | | | | | | | | | | | | | | | These macros are no longer defined, and we will use QT_CONFIG instead, since that is more robust (it checks against misspellings). This also removes some dead code from the WebKit code in Qt QML. The condition never resolved to true in our case since Qt QML does not depend on Qt GUI, so even before the macro would not be set. This is just a leftover anyway, as the graphical parts are not used in QML. Task-number: QTBUG-83467 Change-Id: I2c4b7f928538cc75ce408deb357f8fd92a84d8e4 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Remove dladdr usage from masmTasuku Suzuki2019-07-081-13/+1
| | | | | | | string literal "QtQml" is entirely enough for the name here Change-Id: I62c43f3535998e358d7012b5a455f4e01bb3f1a0 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* rtems: Add platform definitionMikhail Svetkin2019-06-281-0/+5
| | | | | Change-Id: Ifab0b23fbf35bd31061a28500fdfd69de1905b1c Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Enable back references in YarrUlf Hermann2019-04-181-0/+1
| | | | | | | | | | The new version of Yarr has them and using them could give us some performance benefits. Add the required load16 primitive for the ARM64 aseembler from webkit. Change-Id: Ief498a353f9804c6b0f4ac091fb3707ffcb9f8cd Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
* masm: Don't call fclose(nullptr) and initialize staticsUlf Hermann2018-11-141-1/+2
| | | | | | | Otherwise our disassembler crashes on QV4_SHOW_ASM. Change-Id: I63b20c0932452fe852773f91ebecaa7f31dd040d Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
* Fix compilation in C++11 modeLars Knoll2018-10-151-0/+1
| | | | | | | | std::make_unique() doesn't exist in C++11, so add a polyfill. Task-number: QTBUG-71010 Change-Id: I6f1f32447be6fb7411c66fa2c986df5bf4346ee2 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Merge remote-tracking branch 'origin/5.11' into 5.12Liang Qi2018-10-012-5/+9
|\ | | | | | | | | | | | | Conflicts: src/quick/items/qquickevents_p_p.h Change-Id: I8c699aeb46903e2ea80a97a346cb5af460859a98
| * Fix Integrity OS allocator memory attributesJanne Koskinen2018-09-282-5/+9
| | | | | | | | | | | | | | | | | | Correctly set the attributes when allocation is extending to more than one page. Code spanning multiple pages can now be executed. Task-number: QTBUG-70350 Change-Id: I02af1add274f80befda5662d9670bfd2052c3c52 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Fix compile error with gcc7 in developer mode by defining FALLTHROUGHDavid Faure2018-09-071-1/+2
| | | | | | | | | | | | | | | | qtdeclarative/src/3rdparty/masm/yarr/YarrParser.h:355:24: error: this statement may fall through [-Werror=implicit-fallthrough=] FALLTHROUGH; Change-Id: I08321d30d54e192bcd3957a3fc7bf634220e9914 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Fix udis86 compilationErik Verbruggen2018-08-141-2/+2
| | | | | | | | | | | | | | | | It's compiled as a C file, so reinterpret_cast and nullptr cannot be used. Change-Id: I864a400f3752a4de51775a443a3049365bf2c5c1 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Enable the Yarr JIT for regexps with nested parenthesisLars Knoll2018-08-111-1/+1
| | | | | | | | | | Change-Id: I4e7a44ae2b5759febec6f83ab9fa85612515ab04 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Get rid of the SH4 macro assemblerLars Knoll2018-08-111-4/+0
| | | | | | | | | | | | | | | | It's not being used afaict, and is completely untested. If someone wants to use QML on SH4, the interpreter will have to do. Change-Id: I609c0646b19120abca5ad1ee893de9ec944d8dbf Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Update Yarr to the latest version from WebKitLars Knoll2018-08-106-13/+40
| | | | | | | | | | | | | | | | | | | | | | Updated Yarr to a to commit 4d2a53d60487cb1f8b2a9a1e9f684af336fd7d2c in WebKit. Adjusted the yarr code base to work with our older version of wtf and masm. Change-Id: I04b4593ece051e1d7aa087b87aa08c92595d1098 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Add comment about use of memfd for JIT memory allocations on AndroidSimon Hausmann2018-05-281-0/+3
| | | | | | | | | | | | | | | | | | | | | | Thiago requested a clarifying comment and he's right about that. Amends 4d9e329df599da96927d559931eabd0062bcf147 Change-Id: Ia9a34eb556da485d51a3d48412a98070fb397ab3 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | android-clang: Fix crash in V4 JITEskil Abrahamsen Blomfeldt2018-05-251-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We would pick an incompatible code path when compiling with clang, using an memfd when creating the memory that we later tried to make executable. This differed from how the memory was made in the canAllocateExecutableMemory() function, thus the problem was not detected ahead of time and we crashed in ExecutableAllocator.h when reaching a Q_UNREACHABLE. Amends 847dfa77e9b5d93f7dbb6b78665f1f86d4431a02. The fix is to simply disable this code on Android. Task-number: QTBUG-67464 Change-Id: Ibab753995d89d35d31340702ab4a3c4756adc332 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Merge remote-tracking branch 'origin/5.11' into devQt Forward Merge Bot2018-04-273-0/+21
|\| | | | | | | Change-Id: I280d42b8926c0cada1f35d322b80aaf2b0ef0a73
| * Enable JIT on INTEGRITY ARM64Kimmo Ollila2018-04-263-0/+21
| | | | | | | | | | | | | | | | This patch enables JIT on INTEGRITY s820Am and other ARM64 builds Change-Id: I2fa130f41a6c5bc6aa86bcfd5a01c2d431300561 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Nikola Velinov <nvelinov@ghs.com>
* | Merge remote-tracking branch 'origin/5.11' into devQt Forward Merge Bot2018-03-122-9/+9
|\| | | | | | | Change-Id: I6b2568337c09ff98850b4ecccccc9a8fc25064cd
| * Fix compiler warnings on gcc 7.2Lars Knoll2018-03-082-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | gcc 7.2 gives tons of warnings of the form: ./3rdparty/masm/wtf/Assertions.h:186:1: warning: this use of "defined" may not be portable [-Wexpansion-to-defined] In practice the marco expansion to (defined FOO && FOO) can safely be reduced to simply FOO, as #if FOO will expand to #if 0 if FOO is not defined. Change-Id: Idc1b09990725b99bbfa2c3bc949565254ea4174f Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Add a feature to mark mmap-allocated pages on Linux tooThiago Macieira2018-02-082-2/+86
|/ | | | | | | | | | | | | | | | | | | | | | We can't tag mmap anonymous segments, like Mach/Darwin can, but we can use a memfd (which can take a name) and then its name will show in /proc/PID/maps. For example, pmap shows for tst_qjsengine at an arbitrary point I stopped execution at: Address Kbytes RSS PSS Dirty Swap Mode Mapping 00007f9cc2db7000 2040 4 4 4 0 rw-p- /memfd:JSVMStack:/home/tjmaciei/obj/qt/qt5/qtbase/lib/libQt5Qml.t.so.5 (deleted) 00007f9cc2fb7000 4344 4 4 4 0 rw-p- /memfd:JSVMStack:/home/tjmaciei/obj/qt/qt5/qtbase/lib/libQt5Qml.t.so.5 (deleted) 00007f9cc33f6000 40 0 0 0 0 ---p- /memfd:JSGCHeap:/home/tjmaciei/obj/qt/qt5/qtbase/lib/libQt5Qml.t.so.5 (deleted) 00007f9cc3400000 128 64 64 64 0 rw-p- /memfd:JSGCHeap:/home/tjmaciei/obj/qt/qt5/qtbase/lib/libQt5Qml.t.so.5 (deleted) 00007f9cc3420000 3928 0 0 0 0 ---p- /memfd:JSGCHeap:/home/tjmaciei/obj/qt/qt5/qtbase/lib/libQt5Qml.t.so.5 (deleted) 00007f9cd099e000 4 4 4 4 0 rw-p- /memfd:unknown-usage:/home/tjmaciei/obj/qt/qt5/qtbase/lib/libQt5Qml.t.so.5 (deleted) 00007f9cd099f000 4 4 4 4 0 r-xp- /memfd:JITCode:/home/tjmaciei/obj/qt/qt5/qtbase/lib/libQt5Qml.t.so.5 (deleted) I suppose that before upstreaming this patch, we'd change the "QtQml" name prefix or remove it. Change-Id: I84e45059a888497fb55ffffd14d3ba60f9707051 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Enable JIT on QNX7 for ARM64Samuli Piippo2018-01-111-5/+0
| | | | | | | | | | | Remove abs(long) definition, since the #ifdef check no longer works with QNX7 and QNX < 6.6 is no longer supported. [ChangeLog][Qml] Enabled ARM64 JIT for QNX7 Change-Id: Ife02f3edb508eddaf15da65954496265366e232d Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Use __builtin_trap in GCC tooThiago Macieira2017-07-221-1/+1
| | | | | | | It has had that for longer than Clang has existed. Change-Id: I84e45059a888497fb55ffffd14d3c03160312537 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Fix compilation with the Intel compilerThiago Macieira2017-04-031-1/+1
| | | | | | | | | | | | The template function isn't necessary anymore. It actually breaks the build... ARM64Assembler.h(3275): error: no instance of function template "assertUnused" matches the argument list argument types are: (bool) Assertions.h(238): note: this candidate was rejected because arguments do not match Change-Id: I27b55fdf514247549455fffd14b1c6dfe92f2b88 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* winrt: Switch to always use VirtualAllocFromAppMaurice Kalinowski2017-02-281-52/+22
| | | | | | | | | | | | | | | | | | In latest versions of Windows, one can use VirtualAllocFromApp also without CodeGeneration flag being set. In conjunction with the new garbage collector that let to the situtation that the gc tried to reserve using VirtualAlloc, then the V4Engine constructor checked for JIT availability and disable JIT. This lead to VirtualAllocFromApp alloced memory could not be used anymore and caused to a crash latest when trying to commit or release. With WinRT 8.1 being removed, we do not need the mem_align version anymore and can stick with VirtualAllocFromApp/Free, with the JIT check only testing VirtualProtectFromApp. Task-number: QTBUG-59198 Change-Id: I57f2259c6a6298b8761d00d3abf2589c30de1f63 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* winrt: Fix application startupMaurice Kalinowski2017-02-281-6/+13
| | | | | | | | | | | | | | | commit() was never implemented for the WinRT version of the OS Allocator. This commits fixes this under following setup - you have to use x86 or x64 - you have to use the experimental JIT For any of the other situations followup patches will follow. Task-number: QTBUG-59198 Change-Id: Ie87012ab2879139e27d63ac4bb96fe46905f7dfd Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>