-
Notifications
You must be signed in to change notification settings - Fork 40
Expand file tree
/
Copy pathCHANGES
More file actions
38 lines (33 loc) · 1.64 KB
/
CHANGES
File metadata and controls
38 lines (33 loc) · 1.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Jan 8, 2026
- Added wait/notify* APIs to rl::atomic_flag
- Improve use-after-free detection in signature object
Jan 7, 2026
- Added more support for GCC12, 13, and 14 with libstdc++
- Added support for C++20's std::atomic wait/notify* APIs.
- Relacy no longer defines memory_order_* macros to insert the rl::debug_info
with the current file/line information. In C++20 mode, Relacy uses
std::source_location to do this automatically without relying on macros.
As of this release, Relacy introduces RELACY_ENABLE_MEMORY_ORDER_DEBUG_INFO_DEFAULTING
to allow using the older behavior, which should only be needed in pre-C++20.
Version 2.4
Features:
+ Support for futex(FUTEX_WAIT/FUTEX_WAKE)
+ Linux/Darwin performance improved (2.5x for Linux, 7x for Darwin)
Fixes:
+ Fixed a bunch of issues with WaitForMultipleObjects()/SignalObjectAndWait()
+ Fixed rare spurious memory leak reports related to test progress reporting
Version 2.3
Features:
+ Support for FlushProcessWriteBuffers()
Version 2.2
Features:
+ Support for pthread_mutex_timedlock()
+ Support for ETIMEDOUT, EINTR in pthread_cond_timedwait()/pthread_cond_wait()
+ rl::hash_ptr(p, sz) function which provides deterministic hashing of pointers
Fixes:
+ Win32 mutex is now recursive
+ Compilation issue on MSVC x64 when RL_DEBUGBREAK_ON_ASSERT/RL_DEBUGBREAK_ON_FAILURE defined
+ Fixed OOM crash when execution history is very large
+ Fixed rare crash during iteration count estimation in context bound scheduler
+ Fixed bug in pthread_rwlock/SRWLOCK that at most 2 readers may acquire it simultaneously
+ Fixed bug regarding false race detection when simulation runs for very long time (int overflow)