aboutsummaryrefslogtreecommitdiffstats
path: root/src/3rdparty/masm/disassembler
Commit message (Collapse)AuthorAgeFilesLines
* V4: add Aarch64/ARM64 support.Erik Verbruggen2016-01-196-2/+1986
| | | | | | | | | | 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: add mips32 disassembler.Julien Brianceau2015-06-193-0/+754
| | | | | | | | | Add a rudimentary disassembler for mips32 instruction set. Although few instructions might be missing, the whole set from MacroAssemblerMIPS should be covered. Change-Id: I9b1b9b40537b99098ca65036f671651d04fe1ab6 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* V4: teach the disassembler about VMUL, VCVT, and VCMP on ARM.Erik Verbruggen2014-06-022-0/+130
| | | | | Change-Id: I2fee1d9d8c9b6437e6237388f2b0d93243fe601d Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* V4: fix disassembler address printing for 64bit.Erik Verbruggen2014-05-221-1/+1
| | | | | | | | | Platforms and/or compilers have different opinions on the type of uint64_t, so with a bit of casting and using the biggest possible format, the warnings will hopefully disappear. Change-Id: I1e128eaf8bc53771a517490292f52084046574dd Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* V4 JIT: fix constant shifts.Erik Verbruggen2014-04-152-3/+7
| | | | | | | | | | | | | | | | Do not generate constant shifts of 0. We do not use the flags, so it's a move. On ARM it's actually important not to do this, because lsr/asr with imm=0 is a special case (shift of 32 bits). When in the area, also skip generating an and of the second operand with 0x1f. For Intel this is done on the CPU, and for ARM the JSC assembler will generate it for us. This patch also updates the ARM disassembler to print the right immediate values for the shifts. Change-Id: I7c92c8d899352712c84e5534c48392d75466be0e Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Fix compile errorLars Knoll2014-03-101-1/+1
| | | | | Change-Id: Iba3860ef8ea940b8f232e21e273b0ac83d895882 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* V4: fix address printing for real.Erik Verbruggen2014-03-081-7/+15
| | | | | | | | | | The previous patch contained the wrong formatting string for 64bit platforms. Good compilers will warn on this (and fail compiling with -Werror). Fixed the issue in such a way that we now have static checking for both 32bit/64bit platforms by the compiler. Change-Id: Idf4a80d8795605c61ef812426c9984df1ceac4d4 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* V4: fix address printing on 64bit platformsErik Verbruggen2014-03-071-1/+7
| | | | | | | | The addresses were truncated to 32bits, which is a problem on win64, because JITted code ended up outside that range. Change-Id: I0d8b92486714340dffe4b4c2de29cf11a929a149 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Fix MSVC2012 compiler warnings.Erik Verbruggen2014-03-051-1/+1
| | | | | | | | Tested on both win32 and win64. Change-Id: I47755e2da51829e61e1452eaaf84a057224b478b Reviewed-by: Simon Hausmann <simon.hausmann@digia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* V4 JIT: enable disassembler on windows.Erik Verbruggen2014-03-032-0/+4
| | | | | Change-Id: I55a2a96a1a774c79cc2146c6b47d441fede1d102 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* V4 ARM: extend disassembler.Erik Verbruggen2013-10-172-0/+77
| | | | | | | Added VADD/VSUB/VLDR/VSTR. Change-Id: I25fbb338652c3457e15cc9ef17209d35c63fefe5 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* V4 disasm: fix sub sp,sp,immErik Verbruggen2013-10-141-1/+1
| | | | | | | | This is a special-case instruction, where the immediate needs to be multiplied by 4. Change-Id: I86e5ab9d39d65b8eab99fae859969896c6e5630c Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* V4 ARM: fix disassembler vmovErik Verbruggen2013-10-121-1/+1
| | | | | | | rt is on position 12. See A8.8.345. Change-Id: Ibf380b9bda8d2edd603857935d6c92cd89d0f104 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Add support for showing disassembled ARM JIT codeSimon Hausmann2013-10-103-0/+2763
| | | | | | | | | | Ported the ARM disassembler from upstream trunk. QtQml needs to be configured with qmake CONFIG+=disassembler and QV4_SHOW_ASM=1 enables the dump at run-time. Change-Id: Ia13a98835829fde0d3c5a795cb8f6ef9de951807 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* WTF/JSC update to r148273Simon Hausmann2013-04-127-7/+0
| | | | | | | | | | | | | 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-3021-0/+12811
Change-Id: I507cd5707b7d7223a0d901cf939896fb2649b684 Reviewed-by: Lars Knoll <lars.knoll@digia.com>