Commit Graph

330 Commits

Author SHA1 Message Date
kobalicek
2de7e74244 Instruction validator now doesn't pass 'push/pop [mem]' having unknown size 2020-07-06 00:09:17 +02:00
kobalicek
ae4ad9075d Fixed signatures of recently added ud0 and ud1 instructions, added two-operand NOP (fixes #217) 2020-07-05 13:32:53 +02:00
kobalicek
75f2b69a26 Added new instructions and removed deprecated PCOMMIT 2020-07-05 02:21:24 +02:00
kobalicek
ba30278d66 Added support for more X86 extensions (AMX, AVX512_VP2INTERSECT, MCOMMIT, RDPRU, SERIALIZE, SNP, TSXLDTRK) 2020-07-01 01:07:37 +02:00
kobalicek
3535263419 Added ASMJIT_API to BaseEmitter::_emitOpArray() + other minor changes 2020-06-24 22:51:04 +02:00
kobalicek
5bd643058a Improved embedLabel() - now it's possible to specify the dataSize 2020-06-21 16:33:16 +02:00
kobalicek
87c566a32e [Bug] Fixed validation of memory operand with Label as a base address. 2020-06-16 10:46:13 +02:00
kobalicek
d4c54e099c [Bug] Fixed ASMJIT_CXX_MAKE_VER to not use PATCH, which doesn't exist anymore 2020-06-11 21:03:11 +02:00
kobalicek
4ea9f8ab5d Added a possibility to encode movsxd with 16-bit and 32-bit operands 2020-06-09 23:55:58 +02:00
kobalicek
cab5795858 Revert the last change 2020-06-06 23:50:12 +02:00
kobalicek
bd4f7c67e7 Improved x86::Compiler to use x86::Builder::finalize() instead using its own. 2020-06-06 22:36:31 +02:00
kobalicek
168f2c17bf Don't mark BaseBuilder::dump() as ASMJIT_API 2020-06-06 22:32:56 +02:00
kobalicek
0e04695f64 Fixed broken CI 2020-06-01 12:18:01 +02:00
kobalicek
b73830c291 Fixed some mistakes introduced in the previous commit 2020-06-01 10:04:18 +02:00
kobalicek
f986f7fc44 AsmJit cleanup and refactoring 2020-05-31 23:39:13 +02:00
kobalicek
e78bba83da Added a support for indirect jumps within a function (Compiler) (#286) 2020-05-09 01:00:18 +02:00
kobalicek
80645e66a8 Improved natvis support 2020-05-03 22:38:56 +02:00
kobalicek
80098456b6 Improved CI and enhanced project cosmetics (proper license header and include guards) 2020-05-03 20:06:27 +02:00
kobalicek
39f19e1a8f [Bug] Fixed #285 and #241 2020-05-02 17:56:22 +02:00
kobalicek
fc7eed5304 Build improvements (improved CMakeLists.txt, added proper support for testing) 2020-05-01 12:50:08 +02:00
kobalicek
9057aa30b6 Improved AsmJit public API to not depend on <windows.h> header 2020-04-29 20:19:17 +02:00
kobalicek
13367b59c2 Removed union{} from asmjit::Operand so it never causes problems with constexpr 2020-04-28 22:23:26 +02:00
kobalicek
d241dfb364 Fixed some compile-time warnings 2020-04-14 22:37:16 +02:00
kobalicek
bbc31a91ea [Bug] Fixed #281 2020-04-13 22:24:06 +02:00
kobalicek
304bf43a23 Fixed few warnings 2020-04-13 21:45:55 +02:00
kobalicek
1491d5f2ea [Bug] Fixed encoding of special case 'test al, XXX' being wrongly used with 'ah' operand 2020-03-16 15:17:02 +01:00
kobalicek
0b2e81ca74 [Bug] Fixed wait/fwait instruction (generate 9B instead of invalid DB) 2020-03-16 12:39:42 +01:00
kobalicek
7687cc6395 [Bug] Fixed 'lock xadd [mem, reg]' instruction 2020-03-06 21:06:09 +01:00
kobalicek
0072c202db Added support for BND/REPNE call/jmp/jcc/ret 2020-02-23 22:51:53 +01:00
kobalicek
967dde0fc4 Use relative displacement in mov [abs], ax if base-address is known and the displacement encodable (#275) 2020-02-23 00:05:36 +01:00
kobalicek
8e1eb4f5dc Added begin()/end() + operator[] to CodeBuffer 2020-02-14 00:09:11 +01:00
kobalicek
0ee535519c Added bswap r16 instruction, which has undefined behavior, but is encodable 2020-02-08 10:14:56 +01:00
kobalicek
c92e495b63 Added .editorconfig 2020-02-08 10:13:44 +01:00
kobalicek
5437d20dbb Added support for MAP_JIT (OSX, IOS), build system and CI improvements 2020-01-26 01:58:00 +01:00
Dmitry Opokin
7e164e3ede [Bug] Fixed bug in VirtMem::releaseDualMapping() not releasing it properly (#270) 2020-01-15 08:53:58 +01:00
kobalicek
5944428b4e [Bug] Fixed FreeBSD compilation issue (Issue #268) 2020-01-10 09:46:45 +01:00
kobalicek
911a9a50a2 Minor cleanup 2020-01-01 15:36:16 +01:00
kobalicek
baa79895c8 [Bug] Fixed wrong opcode generated by mov [mem], sreg (Possibly bug #266) 2019-12-27 18:37:56 +01:00
kobalicek
eea0a22b3b Hash table update 2019-12-24 15:57:59 +01:00
kobalicek
ac77dfcd75 Minor changes + fixed x86::Mem constructors to always be explicit 2019-10-25 09:40:26 +02:00
kobalicek
019811d1f0 Added missing vpermpd & vpermps (AVX512) and changed how EVEX prefix is propagated in x86::Assembler 2019-10-05 12:57:22 +02:00
kobalicek
7525ff08d7 [Bug] Fixed encoding and information of vpbroadcast[b|w|d|q] instructions 2019-10-03 20:02:55 +02:00
kobalicek
17556b2d49 [Bug] Fixed wrong encoding of vpdpbusd, vgf2p8mulb, vgf2p8affineqb, and vgf2p8affineinvqb instructions with memory operand 2019-10-01 00:17:14 +02:00
ζeh Matt
238243530a Add X86Test_FuncCallRefArgs (#254) 2019-09-03 20:56:56 +02:00
kobalicek
7c8f3150d7 Cosmetic changes, made sbb write-only when used with the same register 2019-09-03 20:55:41 +02:00
ζeh Matt
a433d4b410 Add reference type support for function signatures (#253) 2019-08-20 19:29:00 +02:00
kobalicek
4da474ac9a Travis-CI update 2019-08-14 09:00:48 +02:00
kobalicek
763f5975d1 Fixed wrong VEX/EVEX broadcast calculation [Bug] 2019-08-14 08:58:51 +02:00
Jianyu Huang
3d510b3540 Downgraded CMake version requirement to 3.5 for better compatibility (#252) 2019-08-08 23:37:57 +02:00
kobalicek
5d9e960794 Fixed X86Internal::emitRegMove() to update the size of a memory operand when necessary 2019-08-05 23:54:50 +02:00