Commit Graph

  • dbfe3900e4 [Bug] Fix breakages that occur when targeting WASM with Emscripten. (#422) smcallis 2023-11-15 01:15:30 -07:00
  • b2a01018ad [Bug] Fixed ASMJIT_NO_STDCXX option broken by previous commit kobalicek 2023-11-12 19:04:50 +01:00
  • 10ae662219 Removed the dependency on a <new> header kobalicek 2023-11-12 12:53:08 +01:00
  • 30b83beda7 [Doc] Minor fix in x86::Assembler documentation kobalicek 2023-11-06 14:13:33 +01:00
  • 7e64eabca4 [CI] Updated BSD versions on CI kobalicek 2023-10-07 10:54:30 +02:00
  • 6e71f6be0c Use override instead of virtual on destructors kobalicek 2023-10-06 23:04:08 +02:00
  • 4413d78c98 [CI] Removed NetBSD builds because the VM doesn't work kobalicek 2023-10-06 12:06:17 +02:00
  • c1e02dc558 [Doc] Fixed documentation of SystemV X86_64 calling convention. (#417) Xing Guo 2023-10-06 17:06:48 +08:00
  • 917f19d940 Added NodeList to abstract double linked list of nodes kobalicek 2023-09-14 17:00:28 +02:00
  • 87bec89b10 [API] Deprecated the use of Operand::size() kobalicek 2023-09-14 16:47:52 +02:00
  • 46bdb67262 Fixed -fno-semantic-interposition warning with apple-clang kobalicek 2023-09-11 10:47:10 +02:00
  • 8c9b0073a7 Fixed implicit long to int conversion (VirtMem) kobalicek 2023-09-11 10:20:58 +02:00
  • cfc0b8ffb0 Updated docs, added back deprecated CpuFeature getters kobalicek 2023-09-10 19:29:26 +02:00
  • 2fa0b3f8fb [ABI] Added implementation of all pure virtual functions kobalicek 2023-09-10 16:32:46 +02:00
  • f6a9c86b26 Use ASMJIT_INLINE_NODEBUG to make debugging easier kobalicek 2023-09-10 13:45:49 +02:00
  • e4e61c4f15 [ABI] Completely reworked instruction DB and generators kobalicek 2023-09-10 00:09:34 +02:00
  • 8e2f4de484 [ABI] Reworked JitAllocator to alloc spans and to use explicit write API kobalicek 2023-09-09 10:39:34 +02:00
  • f21f4a4ba2 Added support for lo12 label operation aarch64_lo12 kobalicek 2023-05-06 13:38:03 +02:00
  • bb47dc3ede Added a workaround to JitAllocator to work well with clang-17 UBSAN kobalicek 2023-09-08 12:44:50 +02:00
  • 15919150fb Fixed asmjit_test_perf to use something else than mips() name kobalicek 2023-08-18 10:03:37 +02:00
  • 63fdb762f0 [Bug] Fixed constpool tests to not fail on big-endian machines kobalicek 2023-08-07 15:33:44 +02:00
  • 3577608cab [MSVC] workaround mvn macro and detect ARM64 (#407) ZeeWanderer 2023-04-28 02:14:41 +03:00
  • 5635cf463a Added a unique register metadata to asmjit's instruction database kobalicek 2023-04-26 22:00:56 +02:00
  • 4163483b36 [Bug] Properly detect MMX2 on Intel CPUs via CPUID.SSE flag kobalicek 2023-04-26 11:07:20 +02:00
  • 42894f67e5 [Bug] Fixed VPTERNLOG[D|Q] RW info when the predicate doesn't influence DST kobalicek 2023-04-26 01:11:05 +02:00
  • ff6775f424 [Bug] Fixed x86::Compiler to not rewrite reg->mem when embedded rounding is used kobalicek 2023-04-25 19:58:18 +02:00
  • 51b10b19b6 [Bug] Fixed build having ASMJIT_NO_TEXT enabled (AArch64) kobalicek 2023-03-24 23:34:19 +01:00
  • f1ea8a46c3 [Bug] Fixed ASMJIT_NO_INTROSPECTION build (#403) Adrian Vogelsgesang 2023-03-22 08:48:33 +01:00
  • 0cd18daa5d [Bug] Properly report AVX512 when querying GATHER instructions without {k} kobalicek 2023-03-11 13:06:02 +01:00
  • c1019f1642 Improved testing kobalicek 2023-03-11 00:30:50 +01:00
  • d7edac813a [Bug] Don't crash when formatting label without having an emitter kobalicek 2023-03-10 20:20:20 +01:00
  • 1098b7d887 [Bug] Don't enable both MAP_JIT and MAP_SHARED (#402) John Högberg 2023-03-06 10:51:53 +01:00
  • d38b12a2b5 Switched to a newer testing framework, fixed warnings on AArch64 kobalicek 2023-03-05 15:27:51 +01:00
  • 76520a513d Use MFD_CLOEXEC when using memfd_create, documentation update kobalicek 2023-03-04 12:10:41 +01:00
  • 915186f6c5 [Bug] Virtual memory changes - addressing remaining issues on NetBSD kobalicek 2023-03-02 13:53:55 +01:00
  • d4dfd8e865 [Bug] Don't compile formatter API of disabled backends (#400) Nicolas Roussel 2023-02-28 18:34:59 +01:00
  • c87476dd5d [Bug] Use ReadWrite scope to fill memory in JitAllocator::shrink() (MAP_JIT) kobalicek 2023-02-27 20:41:08 +01:00
  • 965d19506f [CI] Updated build matrix, updated docs regarding CI kobalicek 2023-02-25 00:46:33 +01:00
  • 8552e286c2 [CI] Updated to use build-actions new prepare-environment kobalicek 2023-02-23 16:18:07 +01:00
  • d5b2cd2ba8 [Bug] Don't check for TARGET_OS_XXX before checking for __APPLE__ (VirtMem) kobalicek 2023-02-23 08:11:32 +01:00
  • 9d33c892f7 [Bug] Use mremap() to allocate a dual mapped region on NetBSD kobalicek 2023-02-23 00:28:27 +01:00
  • 8c31a8f34f JitRuntime: removed duplicate code (#397) uvxwx 2023-02-18 22:48:58 +04:00
  • e136425673 [Bug] Added unsigned case to imul with 16-bit and 32-bit immediate kobalicek 2023-01-18 16:49:19 +01:00
  • f97475e5ab Fixed a signed/unsigned conversion warning when compiling for OSX target kobalicek 2023-01-17 13:08:22 +01:00
  • 3ee3846283 [ABI] Raised ABI version due to recent changes kobalicek 2023-01-16 11:33:07 +01:00
  • 0186d3022d [ABI] Optimized size of instruction name data (X86, AArch64) kobalicek 2023-01-16 00:25:48 +01:00
  • 001c5231e6 [ABI] Added more CPU feature identifiers and detection (X86) kobalicek 2023-01-16 00:16:44 +01:00
  • 1ed8b77f5b [ABI] Added CpuFeatures to Target and CodeHolder, improved test_perf kobalicek 2023-01-15 16:12:52 +01:00
  • a9ac13536e [Bug] Removed a debugging printf() kobalicek 2023-01-08 21:49:01 +01:00
  • 8a33b814d6 [Bug] Assign inline comments to Invoke/Func nodes, annotate without Logger kobalicek 2023-01-08 13:50:35 +01:00
  • 6a414ea141 Added a possibility to reset a red zone in FuncFrame kobalicek 2023-01-08 14:34:07 +01:00
  • 9f6d677615 [Bug] Fixed push/pop RW instruction data (segment and GP interfering each other) kobalicek 2023-01-08 13:54:47 +01:00
  • 5c18fcafc5 [Bug] Don't repeat comment as inline comment when formatting a Builder/Compiler Node kobalicek 2023-01-07 11:57:56 +01:00
  • 5b5b0b3877 [CI] Updated CI configurations kobalicek 2022-12-10 12:56:50 +01:00
  • 45f3b764b3 [Bug] Fixed a ModRM/MR check in X86 assembler (mov instruction) (fixes #392) kobalicek 2022-11-26 00:05:25 +01:00
  • 0c03ed2f74 Use static constexpr for RegTraits to make it possible to use asmjit in CLR environment (fixes #386) Matthias Moninger 2022-11-10 17:58:41 +02:00
  • 5af57595a9 [Bug] Fixed LDURSW instruction on AArch64 (#389) aegistudio 2022-11-10 17:11:05 +08:00
  • ae63ced6dd Fixed offset index predicate in arm::Mem::post() (#388) Herman Semenov 2022-11-04 08:54:19 +00:00
  • 8f2c237b83 Added x86::Mem::cloneResized() to complement cloneAdjusted() and cloneBroadcasted() kobalicek 2022-10-18 18:43:48 +02:00
  • 15a6036618 Fixed iOS compilation (reworked MAP_JIT detection, and pthread_jit_write_protect_np() support) kobalicek 2022-10-09 13:06:28 +02:00
  • bb3dc125fa Visual Studio 2015/2017 compatibility (#383) Viktor Chlumský 2022-10-09 13:05:20 +02:00
  • 8dd64c32ac [Doc] Fixed some typos (#382) Peter Meerwald-Stadler 2022-10-07 10:58:58 +02:00
  • 052b4430e9 Fixed indirect jumps to a single label (Compiler) (fixes #380) kobalicek 2022-09-18 10:02:39 +02:00
  • 5c469e3f7c Reversed the order of visualizing shuffles (via ExplainImm) to reflect their composition kobalicek 2022-07-24 17:04:00 +02:00
  • 3502a8fe0d [Build] Changed CMAKE_CXX_SIMULATE_ID to CMAKE_CXX_COMPILER_FRONTEND_VARIANT as that seems to be the valid variable for detecting a MSVC frontend kobalicek 2022-07-24 13:51:53 +02:00
  • 2ae2d897f4 [CI] Use newer macos images as the older ones were deprecated kobalicek 2022-07-21 21:52:33 +02:00
  • c59847629d Use casting to suppress -Wbitwise-instead-of-logical warning instead of suppressing it globally kobalicek 2022-07-01 23:53:14 +02:00
  • d3fbf7c9bc Fix an instance of -Wdeprecated-copy (#376) Orvid King 2022-06-28 15:34:28 -07:00
  • 35f92e8706 [Bug] The compiler should not bail when there is data before the FuncEnd node kobalicek 2022-06-27 12:10:40 +02:00
  • 70209cddd7 [Bug] Added a missing JitAllocator::query() (fixes #375) kobalicek 2022-06-25 21:28:19 +02:00
  • 06d0badec5 Suppress -Wbitwise-instead-of-logical warning that was introduced by clang 14 kobalicek 2022-06-21 23:47:57 +02:00
  • d0cdd70168 [Bug] Fixed incorrect encoding of LDRSH instruction with [base+imm] addressing (AArch64) (fixes #372) kobalicek 2022-06-20 09:16:39 +02:00
  • 24863770d6 [Doc] Updated documentation to use new API (fixes not fixed #368) kobalicek 2022-06-17 12:35:21 +02:00
  • 4244182486 [Doc] Updated documentation to use new API instead of the removed one (fixes #368) kobalicek 2022-06-17 12:32:34 +02:00
  • d925605671 [Bug] Fixed incorrect encoding of LDRSB and LDRSH with [base+index] (AArch64) (fixes #370) kobalicek 2022-06-17 12:26:28 +02:00
  • 33a31f04e8 [Bug] Fixed queryFeatures() to properly return AVX-512 requirements of shift instructions that use memory operands [Bug] Fixed queryFeatures() to properly return AVX-512 requirements of some floating-point conversion instructions [Opt] Slightly improved the performance of BitWordIterator and friends possibly taking advantage of BMI extensions [API] Removed BitWordFlipIterator that was never used by the library [Enh] Log the whole instruction if the validation fails in asmjit::Builder kobalicek 2022-06-05 22:45:15 +02:00
  • a4cb51b532 [Bug] Fixed not cloberring YMM|ZMM registers in function calls that preserve only low 128-bits of vector registers kobalicek 2022-04-10 00:32:57 +02:00
  • 8fdee13aea [Opt] Added a feature to the Compiler to remove dead moves (moves to itself) when it's provable that it's safe kobalicek 2022-04-05 00:00:30 +02:00
  • 752eb38a4d [Bug] Fix formatting of anonymous labels (#362) Adrian Vogelsgesang 2022-04-05 13:18:10 +02:00
  • a876e4d1cd Fixed typos in comments (#361) Adrian Vogelsgesang 2022-04-02 00:26:56 +02:00
  • e41f1c0fd7 Cleaned up AArch64 RAPass to not shadow variables in _rewrite() (Fixes #359) kobalicek 2022-04-01 00:41:54 +02:00
  • 7342f7d78d Added a pseudo instruction 'loadAddressOf()' to load a memory address into a register (Compiler/AArch64) kobalicek 2022-03-27 22:33:35 +02:00
  • 21a31b8a33 [Bug] Fixed incorrect control flow information of 'b' instruction (AArch64) (Fixes #358) kobalicek 2022-03-20 22:40:31 +01:00
  • d754de58c2 [Bug] Fixed logging without ARM condition codes when logged via a64::Assembler kobalicek 2022-03-20 19:27:04 +01:00
  • f1a399c4fe [Bug] Fixed invalid operand order in AArch64 register move (Compiler) kobalicek 2022-03-15 10:36:41 +01:00
  • 6efd4d563d Added missing baseReg() and indexReg() to arm::Mem operand kobalicek 2022-02-24 22:39:07 +01:00
  • a4e1e88374 [Bug] Do not link to pthread library on Android (there is no such library) kobalicek 2022-02-20 17:38:27 +01:00
  • 62ffe595a2 [Bug] Fixed RM features reported by queryRWInfo (X86) kobalicek 2022-02-19 19:46:55 +01:00
  • 28c4d8c528 [Opt] Optimized memory footprint of Compiler when generating huge code kobalicek 2022-02-16 12:32:50 +01:00
  • 23ddf56b00 [ABI] Initial AArch64 support kobalicek 2022-02-08 16:25:47 +01:00
  • 45b0114781 [ABI] Added the possibility to retrieve stack locations of virtual registers and explicit stack allocations after compilation kobalicek 2022-01-23 13:16:27 +01:00
  • 9a92d2f972 [Bug] Removed invalid assumption in zonetree (fixes #352) kobalicek 2022-01-18 09:53:31 +01:00
  • 2a706fd2ba Reworked unaligned memory access to work better with GCC 11 kobalicek 2021-12-14 19:03:31 +01:00
  • 2cfa686ebd [API] Fixed most static analysis issues reported by clang [Bug] Workarounded GCC 11 issue affecting unaligned loads/stores (most likely a compiler bug) kobalicek 2021-12-13 23:58:02 +01:00
  • 996deae327 [ABI] Refactored AsmJit to use strong-typed enums, this breaks both API and ABI [ABI] Added ABI version as an inline namespace, which forms asmjit::_abi_MAJOR_MINOR [ABI] Added support for AVX512_FP16, 16-bit broadcast, and AVX512_FP16 tests [ABI] Added initial support for consecutive registers into instruction database and register allocator [ABI] Added a possibility to use temporary memory in CodeHolder's zone [ABI] Compiler::setArg() is now deprecated, use FuncNode::setArg() [Bug] Fixed correct RW information of instructions that only support implicit zeroing with {k} [Bug] Fixed broadcast to be able to broadcast bcst16 operands kobalicek 2021-12-13 09:11:58 +01:00
  • 4ec760a3d1 Fixed typos in documentation (#348) Kian Meng Ang 2021-11-13 16:24:21 +08:00
  • d0d14ac774 [Bug] Fixed compile-time issue with ASMJIT_NONCOPYABLE/NONCONSTRUCTIBLE for GCC 11 in C++20 mode (#343) tetzank 2021-09-03 14:52:26 +02:00
  • d02235b834 Refactored naming of data types in formatted text, which is now part of architecture traits kobalicek 2021-06-27 00:08:17 +02:00
  • 0a709c7a28 In addition to LEA, allow CL* and PREFETCH* instructions to have memory operand of any size kobalicek 2021-06-27 00:39:18 +02:00
  • c329fa7ce0 [Bug] Don't emit useless 'sub esp, 0' after calling a void function (Compiler) kobalicek 2021-06-24 23:51:48 +02:00