kobalicek
d38b12a2b5
Switched to a newer testing framework, fixed warnings on AArch64
2023-03-05 15:28:27 +01:00
kobalicek
76520a513d
Use MFD_CLOEXEC when using memfd_create, documentation update
2023-03-05 13:23:53 +01:00
kobalicek
915186f6c5
[Bug] Virtual memory changes - addressing remaining issues on NetBSD
...
Changes related to VirtMem
* Moved memory mapping code to mapMemory() and unmapMemory() helper functions
* Added MemoryFlags::kMapShared to optionally allow MAP_SHARED when necessary
* Clarified that MAP_SHARED is used by dual mapping by default
* Extends MemoryFlags::kMMapMax... to use PROT_MPROTECT on NetBSD
* Changed NetBSD dual mapping code to use MAP_SHARED to avoid COW
Changes related to JitAllocator
* Propagate error from VirtMem (not just OOM) when VirtMem allocation failed
* Added more tests to verify that RW + RX regions share the same content
2023-03-02 15:53:45 +01:00
Nicolas Roussel
d4dfd8e865
[Bug] Don't compile formatter API of disabled backends ( #400 )
2023-02-28 18:34:59 +01:00
kobalicek
c87476dd5d
[Bug] Use ReadWrite scope to fill memory in JitAllocator::shrink() (MAP_JIT)
2023-02-27 20:41:08 +01:00
kobalicek
965d19506f
[CI] Updated build matrix, updated docs regarding CI
2023-02-25 00:46:33 +01:00
kobalicek
8552e286c2
[CI] Updated to use build-actions new prepare-environment
2023-02-23 16:18:07 +01:00
kobalicek
d5b2cd2ba8
[Bug] Don't check for TARGET_OS_XXX before checking for __APPLE__ (VirtMem)
2023-02-23 08:43:42 +01:00
kobalicek
9d33c892f7
[Bug] Use mremap() to allocate a dual mapped region on NetBSD
...
In addition, always enable DualMapping when RWX pages are not
possible to allocate in JitAllocator, because otherwise the
allocator would not be able to allocate memory for JIT code
execution.
New CI runners to test FreeBSD, NetBSD, and OpenBSD are also
provided.
2023-02-23 00:40:20 +01:00
uvxwx
8c31a8f34f
JitRuntime: removed duplicate code ( #397 )
2023-02-18 19:48:58 +01:00
kobalicek
e136425673
[Bug] Added unsigned case to imul with 16-bit and 32-bit immediate
2023-01-18 16:49:19 +01:00
kobalicek
f97475e5ab
Fixed a signed/unsigned conversion warning when compiling for OSX target
2023-01-17 13:08:22 +01:00
kobalicek
3ee3846283
[ABI] Raised ABI version due to recent changes
2023-01-16 14:55:03 +01:00
kobalicek
0186d3022d
[ABI] Optimized size of instruction name data (X86, AArch64)
2023-01-16 00:25:48 +01:00
kobalicek
001c5231e6
[ABI] Added more CPU feature identifiers and detection (X86)
2023-01-16 00:16:56 +01:00
kobalicek
1ed8b77f5b
[ABI] Added CpuFeatures to Target and CodeHolder, improved test_perf
2023-01-16 00:10:56 +01:00
kobalicek
a9ac13536e
[Bug] Removed a debugging printf()
2023-01-08 21:49:01 +01:00
kobalicek
8a33b814d6
[Bug] Assign inline comments to Invoke/Func nodes, annotate without Logger
2023-01-08 14:34:36 +01:00
kobalicek
6a414ea141
Added a possibility to reset a red zone in FuncFrame
2023-01-08 14:34:07 +01:00
kobalicek
9f6d677615
[Bug] Fixed push/pop RW instruction data (segment and GP interfering each other)
2023-01-08 13:54:47 +01:00
kobalicek
5c18fcafc5
[Bug] Don't repeat comment as inline comment when formatting a Builder/Compiler Node
2023-01-07 11:57:56 +01:00
kobalicek
5b5b0b3877
[CI] Updated CI configurations
2022-12-10 15:07:55 +01:00
kobalicek
45f3b764b3
[Bug] Fixed a ModRM/MR check in X86 assembler (mov instruction) ( fixes #392 )
2022-11-26 00:05:25 +01:00
Matthias Moninger
0c03ed2f74
Use static constexpr for RegTraits to make it possible to use asmjit in CLR environment ( fixes #386 )
2022-11-10 16:58:41 +01:00
aegistudio
5af57595a9
[Bug] Fixed LDURSW instruction on AArch64 ( #389 )
...
The instruction was wrongly described as supporting both W/X registers, however, it only supports X register.
2022-11-10 10:11:05 +01:00
Herman Semenov
ae63ced6dd
Fixed offset index predicate in arm::Mem::post() ( #388 )
2022-11-04 09:54:19 +01:00
kobalicek
8f2c237b83
Added x86::Mem::cloneResized() to complement cloneAdjusted() and cloneBroadcasted()
2022-10-18 18:43:48 +02:00
kobalicek
15a6036618
Fixed iOS compilation (reworked MAP_JIT detection, and pthread_jit_write_protect_np() support)
2022-10-09 19:30:14 +02:00
Viktor Chlumský
bb3dc125fa
Visual Studio 2015/2017 compatibility ( #383 )
2022-10-09 13:05:20 +02:00
Peter Meerwald-Stadler
8dd64c32ac
[Doc] Fixed some typos ( #382 )
2022-10-07 10:58:58 +02:00
kobalicek
052b4430e9
Fixed indirect jumps to a single label (Compiler) ( fixes #380 )
2022-09-18 10:26:53 +02:00
kobalicek
5c469e3f7c
Reversed the order of visualizing shuffles (via ExplainImm) to reflect their composition
2022-07-24 17:04:00 +02:00
kobalicek
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
2022-07-24 13:51:53 +02:00
kobalicek
2ae2d897f4
[CI] Use newer macos images as the older ones were deprecated
2022-07-21 21:52:33 +02:00
kobalicek
c59847629d
Use casting to suppress -Wbitwise-instead-of-logical warning instead of suppressing it globally
2022-07-02 10:03:51 +02:00
Orvid King
d3fbf7c9bc
Fix an instance of -Wdeprecated-copy ( #376 )
2022-06-29 00:34:28 +02:00
kobalicek
35f92e8706
[Bug] The compiler should not bail when there is data before the FuncEnd node
2022-06-27 12:10:40 +02:00
kobalicek
70209cddd7
[Bug] Added a missing JitAllocator::query() ( fixes #375 )
2022-06-25 21:28:19 +02:00
kobalicek
06d0badec5
Suppress -Wbitwise-instead-of-logical warning that was introduced by clang 14
2022-06-22 00:30:34 +02:00
kobalicek
d0cdd70168
[Bug] Fixed incorrect encoding of LDRSH instruction with [base+imm] addressing (AArch64) ( fixes #372 )
2022-06-20 09:16:39 +02:00
kobalicek
24863770d6
[Doc] Updated documentation to use new API (fixes not fixed #368 )
2022-06-17 12:35:21 +02:00
kobalicek
4244182486
[Doc] Updated documentation to use new API instead of the removed one ( fixes #368 )
2022-06-17 12:32:34 +02:00
kobalicek
d925605671
[Bug] Fixed incorrect encoding of LDRSB and LDRSH with [base+index] (AArch64) ( fixes #370 )
2022-06-17 12:26:34 +02:00
kobalicek
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
2022-06-05 22:59:38 +02:00
kobalicek
a4cb51b532
[Bug] Fixed not cloberring YMM|ZMM registers in function calls that preserve only low 128-bits of vector registers
2022-04-10 00:32:57 +02:00
kobalicek
8fdee13aea
[Opt] Added a feature to the Compiler to remove dead moves (moves to itself) when it's provable that it's safe
2022-04-06 13:20:00 +02:00
Adrian Vogelsgesang
752eb38a4d
[Bug] Fix formatting of anonymous labels ( #362 )
...
Anonymous labels accidentally called `sb.append` instead of
`sb.appendFormat` which messes up the label's formatting.
2022-04-05 13:18:10 +02:00
Adrian Vogelsgesang
a876e4d1cd
Fixed typos in comments ( #361 )
2022-04-02 00:26:56 +02:00
kobalicek
e41f1c0fd7
Cleaned up AArch64 RAPass to not shadow variables in _rewrite() ( Fixes #359 )
2022-04-01 00:41:54 +02:00
kobalicek
7342f7d78d
Added a pseudo instruction 'loadAddressOf()' to load a memory address into a register (Compiler/AArch64)
2022-03-27 22:33:35 +02:00