Howard Chu
6f756473c0
Don't use exceptions in low-level mem allocator
2022-05-09 17:28:59 +01:00
tevador
905ee34f8b
Do not use reserved identifiers in intrin_portable.h
...
Identifiers starting with an underscore followed by an uppercase
letter are reserved for the compiler.
2021-11-29 21:33:42 +01:00
hyc
9efc398c19
Merge pull request #227 from selsta/randomx-benchmark
...
RandomX benchmark 1.1.11
2021-11-19 06:08:59 +00:00
selsta
85a4032f34
RandomX benchmark 1.1.11
2021-11-16 03:05:28 +01:00
Jethro Grassie
4d8ef87936
pageProtect when missing pthread_jit_write_protect_np
2021-11-13 08:53:57 -05:00
Jethro Grassie
31b9b0f8fc
Add runtime checks
2021-11-12 20:59:19 -05:00
Jethro Grassie
c7973839fa
Fix apple-non-arm jit guard
2021-11-12 14:50:41 -05:00
SChernykh
bbc9ccc90b
Fixed a crash in MSVC Debug and RelWithDebInfo builds
...
MSVC debug/relwithdebinfo builds use jmp trampolines for ASM functions, so these must be traversed to get the actual address of the code for each function.
2021-11-06 22:15:07 +01:00
tevador
d589aa29d3
Merge pull request #222 from hyc/relocs
...
Fix absolute address references
2021-11-06 22:02:21 +01:00
tevador
b27283a708
Merge pull request #217 from hyc/issue216
...
Fix #216 - MacOS JIT privs are not ARM-specific
2021-11-06 21:51:16 +01:00
hyc
59c981cc5d
Merge pull request #192 from xiphon/fix-mingw-5.3-cross-compilation
...
__cpuidex: explicit MSVC check, fix MinGW GCC 5.3 cross-compilation
2021-11-06 20:16:29 +00:00
Howard Chu
ae2c241a96
Fix #216 - MacOS JIT privs are not ARM-specific
2021-11-06 20:07:11 +00:00
hyc
088c36fea0
Fix absolute address references
...
Use local symbols instead of global symbols, to prevent problems
with dynamic linker
2021-11-06 17:19:37 +00:00
tevador
8006ac7ec0
Fix native code generator using the wrong hash function
2021-11-06 16:16:26 +01:00
SChernykh
3c8c7ee097
Optimized dataset read ( #211 )
...
* Optimized dataset read
There was a false dependency on readReg2 and readReg3 (caused by `xor rbp, rax` instruction) when reading dataset item (see design.md - 4.6.2 Loop execution, steps 5 and 7). This change uses `ma` register to read dataset item before the whole `rbp` (`ma` and `mx`) is changed, so superscalar and out-of-order CPU can start executing it earlier.
Results: https://i.imgur.com/Bpeq9mx.png
~1% speedup on modern Intel/AMD CPUs.
* ARMv8: optimized dataset read
Break dependency from readReg2 and readReg3.
* Fixed light mode hashing
2021-05-22 13:54:50 +02:00
tevador
c12097400b
Merge pull request #212 from hyc/m1prot
...
Faster W^X policy for apple silicon macs
2021-05-22 12:39:04 +02:00
tevador
0db4c57823
Merge pull request #198 from tevador/pr-applem1
...
Apple silicon: force W^X, enable hardware AES
2021-05-22 12:30:42 +02:00
Howard Chu
d9b7e8c25d
Faster W^X policy for apple silicon macs
2021-05-20 20:35:18 +01:00
SChernykh
2ba7df2844
Fix illegal instruction crash on some ARM systems
...
See https://github.com/xmrig/xmrig/issues/1916
2021-02-01 23:19:14 +01:00
tevador
a44d07c89f
Merge pull request #201 from cryptonote-social/removecode
...
remove unnecessary first-load initialization code
2021-01-28 22:14:03 +01:00
cryptonote-social
529b933fcf
remove unnecessary first-load initialization code
2021-01-23 14:56:35 -08:00
tevador
a38ce601fd
Apple silicon: force W^X, enable hardware AES
2020-11-29 20:39:53 +01:00
tevador
5bfd021e8f
Merge pull request #183 from selsta/map_jit
...
virtual_memory: add MAP_JIT on macOS
2020-11-21 20:45:04 +01:00
xiphon
66c22813f6
__cpuidex: explicit MSVC check, fix MinGW GCC 5.3 cross-compilation
2020-09-07 16:31:11 +00:00
tevador
5ce5f4906c
add --noBatch benchmark option
2020-07-04 14:57:56 +02:00
selsta
7c172f746f
virtual_memory: add MAP_JIT on macOS
2020-06-28 17:29:41 +02:00
tevador
9905ec9c5a
Merge pull request #188 from cryptonote-social/master
...
replace hardcoded literal with its appropriate symbol
2020-06-28 16:36:40 +02:00
tevador
863765bbe6
Merge pull request #185 from tevador/pr-crosscomp
...
Fix windows-target cross-compilation
2020-06-28 16:36:12 +02:00
tevador
a1c08a2f41
Merge pull request #187 from tevador/pr-netbsd
...
Fix compilation and JIT support on NetBSD
1. Disable hugepages (not supported).
2. Force W^X (required).
3. When allocating JIT memory, PROT_EXEC must be reserved
in order to set the pages executable later.
2020-06-28 16:35:19 +02:00
tevador
708a4e50c5
Fix compilation and JIT support on NetBSD:
...
1. Disable hugepages (not supported).
2. Force W^X (required).
3. When allocating JIT memory, PROT_EXEC must be reserved
in order to set the pages executable later.
2020-06-28 16:16:20 +02:00
tevador
32ab5dea54
fix potential use-after-free when reallocating cache
2020-06-27 20:21:06 +02:00
cryptonote-social
a7733de1e7
replace hardcoded literal with its appropriate symbol
2020-06-27 09:53:46 -07:00
tevador
bece0a7206
fix #184
2020-06-09 19:10:56 +02:00
tevador
148b923f71
fix test 92 not failing properly on GCC/amd64
2020-05-06 13:48:53 +02:00
tevador
6a764e90d0
Preserve floating point state when calling randomx_calculate_hash
2020-05-06 12:42:30 +02:00
tevador
01381ccef3
Add a missing function to calculate a batch of hashes
...
Add a test for batch calculation
2020-02-06 18:14:38 +01:00
tevador
30969c0e25
Benchmark version
2019-12-01 21:07:13 +01:00
tevador
aa19c5b9b6
Disable thread affinity on FreeBSD and Android
2019-12-01 20:41:20 +01:00
tevador
3910d49b49
Hide tempHash from the public API
2019-12-01 18:19:09 +01:00
SChernykh
219c02e1e5
Combined hash and fill AES loop ( #166 )
...
Adds more parallelizm into AES loop so modern CPUs can take advantage of it. Also, scratchpad data moves between L1 and L3 caches only one time which saves time and energy per hash.
2019-12-01 16:58:38 +01:00
Vladimir
01914b49cd
Fixes for cmake build with visual studio ( #144 )
...
* Fixed CMake configuration for visual studio build
Added proper asm source and set correct type.
* Disabled stadard layout check of randomx_cache for visual studio debug
Required to silence static_assert which fails on Visual Studio Debug
configuation.
* Fixed warning message and defines check
* Removed unsupported flags for MSVC compiler
* Enabled AVX2 for msvc
* Fixed formatting in CmakeLists
* Added generation of configuration.asm by CMake for MSVC
2019-11-22 18:24:16 +01:00
tevador
7e20c8e56e
Merge pull request #161 from tevador/pr-struct
...
Fix inconsistent class/struct usage
2019-11-22 18:23:11 +01:00
tevador
88268ae325
Improved benchmark instructions
2019-11-22 18:16:58 +01:00
tevador
57545d1c53
Fix inconsistent class/struct usage
2019-11-19 23:17:55 +01:00
SChernykh
e43267fa86
Fix function names for clang on Apple
2019-11-12 13:04:11 +01:00
tevador
7567cef4c6
Fix symbol collisions with blake2b ( #145 )
2019-10-30 20:09:27 +01:00
tevador
53af68c34a
Benchmark v1.1.5
2019-10-23 17:02:22 +02:00
tevador
e3c5ab7002
Merge branch 'master' of git@github.com:tevador/RandomX.git
2019-10-23 16:57:44 +02:00
tevador
a1f0f90ac2
randomx-tests: do not run unsupported tests
2019-10-23 16:57:25 +02:00
tevador
34aba9dc8a
Merge pull request #142 from ston1th/fix_openbsd_tests
...
Fixed tests on OpenBSD
2019-10-23 16:48:13 +02:00