Commit Graph

  • 814cf62a85 Added validation of absolute memory address to the validator kobalicek 2017-02-03 17:50:51 +01:00
  • 13a5105fe0 Moved some hardcoded positions in tabled into template-based approach kobalicek 2017-02-03 17:44:58 +01:00
  • ff2bf109fc Minor improvements of CodeCompiler kobalicek 2017-02-02 15:14:07 +01:00
  • ef44e5a2f9 Fixed initialization of CodeHolder kobalicek 2017-02-02 03:17:38 +01:00
  • fa43c7be07 Make asmjit compile with all possible ASMJIT_DISABLE_... options kobalicek 2017-02-02 00:48:05 +01:00
  • 0943382a0c Minor changes, fixed a very rare X86Compiler bug in liveness analysis kobalicek 2017-02-02 00:35:30 +01:00
  • dc0ccfd74c Fix compilation with ICC (17.0.1) (#150) Michał Janiszewski 2017-01-26 21:36:10 +01:00
  • b7f6d1e369 Merged asmjit:next branch (#149) Petr Kobalicek 2017-01-26 15:55:03 +01:00
  • fb9f82cb61 Typo fix (Issue #143) svost 2016-11-11 22:34:49 +04:00
  • f900a92e13 [BUG] Fix avx512 detection (#136) Wenzel Jakob 2016-09-17 15:25:08 +02:00
  • a7d3c757e4 Updated README to inform about the next branch kobalicek 2016-09-13 00:53:15 +02:00
  • 6467c73ddf [BUG] Fixed a macro expansion from wordptr to word_ptr (only rip addressing affected) kobalicek 2016-07-10 05:30:56 +02:00
  • c908c3db8d Added ADX, TBM, CLFLUSH_OPT, PREFETCHW, and SHA instruction sets to Assembler and Compiler\nAdded initial support for AVX/AVX2 instructions into X86Compiler\nRenamed oword to dqword (intel convention)\nFixed incorrect XOP and FMA4 detection\nCosmetic changes in documentation\nFixed unused typedef warnings (clang) (related to #132) kobalicek 2016-07-03 23:05:43 +02:00
  • 6f6ca70c4c Fixed BMI and BMI2 (finally). kobalicek 2016-06-30 19:44:12 +02:00
  • 5db35108d0 Fixed MSVC compilation issues. kobalicek 2016-06-30 19:16:43 +02:00
  • d25f392c6e Minor code cleanup, fixed 64-bit BMI and BMI2 instructions kobalicek 2016-06-30 18:59:59 +02:00
  • 286bc22f49 Better compiler flags detection in CMakeLists.txt\nFixed missing noexcept in StaticRuntime.cpp kobalicek 2016-05-05 04:08:23 +02:00
  • f7de7b8d35 Added a test-case to verify stack allocation, attempt to fix #128 kobalicek 2016-04-16 16:35:58 +02:00
  • 9fc1dbfdcd Moved calling conventions to globals.h Fixed #128 kobalicek 2016-04-16 14:43:52 +02:00
  • f7ddd38777 Trying to trigger #126 kobalicek 2016-04-09 13:51:48 +02:00
  • 83682451b8 Mark clobbered registers when allocating "call" (X86Compiler) kobalicek 2016-04-09 04:55:00 +02:00
  • 02ba5cc35c renamed bswap32 to byteswap32 to avoid conflict with builtin freebsd macro James Laver 2016-04-03 14:14:04 +00:00
  • 446a5f1cb1 Improved asmjit trace - pretty print nodes being removed kobalicek 2016-03-29 04:57:56 +02:00
  • 6ef5878eca Minor compiler update - unreachable code remover will not remove labels. kobalicek 2016-03-29 01:01:28 +02:00
  • 95aacf9fd1 Moved addFunc() from X86Compiler to Compiler. Fixed CompilerContext not being reset after the first function is translated. kobalicek 2016-03-28 23:18:41 +02:00
  • 7b0e362ac6 Added ASMJIT_TRACE support to CMakeLists.txt kobalicek 2016-03-28 22:33:32 +02:00
  • 4a654c2c49 Fixed bug in PodVectorTmp<> implementation and added a test-case for it. kobalicek 2016-03-28 02:03:25 +02:00
  • b81004bc99 [Bug] Fixed a bug in X86Compiler::getIntPtr() not promoting intptr to int32/int64. Minor changes. kobalicek 2016-03-24 03:26:41 +01:00
  • 185a96a46a Reworked CpuInfo (removed X86CpuInfo, added ARM CpuInfo support). Renamed CodeGen to ExternalTool. Moved logger constants from asmjit namespace to asmjit::Logger. Moved AssemblerFeature constants from asmjit namespace to asmjit::Assembler. Added noexcept to most APIs that are not intended to throw. Added memory utilities that can read/write to unaligned memory location (ongoing ARM support). Removed unimplemented instruction scheduler, will be added back when it's working. kobalicek 2016-03-21 20:04:13 +01:00
  • a5cdf0b44b Updated x86inst. kobalicek 2016-03-10 18:02:02 +01:00
  • d7317987bf Added a link to chat-room to README.md. kobalicek 2016-03-10 18:01:38 +01:00
  • c31593c5ed Merge pull request #123 from alexjbest/master Petr Kobalicek 2016-03-09 00:07:56 +01:00
  • 374de74994 fixed bug in optimised align code Alex J. Best 2016-03-03 13:03:40 +00:00
  • 12495ceffc Fixed wrong commit kobalicek 2016-03-08 19:13:14 +01:00
  • a33393265b [BUG] Clear last error after X86Compiler is attached to X86Assembler (#120) kobalicek 2016-03-07 22:57:45 +01:00
  • 1b56ec62a9 Fixed invalid check in push/pop when used with a memory operand (32-bit). kobalicek 2016-01-20 02:17:45 +01:00
  • 7c197912fd Minor changes. kobalicek 2016-01-14 09:27:01 +01:00
  • 8f52f1ef87 Removed #pragma intrinsic(...), it's not needed anymore. kobalicek 2016-01-12 23:03:36 +01:00
  • fd91ba5fee Minor code cleanup, fixed variable shadowing and unused parameters. kobalicek 2016-01-12 03:14:23 +01:00
  • edc3c3b0af Fixed invalid check regarding VS2010. kobalicek 2016-01-11 03:46:23 +01:00
  • 75221286ab [BUG] Fixed a FPU bug (kX86InstEncodingIdFpuArith) introduced by bf8bba5bba [BUG] Fixed blend_bench tool kobalicek 2016-01-08 20:27:06 +01:00
  • 1c3570cb9b Refactored to use nullptr instead of NULL, if compiler supports it. kobalicek 2016-01-07 18:42:30 +01:00
  • eb7a6b0d26 Fixed ASMJIT_FALL_THROUGH detection. Renamed ASMJIT_FALL_THROUGH to ASMJIT_FALLTHROUGH. kobalicek 2016-01-06 23:41:22 +01:00
  • 89f8d4bbf8 Added ASMJIT_FALL_THROUGH to better deal with switch/case Replaced ASSERTs by runtime checks in X86Compiler intrinsics kobalicek 2016-01-06 21:08:21 +01:00
  • bf8bba5bba Added ASMJIT_NOEXCEPT macro Replaced some inlined ASSERTs by runtime checks in X86Assembler. kobalicek 2016-01-05 18:46:18 +01:00
  • e5f7b8b533 Added X86Compiler::ovewrite() modifier (instruction option) + other cosmetic changes. kobalicek 2016-01-04 16:17:42 +01:00
  • 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 kobalicek 2016-01-02 16:24:54 +01:00
  • 9e100d11a1 CxxTool update. kobalicek 2015-12-18 00:57:39 +01:00
  • 5cb7d976e7 Added Operand::reset(). kobalicek 2015-12-16 18:14:57 +01:00
  • e726dd3872 Make alignment of a stack required by a function call proper. kobalicek 2015-12-15 17:06:27 +01:00
  • bda7673558 Minor. kobalicek 2015-12-12 18:08:02 +01:00
  • 1e322d4922 Coding style. kobalicek 2015-12-08 13:30:44 +01:00
  • 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. kobalicek 2015-12-07 07:34:25 +01:00
  • 6758955e8c Fixed Issue #114 kobalicek 2015-11-30 10:00:37 +01:00
  • a910f05c66 Merge pull request #110 from tizgrape/cygwin Petr Kobalicek 2015-11-11 12:20:56 +01:00
  • 1853bd388c Build AsmJit with Windows ABI on Cygwin Hui Z 2015-11-09 17:19:35 +08:00
  • 31c0b46710 Fixed #107 kobalicek 2015-10-25 21:10:39 +01:00
  • dacd9eb641 Fixed #106 kobalicek 2015-10-13 19:18:54 +02:00
  • 4ad2729632 Fixed #105 kobalicek 2015-10-13 11:03:56 +02:00
  • 34131ca895 Merge pull request #101 from blackbird8010/cputicks_now_mac_fix Petr Kobalicek 2015-10-04 13:16:46 +02:00
  • 95f401c600 asmjit::CpuTicks:now(): fixed control flow for first-time call on OS Mac. Helmuth Ploner 2015-10-04 12:22:22 +02:00
  • b0dad1af25 Fixed #98 kobalicek 2015-08-28 17:11:48 +02:00
  • 938691c736 Link update kobalicek 2015-08-25 12:01:02 +02:00
  • 6061d4b7cf Trigger travis-ci. kobalicek 2015-07-02 23:40:39 +02:00
  • bd0d261e8b Fixed #95 kobalicek 2015-06-26 10:30:33 +02:00
  • 6ed69102a4 Fixed vbroadcastss instruction (ymm not honored) (bug in instruction tables) kobalicek 2015-06-23 18:29:36 +02:00
  • 4dbaf70c31 Reduced the size of instruction names array by 2kB by merging shorter names into longer names. kobalicek 2015-06-20 20:50:55 +02:00
  • 7259dc3f45 Minor. kobalicek 2015-06-18 09:50:45 +02:00
  • c3fcc3231a Fixed extrq instruction. kobalicek 2015-06-18 00:11:22 +02:00
  • ecda2e12f1 Fixed AVX instructions vmovss and vmovsd. Improved asmjit_test_opcode to generate code that is easier to verify manually. kobalicek 2015-06-17 22:44:21 +02:00
  • 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. kobalicek 2015-06-17 21:19:29 +02:00
  • ec8eb0dd47 [BUG] Fixed REX.W prefix in short form of arithmetic instruction (REX.W was deleted by opcode = ...) kobalicek 2015-06-15 21:39:26 +02:00
  • 3d3d5f5426 Minor - Fixed asmjit pseudo types used by function builder kobalicek 2015-05-20 19:50:00 +02:00
  • 3d62c94c8e Fixed pextrw SSE instruction, added a possibility to Compiler to handle non-initialized variables in alloc(), spill(), ... kobalicek 2015-05-18 11:33:14 +02:00
  • 9001d2f2b7 Added a possibility to use RIP addressing. kobalicek 2015-03-27 01:12:41 +01:00
  • 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. kobalicek 2015-03-01 17:08:38 +01:00
  • bac4a2b14c Fixed #79 kobalicek 2015-02-28 00:36:50 +01:00
  • fa1f8346e2 Fixed #78 kobalicek 2015-02-27 23:57:58 +01:00
  • 11c09b8b59 Added IDIV test. kobalicek 2015-02-25 09:49:59 +01:00
  • 31f881350e Fixed a minor bug in Compiler::comment(). kobalicek 2015-02-15 20:45:02 +01:00
  • a587fc94d0 - Implemented intersectStates() - Minor changes in logging (logger now prints liveness analysis related to labels) - Removed some TODOs. kobalicek 2015-02-14 15:33:38 +01:00
  • f289d83e5e Fixed #73 kobalicek 2015-02-13 01:23:49 +01:00
  • f0be9f5dd9 Fixed #72 (Memory used by fist/fld was wrongly adjusted). kobalicek 2015-02-12 23:07:09 +01:00
  • 5f04cbb8ec Added support return values that are using FPU (function call and function return). kobalicek 2015-02-09 03:27:19 +01:00
  • 351fbcbf57 Added 32-bit build to travis-ci build matrix (will fail). kobalicek 2015-02-09 01:52:27 +01:00
  • bc77b3680f Don't exclude gcc in travis-ci. Asmjit_test should show info about current CPU. kobalicek 2015-02-09 01:11:50 +01:00
  • ac37abcb36 Travis experiment. kobalicek 2015-02-09 00:56:49 +01:00
  • 0b1fae4438 Fixed some clang warnings. kobalicek 2015-02-09 00:51:12 +01:00
  • 24941e5ab9 Fixed return code in asmjit_test_x86. kobalicek 2015-02-09 00:09:22 +01:00
  • 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. kobalicek 2015-02-09 00:03:27 +01:00
  • ba1c7ef145 Added a test related to issue #70. kobalicek 2015-02-07 15:21:10 +01:00
  • d82243c4c1 Fixed #68 kobalicek 2015-01-31 13:32:49 +01:00
  • 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. kobalicek 2015-01-24 14:27:35 +01:00
  • 6d24372579 X86CpuInfo::callCpuId() - added support for VS2008 and lesser. kobalicek 2015-01-21 18:59:34 +01:00
  • 8b3a10dc22 Minor. kobalicek 2015-01-20 00:07:36 +01:00
  • 85c406c2ba Added casting methods to X86GpReg, X86XmmReg, X86YmmReg, and X86ZmmReg. kobalicek 2015-01-18 22:10:36 +01:00
  • 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). kobalicek 2015-01-13 22:48:52 +01:00
  • 728490a4bf CpuInfo and X86CpuInfo can now compile under VS2003. kobalicek 2015-01-11 20:57:19 +01:00
  • 099f4a0180 Don't use _BitScanForward while compiling by VS2003 kobalicek 2015-01-11 20:54:09 +01:00
  • 4e308cce39 Fixed typo in callCpuId when compiled by VS2003. kobalicek 2015-01-11 20:47:10 +01:00