180 Commits

Author SHA1 Message Date
kobalicek
b9b1ad6fae Added ASMJIT_NOT_REACHED() to better deal with unreachable code.
Added Visual Studio 2015 scripts and fixed asmjit_test_x86 which now compiles under VS2015
Added StringLogger::getLength()
Added methods to X86Compiler to create a variable operand by its ID
2016-01-02 16:24:54 +01:00
kobalicek
9e100d11a1 CxxTool update. 2015-12-18 00:57:39 +01:00
kobalicek
5cb7d976e7 Added Operand::reset(). 2015-12-16 18:14:57 +01:00
kobalicek
e726dd3872 Make alignment of a stack required by a function call proper. 2015-12-15 17:06:27 +01:00
kobalicek
bda7673558 Minor. 2015-12-12 18:08:02 +01:00
kobalicek
1e322d4922 Coding style. 2015-12-08 13:30:44 +01:00
kobalicek
3fcd65cf80 - Moved to cxxtool to generate build.h compiler and platform based definitions.
- Compiler no longer works on its own, it requires Assembler.
- Labels created by Assembler and Compiler now share their IDs, so they can be used nearly interchangeably without weird side-effects and hacks.
- Renamed getError() and setError() to getLastError() and setLastError().
- Renamed compiler nodes to "HL" nodes (preparation for HLStream).
- Renamed FuncConv to CallConv.
- Function calling convention is now part of FuncPrototype.
- Added a possibility to align by inserting zeros (kAlignZero)
- Fixed assertion in X86Compiler that didn't like unhandled function argument(s).
- Added Compiler::embedConstPool() helper, which can be handy if you use your own ConstPool.
- Code refactorization and other minor changes.
- CpuTicks::now() renamed to Utils::getTickCount().
- error.h merged with globals.h
- Documentation updates related to recent API changes.
2015-12-07 07:34:25 +01:00
kobalicek
6758955e8c Fixed Issue #114 2015-11-30 10:00:37 +01:00
Petr Kobalicek
a910f05c66 Merge pull request #110 from tizgrape/cygwin
Build AsmJit with Windows ABI on Cygwin
2015-11-11 12:20:56 +01:00
Hui Z
1853bd388c Build AsmJit with Windows ABI on Cygwin 2015-11-09 17:19:35 +08:00
kobalicek
31c0b46710 Fixed #107 2015-10-25 21:10:39 +01:00
kobalicek
dacd9eb641 Fixed #106 2015-10-13 19:18:54 +02:00
kobalicek
4ad2729632 Fixed #105 2015-10-13 11:03:56 +02:00
Petr Kobalicek
34131ca895 Merge pull request #101 from blackbird8010/cputicks_now_mac_fix
CpuTicks:now(): fixed control flow for first-time call on OS Mac
2015-10-04 13:16:46 +02:00
Helmuth Ploner
95f401c600 asmjit::CpuTicks:now(): fixed control flow for first-time call on OS Mac. 2015-10-04 12:22:22 +02:00
kobalicek
b0dad1af25 Fixed #98 2015-08-28 17:11:48 +02:00
kobalicek
938691c736 Link update 2015-08-25 12:01:02 +02:00
kobalicek
6061d4b7cf Trigger travis-ci. 2015-07-02 23:40:39 +02:00
kobalicek
bd0d261e8b Fixed #95 2015-06-26 10:30:33 +02:00
kobalicek
6ed69102a4 Fixed vbroadcastss instruction (ymm not honored) (bug in instruction tables) 2015-06-23 18:29:36 +02:00
kobalicek
4dbaf70c31 Reduced the size of instruction names array by 2kB by merging shorter names into longer names. 2015-06-20 20:50:55 +02:00
kobalicek
7259dc3f45 Minor. 2015-06-18 09:50:45 +02:00
kobalicek
c3fcc3231a Fixed extrq instruction. 2015-06-18 00:11:22 +02:00
kobalicek
ecda2e12f1 Fixed AVX instructions vmovss and vmovsd.
Improved asmjit_test_opcode to generate code that is easier to verify manually.
2015-06-17 23:54:47 +02:00
kobalicek
3c477177d2 Fixed AVX/XOP bugs when encoding instruction that uses register(s) with index greater than 7.
Refactored a bit testing code and added ability to asmjit_test_opcode to use registers having indexes greater than 7.
2015-06-17 21:19:29 +02:00
kobalicek
ec8eb0dd47 [BUG] Fixed REX.W prefix in short form of arithmetic instruction (REX.W was deleted by opcode = ...) 2015-06-15 21:39:26 +02:00
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