aboutsummaryrefslogtreecommitdiffstats
path: root/src/3rdparty/masm/yarr
Commit message (Collapse)AuthorAgeFilesLines
* Yarr: Add Q_FALLTHROUGH to silence GCC 7 warningPeter Varga2018-03-271-0/+1
| | | | | Change-Id: I258b5ea84a96f5269b241c9b0cce53202c19c61a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Fix typosJarek Kobus2018-02-141-1/+1
| | | | | Change-Id: I8afc27444e5c92b7c6aed3ff987dffb135bdfe46 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Yarr: Add Q_FALLTHROUGH to fallthroughs detected by GCC 7Friedemann Kleint2017-06-231-4/+5
| | | | | Change-Id: I99dcca18155eeef1fdaec8d7693a6a415a68b55b Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* YarrOp: Initialize membersFriedemann Kleint2017-06-231-4/+4
| | | | | | | | | | | | Fix GCC 7 warnings: 3rdparty\masm\yarr\YarrJIT.cpp:455:12: error: '<anonymous>.JSC::Yarr::YarrGenerator<(JSC::Yarr::YarrJITCompileMode)1>::YarrOp::m_alternative' may be used uninitialized in this function [-Werror=maybe-uninitialized] 3rdparty\masm\yarr\YarrJIT.cpp:455:12: error: '<anonymous>.JSC::Yarr::YarrGenerator<(JSC::Yarr::YarrJITCompileMode)1>::YarrOp::m_previousOp' may be used uninitialized in this function [-Werror=maybe-uninitialized] 3rdparty\masm\yarr\YarrJIT.cpp:455:12: error: '<anonymous>.JSC::Yarr::YarrGenerator<(JSC::Yarr::YarrJITCompileMode)1>::YarrOp::m_nextOp' may be used uninitialized in this function [-Werror=maybe-uninitialized] 3rdparty\masm\yarr\YarrJIT.cpp:455:12: error: '<anonymous>.JSC::Yarr::YarrGenerator<(JSC::Yarr::YarrJITCompileMode)1>::YarrOp::m_term' may be used uninitialized in this function [-Werror=maybe-uninitialized] Task-number: QTBUG-61558 Change-Id: I661f5455dd4cd57797d09edde9e097e17fb98dae Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Changed JSC::MacroAssembler to be a templateSimon Hausmann2017-01-281-3/+3
| | | | | Change-Id: If6edb7ed0fac51e93b218eb45c01274a87b9e904 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Make JSC::LinkBuffer a templateSimon Hausmann2017-01-281-2/+2
| | | | | | | Unfortunately the link buffer depends on target platform types. Change-Id: Idb49e72e8e864c709293a7b315dff948bc58e62a Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* V4: Align stack on 16 byte boundaries in the YarrJITErik Verbruggen2016-08-091-2/+20
| | | | | | | | This is the required alignment for Aarch64, and a number of other ABIs prefer this size too when calling into system libraries. Change-Id: Ie38cabb77cf83543b915553e69c5c5728a67503b Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* V4: add Aarch64/ARM64 support.Erik Verbruggen2016-01-191-0/+11
| | | | | | | | | | This uses the JavaScriptCore assembler rev. 195098. It is tested on iOS (for which it is disabled, as it only allows marking pages as executable when running from Xcode). Testing on Linux will be done when hardware arrives. Change-Id: I650e15fec03c27d4b326a2d70863a89b85cfc5c3 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* V4 JIT: ARM: move registers around.Erik Verbruggen2015-01-121-5/+3
| | | | | | | | | | | | | | | | In 6572d4e50d73ac60a8974d07de74c27a7f99ebef we moved the addressTempRegister to r10, and in d8b276a59402cbbe6d070ba38805350e7f3dd8a1 we made sure that the YarrJIT saves it too. JSC solved this by moving it to r6, which is already saved by the YarrJIT. To make a future update of the assembler easier, we also move it to r6. This requires that we move our scratch register too. But, because it is used a lot, we don't want it above r7 for Thumb2 reasons. Therefore, we move the engine to r10, and the scratch register to r5. Change-Id: I35be539940d9fe80971973cfa7f3a8dab2196a1e Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* V4 Yarr JIT: push/pop addressTempRegister.Erik Verbruggen2014-06-051-0/+2
| | | | | | | | | | | Change 6572d4e50d73ac60a8974d07de74c27a7f99ebef moved the addressTempRegister from r3 to r10, so that calculated calls would not overwrite the fourth argument of a call. However, JSC's Yarr JIT might also use it for certain loads, so it also needs to save r10. Task-number: QTBUG-39289 Change-Id: I0a4e725b6b11ab5e772330662049668bed009c05 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Fix MSVC2012 compiler warnings in disabled code.Erik Verbruggen2014-03-071-2/+7
| | | | | | | ... that should soon get enabled. Change-Id: I2f8393cab5e99a7f5d3c7df6af6385fefd2d4dd1 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Fix more MSVC2012 compiler warnings.Erik Verbruggen2014-03-072-16/+32
| | | | | | | All are conversions from size_t to int or to unsigned. Change-Id: Ic94c938dcad6d50a32dd6ec62da2341869cf994d Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* wince: Build fix, disable the assembler when JIT is disabled.Sérgio Martins2013-08-291-2/+2
| | | | | Change-Id: Ibd22f27401c3751bc64749c6f1eea3aba57d66eb Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Fix another failing assertion with MSVC's STL in debug modeSimon Hausmann2013-06-271-1/+1
| | | | | | | Try to avoid derefencing an empty vector, even when the result is not used. Change-Id: I8a8d8363f42dc3cea8ee702dc8555494b67a165d Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Fix failing assertion with MSVC in debug builds in various testsSimon Hausmann2013-06-261-1/+1
| | | | | | | | | | | | | | We re-implemented Vector::begin() and end() by means of dereferencing the return value from std::begin() and then taking the address of it. That causes a failing assertion in MSVC's STL (rightly so!). We did this only to avoid modifying the original YarrJIT.cpp code. This patch instead simplifies our Vector.h stub again and just fixes the two small occurrences in YarrJIT.cpp where it expects vector->begin() to return a pointer instead of an iterator. Change-Id: I2ad137be91ea969ccb310333dffa8d98e5825f8f Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* WTF/JSC update to r148273Simon Hausmann2013-04-127-142/+153
| | | | | | | | | | | | | This brings in various bug fixes in the ARM and MIPS assemblers as well as a Yarr crash fix and performance fix. This change doesn't compile as-is, but the next change will apply the modifications necessary to compile. That'll make future updates easier as it allows for cherry-picking because the modifications are usually always the same. Change-Id: Iac32f62c71e8ff908deb41f28f12fbc98c0823e1 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Say hello to QtV4 module.Jędrzej Nowacki2013-01-3014-0/+8330
Change-Id: I507cd5707b7d7223a0d901cf939896fb2649b684 Reviewed-by: Lars Knoll <lars.knoll@digia.com>