Commit Graph

154 Commits

Author SHA1 Message Date
kobalicek 3d3d5f5426 Minor - Fixed asmjit pseudo types used by function builder 2015-05-20 19:50:00 +02:00
kobalicek 3d62c94c8e Fixed pextrw SSE instruction, added a possibility to Compiler to handle non-initialized variables in alloc(), spill(), ... 2015-05-18 11:33:14 +02:00
kobalicek 9001d2f2b7 Added a possibility to use RIP addressing. 2015-03-27 01:18:06 +01:00
kobalicek 9b48ec0f1e Fixed tracing.
Added possibility to unfollow jump (#7).
Added possibility to return from multiple locations in code (related to unfollow).
Added more tests.
Moved some functions from X86Context to Context.
2015-03-01 17:08:38 +01:00
kobalicek bac4a2b14c Fixed #79 2015-02-28 00:36:50 +01:00
kobalicek fa1f8346e2 Fixed #78 2015-02-27 23:57:58 +01:00
kobalicek 11c09b8b59 Added IDIV test. 2015-02-25 09:49:59 +01:00
kobalicek 31f881350e Fixed a minor bug in Compiler::comment(). 2015-02-15 20:49:20 +01:00
kobalicek a587fc94d0 - Implemented intersectStates()
- Minor changes in logging (logger now prints liveness analysis related to labels)
- Removed some TODOs.
2015-02-14 15:33:38 +01:00
kobalicek f289d83e5e Fixed #73 2015-02-13 01:23:49 +01:00
kobalicek f0be9f5dd9 Fixed #72 (Memory used by fist/fld was wrongly adjusted). 2015-02-12 23:07:09 +01:00
kobalicek 5f04cbb8ec Added support return values that are using FPU (function call and function return). 2015-02-09 03:27:19 +01:00
kobalicek 351fbcbf57 Added 32-bit build to travis-ci build matrix (will fail). 2015-02-09 02:03:30 +01:00
kobalicek bc77b3680f Don't exclude gcc in travis-ci.
Asmjit_test should show info about current CPU.
2015-02-09 01:11:50 +01:00
kobalicek ac37abcb36 Travis experiment. 2015-02-09 01:03:22 +01:00
kobalicek 0b1fae4438 Fixed some clang warnings. 2015-02-09 00:51:12 +01:00
kobalicek 24941e5ab9 Fixed return code in asmjit_test_x86. 2015-02-09 00:09:22 +01:00
kobalicek de444b874a - AsmJit executables should have consistent prefix 'asmjit'.
- Added 'char' to type-id for function argument to typeId conversion.
- Added asmjit_test_x86 to be called by continuous integration.
2015-02-09 00:03:27 +01:00
kobalicek ba1c7ef145 Added a test related to issue #70. 2015-02-07 15:21:10 +01:00
kobalicek d82243c4c1 Fixed #68 2015-01-31 13:32:49 +01:00
kobalicek 1dfa2724d7 Minor - X86Assembler int/uint64_t overloads fail sometimes in sense that C++ compiler sees them ambiguous. This only makes it cleaner, but doesn't solve the problem. 2015-01-24 14:27:35 +01:00
kobalicek 6d24372579 X86CpuInfo::callCpuId() - added support for VS2008 and lesser. 2015-01-21 18:59:34 +01:00
kobalicek 8b3a10dc22 Minor. 2015-01-20 00:07:36 +01:00
kobalicek 85c406c2ba Added casting methods to X86GpReg, X86XmmReg, X86YmmReg, and X86ZmmReg. 2015-01-18 22:10:36 +01:00
kobalicek 8b4c4ae739 Fixed invalid assertions in case that high byte register is used in 64-bit mode, also fixed to NOT emit a REX prefix in that case (Bug). 2015-01-13 22:48:52 +01:00
kobalicek 728490a4bf CpuInfo and X86CpuInfo can now compile under VS2003. 2015-01-11 20:57:19 +01:00
kobalicek 099f4a0180 Don't use _BitScanForward while compiling by VS2003 2015-01-11 20:54:09 +01:00
kobalicek 4e308cce39 Fixed typo in callCpuId when compiled by VS2003. 2015-01-11 20:47:10 +01:00
kobalicek a67e8fc694 Minor refactor of constants (don't use k prefix in enum type, only values), fixed some compilation problems with VS2003. 2015-01-11 20:44:41 +01:00
Petr Kobalicek f8a1de724a Merge pull request #66 from Zeex/logformat-fix
Fix invalid buffer length in logFormat()
2015-01-09 01:08:32 +01:00
Zeex 4de6a1d81e Fix invalid buffer length in logFormat()
When the buffer passed to vsnprintf() is too small it actually returns
length of the string, not how many characters have been written to the
buffer (which is limited by the buffer size).

So bound len by sizeof(buf) - 1 in logFormat().
2015-01-07 19:33:27 +06:00
Petr Kobalicek 48da90ded7 Merge pull request #63 from kirbyfan64/master
Fix Clang warning about -f-inline-functions
2014-12-01 21:54:41 +01:00
Ryan Gonzalez ee1cf60114 Fix Clang warning about -f-inline-functions 2014-11-30 14:28:57 -06:00
kobalicek e8cd5b9924 Fixed issue #62 2014-11-29 22:08:31 +01:00
kobalicek c4c2eb52ba Minor 2014-11-29 22:08:04 +01:00
kobalicek f95a065ee2 Fixed some minor issues reported by clang 2014-11-17 00:28:56 +01:00
kobalicek 06f1dbb32d Fixed a bug caused by refactoring and improper testing (32-bit build affected only). 2014-11-09 15:43:35 +01:00
kobalicek 515d854d10 Refactored slightly some constants and operand handling in X86Assembler.
Refactored asmjit::x86 register definitions (now exported as a single symbol).
Refactored bit utilities, now using proper naming like `or_`, `and_`, `andNot`.
Refactored X86RegCount and X86RegMask to support K instead of Fp register.
Refactored X86 instruction table (won't stay for long, new tool to export it is in development).
Renamed instruction group to instruction encoding.
Added XSAVE/OSXSAVE and other CPU features to X86CpuInfo.
Added proper AVX and AVX-512 detection to X86CpuInfo.
Added support to get content of XCR0 in X86CpuInfo (callXGetBV).
Added XSAVE instruction set support (Assembler/Compiler).
Added SSE4a instruction set support (Assembler/Compiler).
Added X86KReg and X86KVar register/variable support (AVX-512).
Added X86ZmmReg and X86ZmmVar register/variable support (AVX-512).
2014-11-01 13:07:56 +01:00
kobalicek 1318c9aff7 Fixed warning related to disabledTrace(). 2014-09-29 23:09:08 +02:00
kobalicek fd0972d9c6 Emit/Log instruction with immediate properly if memory operand has been used with Label. 2014-09-29 20:29:30 +02:00
kobalicek 80687fc47a Added kX86Cmp enum. 2014-09-29 02:52:38 +02:00
kobalicek 2c750024db Fixed ConstPool traversing bug. 2014-09-26 01:13:19 +02:00
kobalicek 0cff228354 Fixed CMakeLists.txt (again). 2014-09-22 20:06:43 +02:00
kobalicek d9f5a525e5 Fixed cmake crashing after secondary run. 2014-09-21 21:12:45 +02:00
Petr Kobalicek 04c58c6fa2 Merge pull request #55 from kobalicek/issue_53
Fixed Issue #53
2014-09-21 20:48:24 +02:00
kobalicek a7c501e1fe Fixed Issue #53 (assigning to RelocData has no effect after added in the RelocData list).
Refactored slightly so RelocData always uses `rd` variable name and added a scope into the buggy locations.
2014-09-21 20:41:30 +02:00
kobalicek 5185b555fe ASMJIT_OFFSET_OF should cast to int 2014-09-20 00:29:46 +02:00
kobalicek 6ca44dfb7a Fixed #52 2014-09-20 00:29:04 +02:00
kobalicek eef8f78953 Removed contribs
Added some misc methods to Compiler.
Moved reset() from X86Var to Var.
2014-09-17 20:31:53 +02:00
kobalicek 66a863c004 Always function argument varType to architecture specific one (Fixed #49), test-case included. 2014-09-15 23:48:55 +02:00