Commit Graph

  • a67e8fc694 Minor refactor of constants (don't use k prefix in enum type, only values), fixed some compilation problems with VS2003. kobalicek 2015-01-11 20:44:41 +01:00
  • f8a1de724a Merge pull request #66 from Zeex/logformat-fix Petr Kobalicek 2015-01-09 01:08:32 +01:00
  • 4de6a1d81e Fix invalid buffer length in logFormat() Zeex 2015-01-07 19:23:46 +06:00
  • 48da90ded7 Merge pull request #63 from kirbyfan64/master Petr Kobalicek 2014-12-01 21:54:41 +01:00
  • ee1cf60114 Fix Clang warning about -f-inline-functions Ryan Gonzalez 2014-11-30 14:28:57 -06:00
  • e8cd5b9924 Fixed issue #62 kobalicek 2014-11-29 22:08:31 +01:00
  • c4c2eb52ba Minor kobalicek 2014-11-29 22:08:04 +01:00
  • f95a065ee2 Fixed some minor issues reported by clang kobalicek 2014-11-17 00:28:56 +01:00
  • 06f1dbb32d Fixed a bug caused by refactoring and improper testing (32-bit build affected only). kobalicek 2014-11-09 15:43:35 +01:00
  • 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). kobalicek 2014-11-01 13:07:56 +01:00
  • 1318c9aff7 Fixed warning related to disabledTrace(). kobalicek 2014-09-29 23:09:08 +02:00
  • fd0972d9c6 Emit/Log instruction with immediate properly if memory operand has been used with Label. kobalicek 2014-09-29 20:29:30 +02:00
  • 80687fc47a Added kX86Cmp enum. kobalicek 2014-09-29 02:52:38 +02:00
  • 2c750024db Fixed ConstPool traversing bug. kobalicek 2014-09-26 01:07:53 +02:00
  • 0cff228354 Fixed CMakeLists.txt (again). kobalicek 2014-09-22 19:02:07 +02:00
  • d9f5a525e5 Fixed cmake crashing after secondary run. kobalicek 2014-09-21 21:12:45 +02:00
  • 04c58c6fa2 Merge pull request #55 from kobalicek/issue_53 Petr Kobalicek 2014-09-21 20:48:24 +02:00
  • 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. kobalicek 2014-09-21 20:41:30 +02:00
  • 5185b555fe ASMJIT_OFFSET_OF should cast to int kobalicek 2014-09-20 00:29:34 +02:00
  • 6ca44dfb7a Fixed #52 kobalicek 2014-09-20 00:29:04 +02:00
  • eef8f78953 Removed contribs Added some misc methods to Compiler. Moved reset() from X86Var to Var. kobalicek 2014-09-17 20:31:53 +02:00
  • 66a863c004 Always function argument varType to architecture specific one (Fixed #49), test-case included. kobalicek 2014-09-15 23:48:10 +02:00
  • cf3b6ccb5b Fixed structure alignment linker warning (MSVC) related to Operand. kobalicek 2014-09-15 09:12:19 +02:00
  • 9ead0cfb4c - Initial support for StaticRuntime (known base address before the code address is generated). - Bind moved from X86Assembler to Assembler. - Added helpers to get offset of labels (useful after the code is generated). - Added support to cache and reuse Assembler if only Compiler is used. - CodeGen getFeature(), setFeature() and friends are now inlined. - Added offset to TargetNode, which is filled after the code is serialized. kobalicek 2014-09-08 20:24:31 +02:00
  • d7fc62d9e9 Merge pull request #45 from xantares/mingw Petr Kobalicek 2014-07-21 20:15:00 +02:00
  • 2475e3f80a Install dll in <prefix>/bin xantares 2014-07-17 07:13:29 +00:00
  • f82fd80305 Install if not ASMJIT_EMBED xantares 2014-07-17 07:11:51 +00:00
  • 104e857b6c README update. kobalicek 2014-07-17 00:46:01 +02:00
  • 895d33d465 Documentation fixes. kobalicek 2014-07-15 21:31:23 +02:00
  • 3363e4138b Merge pull request #42 from kobalicek/incremental Petr Kobalicek 2014-07-12 22:03:22 +02:00
  • fa955663e3 Changed asmjit namespaces, each architecture has now only one namespace for registers / memory operands. Changed instruction table schema to minimize its size and added use of EFLAGS register (for scheduler). Changed the rest of intrinsics accepting void* to accept Ptr instead. Changed clear()/reset() concept - only reset() now exists and accepts a releaseMemory argument. Changed unit tests to use bundled Broken framework. Moved podvector and podlist to base/containers. Added CMPS, LODS, MOVS, SCAS, STOS instructions. Added Label::isInitialized() and Var::isInitialized(). Added X86Scheduler stub - preparing for instruction reordering. Added support for tracing (see ASMJIT_TRACE) to allow consumers to find bugs in AsmJit quicker. Fixed possible Zone memory leak. Fixed and improved alloc/spill (added support for home register which asmjit honors from now). Fixed Assembler LEA REG, [LABEL] bug. Fixed [Mem, Imm] instructions with zero-sized operand to return error instead of emitting garbage. Fixed minor bug in VMemMgr - always point to a correct hProcess so it can be used properly (#41). kobalicek 2014-07-12 17:50:35 +02:00
  • a66efd5460 Minor kobalicek 2014-06-07 21:57:07 +02:00
  • 0dbd42f350 Line endings kobalicek 2014-06-07 19:23:35 +02:00
  • c87814b225 Added librt dependency on Linux by default. kobalicek 2014-06-06 22:18:51 +02:00
  • c05f11ce5c More Travis. Fixed bug in IntUtil::isInt32(). Added possibility to disable instruction names (for static compiling). Added ASMJIT_... wrappers also to winremoteruntime. Fixed some instructions (wrong order in enum and x86inst.cpp). kobalicek 2014-06-06 22:05:52 +02:00
  • 95e9fe41d2 Reworked _InterlockedCompareExchange a bit more... kobalicek 2014-06-06 12:32:45 +02:00
  • eb1a71f58a Added missing pragma for _InterlockedCompareExchange kobalicek 2014-06-06 12:24:11 +02:00
  • e5387eaaca Fixed #35 (namespace x86x64 in x86regs.h not included). kobalicek 2014-06-06 10:41:43 +02:00
  • c64931abdb Removed junk x86/x86defs.h (#36) kobalicek 2014-06-06 10:34:19 +02:00
  • 5679a1fefd Added Travis kobalicek 2014-06-05 19:40:33 +02:00
  • 24c7d5afbd Minor. kobalicek 2014-06-05 11:09:28 +02:00
  • df618fa24d Added back interface to override default functions for memory allocation (ASMJIT_ALLOC, ASMJIT_REALLOC, ASMJIT_FREE). kobalicek 2014-06-05 11:02:38 +02:00
  • db322d5dc1 Added minimalist unit testing (and removed some apps that did some tests). kobalicek 2014-06-04 22:12:52 +02:00
  • 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). kobalicek 2014-05-30 17:02:03 +02:00
  • f77a04ba04 Doc update. kobalicek 2014-05-30 14:59:07 +02:00
  • cc2909f0db Minor changes. Added possibility to get x86/x64 instruction id by name. kobalicek 2014-05-30 14:49:22 +02:00
  • 5869dc4736 Reworked Zone memory allocator a bit. kobalicek 2014-05-29 14:25:40 +02:00
  • 6def28a509 Renamed conflicting calloc to allocZeroed. kobalicek 2014-05-27 23:16:37 +02:00
  • 1fdcf250d2 Split registers from x86operand so they don't have to use static initialization. kobalicek 2014-05-27 23:08:27 +02:00
  • e978cda1c0 Minor. kobalicek 2014-05-27 22:30:58 +02:00
  • c2257adcc4 Added base defs in Compiler that will be used for AVX code. kobalicek 2014-05-27 22:30:48 +02:00
  • 811e1c3a96 Removed sentinel from const-pool binary tree (NULL is used instead). kobalicek 2014-05-27 22:30:29 +02:00
  • 98ed103929 Reworked imm specialization a bit more (Assembler/Compiler) (Issue #34). kobalicek 2014-05-26 22:14:33 +02:00
  • 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). kobalicek 2014-05-26 21:26:45 +02:00
  • 05850cb6cb Minor. kobalicek 2014-05-26 11:06:18 +02:00
  • f112305d54 Fixed bug introduced by commit 1a73e65534 kobalicek 2014-05-23 00:06:10 +02:00
  • 1cb47ce497 Fixed repo name. kobalicek 2014-05-15 21:34:02 +02:00
  • 1a73e65534 - Minor reorganization of source code (split defs to operand and instruction info). - Added JECXZ instruction. - Doxyfile is now in project root. - Documentation updates. kobalicek 2014-05-10 21:19:50 +02:00
  • bd1a5facb8 Merge pull request #31 from bnoordhuis/fix-compiler-warning Petr Kobalicek 2014-05-08 16:26:06 +02:00
  • 7398dd0055 Fix unused parameter warning. Ben Noordhuis 2014-05-08 03:36:46 +02:00
  • 7424739c41 Fixed maskmovq and maskmovdqu instructions (Compiler). kobalicekp 2014-05-04 23:23:30 +02:00
  • 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). kobalicekp 2014-05-04 23:11:12 +02:00
  • bceaebdbe3 Added support for missing AMD instruction sets (FMA4 and XOP) to Assembler. kobalicekp 2014-05-03 18:04:16 +02:00
  • 00f9e5fe50 64-bit GP register/variable is now forbidden in 32-bit mode. (Issue #26). kobalicekp 2014-05-03 10:59:52 +02:00
  • 2f5fccbf3f Minor - Put assembler/compiler options to a macro. Dummy - cleanup. kobalicekp 2014-05-03 10:50:04 +02:00
  • 80730c541a Sanitized source files (spaces / end line marks). kobalicekp 2014-05-03 00:57:16 +02:00
  • 98b4880141 Fixed Issue #24 kobalicekp 2014-05-03 00:55:43 +02:00
  • ca1726b0e0 Fixed Issue #25. kobalicekp 2014-04-28 11:11:00 +02:00
  • c1d4dd1f63 Minor readme changes. kobalicekp 2014-04-28 11:10:42 +02:00
  • b76922fde9 Added basic documentation to README.md. kobalicekp 2014-04-24 02:16:45 +02:00
  • 70bd453721 Renamed const pool functions to be more descriptive and have less collisions. kobalicekp 2014-04-24 02:13:51 +02:00
  • 99f50915ec Cosmetic. kobalicekp 2014-04-23 01:02:25 +02:00
  • e7e9825065 Added ASMJIT_EMBED support to build.h. kobalicekp 2014-04-23 01:01:56 +02:00
  • 7869d4e39f Fixed Issue #22 kobalicekp 2014-04-22 21:57:17 +02:00
  • 190d1c1692 Fixed Issue #16. kobalicekp 2014-04-22 00:12:15 +02:00
  • 0af60d6eb4 Added proof-of-concept constant pool implementation. Fixed bug when c.alloc() is called with a specific register. kobalicekp 2014-04-21 03:28:22 +02:00
  • eaba64c306 Fixed logger bug when showing embed data. kobalicekp 2014-04-21 02:51:19 +02:00
  • 316812daf0 Fixes bug #20 kobalicekp 2014-04-17 22:03:10 +02:00
  • 6c50029aa0 Fixed bug in pshufb instruction definition (first reported in Issue #17). kobalicekp 2014-04-16 21:33:50 +02:00
  • a33bebe1df Merge pull request #18 from jblume/master Petr Kobalicek 2014-04-16 21:23:39 +02:00
  • e1aa4741cc Fix incorrect displacement with bound labels for X64 Johannes Blume 2014-04-16 10:20:47 +02:00
  • 906f89bfc5 Merge pull request #15 from wjk/typo-fix Petr Kobalicek 2014-04-08 09:33:22 +02:00
  • 3acf89eba7 Fix typo William Kent 2014-04-07 20:41:10 -04:00
  • 01998d4dee Assembler - Fixed bug when generating LEA having absolute address. kobalicekp 2014-04-08 01:48:44 +02:00
  • f9b94d55a2 Build - Added multithreaded build by default when building under MSVC Build - Added possibility to embed asmjit instead of making shared library (solves some Linux issues) kobalicekp 2014-04-08 01:47:50 +02:00
  • 5ac69447dc Fixed Issue #14. kobalicekp 2014-04-03 22:17:41 +02:00
  • 324df8d6cb Fixed Issue #13. kobalicekp 2014-04-03 22:05:47 +02:00
  • 2d20d0e471 Merge pull request #12 from krig/minor-linux-fixes Petr Kobalicek 2014-04-03 19:45:45 +02:00
  • 910a30cd1c Fix trailing tokens on #endif Kristoffer Grönlund 2014-04-02 10:39:21 +02:00
  • 4a684c7fee Fix warning on mismatching If/EndIf Kristoffer Grönlund 2014-04-02 10:39:02 +02:00
  • b4ba6ba2a1 Fixed asmjit bench to use new CpuTicks. kobalicekp 2014-04-01 21:27:06 +02:00
  • fa528f4741 Added gcc visibility push/pop to ApiBegin/ApiEnd. ApiBegin/ApiEnd moved from asmjit/base to asmjit. kobalicekp 2014-04-01 21:16:31 +02:00
  • 706cbd6d15 Fixed compilation errors of asmjit::CpuTicks when compiling on Linux. kobalicekp 2014-04-01 20:26:15 +02:00
  • 45522aa097 Added -FPIC parameter when building a static library. Added CpuTicks to asmjit to make benchmarking easier. Renamed Cpu to CpuInfo. Minor documentation updates. kobalicekp 2014-04-01 11:11:07 +02:00
  • 351ef86dbc Merge pull request #11 from kobalicekp/issue9 Petr Kobalicek 2014-03-26 21:19:41 +01:00
  • 58d46c05c0 Fixed CallAlloc to handle save correctly (Issue #9) kobalicekp 2014-03-25 22:34:27 +01:00
  • 3fb860e22f Added test that reproduces Issue #9 kobalicekp 2014-03-25 19:20:09 +01:00
  • 29dc9906b2 Added another test trying to exploit issue #9 kobalicekp 2014-03-25 10:52:17 +01:00
  • 048b85019d Documentation fixes. kobalicekp 2014-03-25 01:40:52 +01:00
  • c279c9ed7d Fixed dead code elimination. Fixed wrong xchg instruction encoding under x64 if one of the operand is r8-15 register. kobalicekp 2014-03-25 00:08:58 +01:00