Commit Graph

69 Commits

Author SHA1 Message Date
kobalicek
db322d5dc1 Added minimalist unit testing (and removed some apps that did some tests). 2014-06-04 22:12:52 +02:00
kobalicek
02a9d6abbd Added ability to disable logging at completely at compile-time (reducing asmjit size a bit).
Added ability to disable Compiler completely at compile-time (reducing asmjit size a lot).
2014-05-30 17:02:03 +02:00
kobalicek
f77a04ba04 Doc update. 2014-05-30 14:59:07 +02:00
kobalicek
cc2909f0db Minor changes.
Added possibility to get x86/x64 instruction id by name.
2014-05-30 14:49:22 +02:00
kobalicek
5869dc4736 Reworked Zone memory allocator a bit. 2014-05-29 14:25:40 +02:00
kobalicek
6def28a509 Renamed conflicting calloc to allocZeroed. 2014-05-27 23:16:37 +02:00
kobalicek
1fdcf250d2 Split registers from x86operand so they don't have to use static initialization. 2014-05-27 23:08:27 +02:00
kobalicek
e978cda1c0 Minor. 2014-05-27 22:30:58 +02:00
kobalicek
c2257adcc4 Added base defs in Compiler that will be used for AVX code. 2014-05-27 22:30:48 +02:00
kobalicek
811e1c3a96 Removed sentinel from const-pool binary tree (NULL is used instead). 2014-05-27 22:30:29 +02:00
kobalicek
98ed103929 Reworked imm specialization a bit more (Assembler/Compiler) (Issue #34). 2014-05-26 22:14:33 +02:00
kobalicek
c6f12c2720 Reworked trampolines (64-bit), results in space saving and patchable jmp/call (Issue #33).
Added int64_t overload to prevent truncation of immediates passed to Assembler/Compiler (Issue #34).
2014-05-26 21:26:45 +02:00
kobalicek
05850cb6cb Minor. 2014-05-26 11:06:18 +02:00
kobalicek
f112305d54 Fixed bug introduced by commit 1a73e65534 2014-05-23 00:06:10 +02:00
kobalicek
1a73e65534 - Minor reorganization of source code (split defs to operand and instruction info).
- Added JECXZ instruction.
- Doxyfile is now in project root.
- Documentation updates.
2014-05-10 21:19:50 +02:00
Ben Noordhuis
7398dd0055 Fix unused parameter warning.
Remove the unused `disp` argument from Mem::resetDisplacement().
Fixes the following harmless compiler warning:

    src/asmjit/x86/../x86/x86defs.h:3106:22: warning:
    unused parameter 'disp' [-Wunused-parameter]
       ASMJIT_INLINE Mem& resetDisplacement(int32_t disp) {
2014-05-08 16:21:26 +02:00
kobalicekp
7424739c41 Fixed maskmovq and maskmovdqu instructions (Compiler). 2014-05-04 23:23:30 +02:00
kobalicekp
f1ce2383ba - Major documentation reorganization of AsmJit (still far from perfection)
- Documentation - removed verbose @brief and switched to markdown syntax which Doxygen supports.
- Added inline documentation to AVX/AVX2 instructions.
- Added more documentation notes to utility classes.
- Modified documentation groups to be compatible with the new code layout (base/x86).

- Renamed VirtualMemoryManager to VMemMgr.
- Removed MemoryManager interface (not needed).
- Changed JitRuntime to always create a new isolated VMemMgr instance.
- Fixed WinRemoteRuntime to work with the new changes.

- Added missing insertps instruction to database, assembler and compiler.
- Moved global functions in x86cpuinfo to CpuUtil class.

- Should notify Issue #10
2014-05-04 23:11:12 +02:00
kobalicekp
bceaebdbe3 Added support for missing AMD instruction sets (FMA4 and XOP) to Assembler. 2014-05-03 18:04:16 +02:00
kobalicekp
00f9e5fe50 64-bit GP register/variable is now forbidden in 32-bit mode. (Issue #26). 2014-05-03 10:59:52 +02:00
kobalicekp
2f5fccbf3f Minor - Put assembler/compiler options to a macro.
Dummy - cleanup.
2014-05-03 10:50:04 +02:00
kobalicekp
80730c541a Sanitized source files (spaces / end line marks). 2014-05-03 00:57:16 +02:00
kobalicekp
98b4880141 Fixed Issue #24
Added move information to instruction database that the Compiler can use to make the read/write information of each operand more precise.
2014-05-03 00:55:43 +02:00
kobalicekp
ca1726b0e0 Fixed Issue #25. 2014-04-28 11:11:00 +02:00
kobalicekp
b76922fde9 Added basic documentation to README.md. 2014-04-24 02:16:45 +02:00
kobalicekp
70bd453721 Renamed const pool functions to be more descriptive and have less collisions. 2014-04-24 02:13:51 +02:00
kobalicekp
99f50915ec Cosmetic. 2014-04-23 01:02:25 +02:00
kobalicekp
e7e9825065 Added ASMJIT_EMBED support to build.h. 2014-04-23 01:01:56 +02:00
kobalicekp
7869d4e39f Fixed Issue #22 2014-04-22 21:57:17 +02:00
kobalicekp
190d1c1692 Fixed Issue #16. 2014-04-22 00:12:15 +02:00
kobalicekp
0af60d6eb4 Added proof-of-concept constant pool implementation.
Fixed bug when c.alloc() is called with a specific register.
2014-04-21 03:30:05 +02:00
kobalicekp
eaba64c306 Fixed logger bug when showing embed data. 2014-04-21 02:51:19 +02:00
kobalicekp
316812daf0 Fixes bug #20 2014-04-17 22:03:10 +02:00
kobalicekp
6c50029aa0 Fixed bug in pshufb instruction definition (first reported in Issue #17). 2014-04-16 21:33:50 +02:00
Johannes Blume
e1aa4741cc Fix incorrect displacement with bound labels for X64 2014-04-16 10:20:47 +02:00
William Kent
3acf89eba7 Fix typo 2014-04-07 20:41:10 -04:00
kobalicekp
01998d4dee Assembler - Fixed bug when generating LEA having absolute address. 2014-04-08 01:48:44 +02:00
kobalicekp
5ac69447dc Fixed Issue #14. 2014-04-03 22:17:41 +02:00
kobalicekp
324df8d6cb Fixed Issue #13. 2014-04-03 22:05:47 +02:00
Kristoffer Grönlund
910a30cd1c Fix trailing tokens on #endif 2014-04-02 10:39:21 +02:00
kobalicekp
b4ba6ba2a1 Fixed asmjit bench to use new CpuTicks. 2014-04-01 21:27:06 +02:00
kobalicekp
fa528f4741 Added gcc visibility push/pop to ApiBegin/ApiEnd.
ApiBegin/ApiEnd moved from asmjit/base to asmjit.
2014-04-01 21:16:31 +02:00
kobalicekp
706cbd6d15 Fixed compilation errors of asmjit::CpuTicks when compiling on Linux. 2014-04-01 20:26:15 +02:00
kobalicekp
45522aa097 Added -FPIC parameter when building a static library.
Added CpuTicks to asmjit to make benchmarking easier.
Renamed Cpu to CpuInfo.
Minor documentation updates.
2014-04-01 11:11:07 +02:00
kobalicekp
58d46c05c0 Fixed CallAlloc to handle save correctly (Issue #9) 2014-03-25 22:34:27 +01:00
kobalicekp
3fb860e22f Added test that reproduces Issue #9 2014-03-25 19:20:09 +01:00
kobalicekp
29dc9906b2 Added another test trying to exploit issue #9 2014-03-25 10:52:17 +01:00
kobalicekp
048b85019d Documentation fixes. 2014-03-25 01:40:52 +01:00
kobalicekp
c279c9ed7d Fixed dead code elimination.
Fixed wrong xchg instruction encoding under x64 if one of the operand is r8-15 register.
2014-03-25 00:08:58 +01:00
kobalicekp
2bf1af0dde Fixed bug in manual variable spill() and added a test-case for that.
Minor changes in annotations.
2014-03-22 21:28:56 +01:00