summaryrefslogtreecommitdiff
path: root/src/3rdparty/masm/assembler/X86Assembler.h
Commit message (Collapse)AuthorAgeFilesLines
* masm: fix -Wdeprecated-enum-enum-conversionMarc Mutz2022-07-061-2/+2
| | | | | | | | | | | C++20 deprecated mixed-enum arithmetic. Cast one of the enums to int to suppress the warning. Pick-to: 6.4 6.3 6.2 5.15 Fixes: QTBUG-103943 Change-Id: I157be3368d6a0f201f3f4ddd7248479ee544d32d Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* masm: Repace bitwise | with || in bool expression in X86Assembler.hAndrei Golubev2022-03-091-1/+1
| | | | | | | | | | | | | | | Produces a warning with clang 15 on Ubuntu: /home/ag/work/qt5/qtdeclarative/src/qml/../3rdparty/masm/assembler/X86Assembler.h:2368:23: error: use of bitwise '|' with boolean operands [-Werror,-Wbitwise-instead-of-logical] emitRexIf(byteRegRequiresRex(reg)|byteRegRequiresRex(rm), reg, 0, rm); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Similar logic already uses || so this seems to be a typo. Pick-to: 6.3 6.2 Change-Id: Ie539600e28748d902fbb443e47892a703003c7e6 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* masm: Fix whitespaces in x86Assembler.hAndrei Golubev2022-03-091-72/+72
| | | | | | | Pick-to: 6.3 6.2 Change-Id: I7a64585cc47c5dd3b1bb2139246bd98eea6335b9 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Avoid undefined behavior in the JITUlf Hermann2021-06-171-0/+1
| | | | | | | | | | | We need to add an entry to all the RegisterID enums, so that we can mark a RegisterID as invalid. Pick-to: 6.2 Task-number: QTBUG-94068 Change-Id: I5c13b271eade50fd63327612514ba7ebe33a5c39 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
* Remove the bootstrap code from assembler and JITUlf Hermann2019-05-071-41/+0
| | | | | | | We don't build the assembler or the JIT in bootstrap mode. Change-Id: Idc3a56cc1e9cfba415bef9cba221c8a60ee75010 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Update Yarr to the latest version from WebKitLars Knoll2018-08-101-0/+13
| | | | | | | | | | | 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>
* Fix UBSAN warnings in masmErik Verbruggen2018-05-031-2/+18
| | | | | Change-Id: Ie86307fe55fce957adf48e9861022fddfa3d7374 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Merge remote-tracking branch 'origin/5.9' into devLiang Qi2017-03-141-0/+2
|\ | | | | | | Change-Id: I0ec164ce6e8099e6e4d6b40a3c7340737473ef4b
| * Fix build in clang5.0Jesus Fernandez2017-03-021-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | Fixes: X86Assembler.h:281:19: error: 'm_assembler' is a protected member of 'JSC::AbstractMacroAssembler<JSC::X86Assembler>' masm->m_assembler.linkJump(m_label, masm->m_assembler.label()); AbstractMacroAssembler.h:819:19: note: declared protected here AssemblerType m_assembler; Change-Id: I04f6dc254e9826b9835a43b604a05ea4c57f661b Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Add missing 64 bit shift operations to the X64 macro assemblerLars Knoll2017-03-091-18/+24
|/ | | | | Change-Id: I1e593e5ed0bb24ed3a158d98495209945c8bb309 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Include the ARMv7 assembler in the qmldevtools bootstrap buildSimon Hausmann2017-02-011-0/+40
| | | | | | | | | | | | | | | | | | | | | | | | | Even when the C++ target is not ARMv7 we want to include it in order to be able to generate QML cache files with code ahead of time. This requires a few changes: * The Jump classes need to move from the AbstractMacroAssembler super-class into the concrete assembler sub-class, in order to use it in specializations. * Some of the template specializations in LinkBuffer for example or for platform dependent operations need to be pre-processor enabled when bootstrapping * The generic loadPtr/addPtr etc. functions need to move to the concrete assemblers to be able to call the correct 32-bit or 64-bit variations. * We need to force what looks like a loss of precision to the compiler in the 32-bit ARMv7 linking code when linking jumps. Finally then we can explicitly instantiate at least QV4::JIT::Assembler for ARMv7 when bootstrapping. Currently only on x86-64 hosts, but that is a temporary limitation. Change-Id: I501db2360e1fded48f17f17d9e87252d47f8537e Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Optimise code generation for convertTypeToSInt32Lars Knoll2013-10-111-0/+23
| | | | | | | | Add 64 bit code patch and avoid some duplicated calculation in 32 bit mode Change-Id: I0e111de8ac4e733aa8802c49b4b15d785688d7ea Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Added convertUInt32ToDouble for X86(_64)Erik Verbruggen2013-07-301-0/+9
| | | | | Change-Id: Ie6c918730d0ece0e9e63254ae97c257ee013f2f4 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* WTF/JSC update to r148273Simon Hausmann2013-04-121-2/+2
| | | | | | | | | | | | | 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-301-0/+2540
Change-Id: I507cd5707b7d7223a0d901cf939896fb2649b684 Reviewed-by: Lars Knoll <lars.knoll@digia.com>