lean4-htt/src/runtime
Henrik Böving 1b5a52a5e9
feat: Std.BaseMutex.tryLock and Mutex.tryAtomically (#7751)
This PR adds `Std.BaseMutex.tryLock` and `Std.Mutex.tryAtomically` as
well as unit tests for our locking and condition variable primitives.

---------

Co-authored-by: Markus Himmel <markus@lean-fro.org>
2025-03-31 12:19:09 +00:00
..
uv feat: UDP socket support using LibUV (#7574) 2025-03-26 15:04:25 +00:00
alloc.cpp fix: heartbeats from realizeConst should be ignored (#7473) 2025-03-13 15:10:29 +00:00
alloc.h fix: heartbeats from realizeConst should be ignored (#7473) 2025-03-13 15:10:29 +00:00
allocprof.cpp chore: reduce src/include/lean 2021-09-07 08:24:54 -07:00
allocprof.h chore: reduce src/include/lean 2021-09-07 08:24:54 -07:00
apply.cpp chore: update script/apply.lean semantics 2022-11-07 19:47:04 -08:00
apply.h fix: split libInit_shared out of libleanshared (#3421) 2024-02-22 19:16:32 +00:00
array_ref.h perf: fix implementation of move constructors and move assignment ope… (#4700) 2024-08-02 17:55:03 +00:00
buffer.h chore: re-land "perf: use C23's free_sized when available" (#6844) 2025-02-04 12:43:56 +00:00
CMakeLists.txt perf: use mimalloc by default (#7710) 2025-03-30 22:40:41 +00:00
compact.cpp feat: API to avoid deadlocks from dropped promises (#6958) 2025-02-07 15:33:10 +00:00
compact.h feat: API to avoid deadlocks from dropped promises (#6958) 2025-02-07 15:33:10 +00:00
debug.cpp feat: reimplement assert without system headers 2021-11-18 09:42:35 +01:00
debug.h fix: split libInit_shared out of libleanshared (#3421) 2024-02-22 19:16:32 +00:00
exception.cpp chore: reduce src/include/lean 2021-09-07 08:24:54 -07:00
exception.h fix: split libInit_shared out of libleanshared (#3421) 2024-02-22 19:16:32 +00:00
flet.h chore: reduce src/include/lean 2021-09-07 08:24:54 -07:00
hash.cpp chore: replace all hashes by murmurhash 2022-12-01 20:18:14 -08:00
hash.h feat: define Int8 (#5790) 2024-10-25 06:06:40 +00:00
init_module.cpp feat: implement basic async IO with timers (#6505) 2025-01-13 18:11:04 +00:00
init_module.h fix: split libInit_shared out of libleanshared (#3421) 2024-02-22 19:16:32 +00:00
int.h feat: define ISize and basic operations on it (#5961) 2024-11-05 15:08:19 +00:00
interrupt.cpp fix: Windows build (#4628) 2024-07-02 20:32:00 +00:00
interrupt.h fix: Windows build (#4628) 2024-07-02 20:32:00 +00:00
io.cpp chore: fix fsanitize preset (#7651) 2025-03-24 09:17:45 +00:00
io.h feat: use libuv for tempfiles (#5135) 2024-10-14 13:56:56 +00:00
libuv.cpp feat: UDP socket support using LibUV (#7574) 2025-03-26 15:04:25 +00:00
libuv.h feat: UDP socket support using LibUV (#7574) 2025-03-26 15:04:25 +00:00
list_ref.h perf: fix implementation of move constructors and move assignment ope… (#4700) 2024-08-02 17:55:03 +00:00
memory.cpp chore: put throws in separate function for debugger 2023-01-23 09:27:09 -08:00
memory.h fix: split libInit_shared out of libleanshared (#3421) 2024-02-22 19:16:32 +00:00
mpn.cpp feat: add mpn module 2021-10-25 15:57:19 -07:00
mpn.h feat: add mpn module 2021-10-25 15:57:19 -07:00
mpz.cpp perf: use mimalloc for all Lean allocations (#7736) 2025-03-30 23:00:17 +00:00
mpz.h feat: add Int16/Int32/Int64 (#5885) 2024-11-04 13:18:05 +00:00
mutex.cpp feat: Std.BaseMutex.tryLock and Mutex.tryAtomically (#7751) 2025-03-31 12:19:09 +00:00
mutex.h feat: Mutex, Condvar 2022-09-05 08:52:46 -07:00
object.cpp perf: store mimalloc object size in header (#7734) 2025-03-31 06:52:56 +00:00
object.h feat: socket support using LibUV (#6683) 2025-03-19 13:54:51 +00:00
object_ref.cpp chore: reduce src/include/lean 2021-09-07 08:24:54 -07:00
object_ref.h perf: add lean_instantiate_level_mvars (#4910) 2024-08-04 18:31:44 +00:00
option_ref.h perf: add lean_instantiate_level_mvars (#4910) 2024-08-04 18:31:44 +00:00
optional.h perf: fix implementation of move constructors and move assignment ope… (#4700) 2024-08-02 17:55:03 +00:00
pair_ref.h chore: reduce src/include/lean 2021-09-07 08:24:54 -07:00
platform.cpp feat: add internal flag lean_has_llvm_backend 2023-11-02 23:21:47 +01:00
platform.h chore: reduce src/include/lean 2021-09-07 08:24:54 -07:00
process.cpp feat: IO.getTID (#6049) 2024-11-16 19:13:11 +00:00
process.h chore: reduce src/include/lean 2021-09-07 08:24:54 -07:00
sharecommon.cpp feat: API to avoid deadlocks from dropped promises (#6958) 2025-02-07 15:33:10 +00:00
sharecommon.h fix: LEAN_EXPORT in sharecommon (#4893) 2024-08-01 13:03:25 +02:00
sstream.h chore: reduce src/include/lean 2021-09-07 08:24:54 -07:00
stack_overflow.cpp fix: Do not overwrite existing signal handlers (#5062) 2024-08-19 09:11:38 +00:00
stack_overflow.h chore: reduce src/include/lean 2021-09-07 08:24:54 -07:00
stackinfo.cpp fix: make the stack handling more robust to sanitizers and -O3 (#6143) 2024-11-22 15:10:20 +00:00
stackinfo.h fix: split libInit_shared out of libleanshared (#3421) 2024-02-22 19:16:32 +00:00
string_ref.h perf: fix implementation of move constructors and move assignment ope… (#4700) 2024-08-02 17:55:03 +00:00
thread.cpp chore: missing include on Windows (#4919) 2024-08-05 15:50:43 +00:00
thread.h feat: thread initialization for reverse FFI (#3632) 2024-03-07 17:02:47 +00:00
utf8.cpp fix: validate UTF-8 at C++ -> Lean boundary (#3963) 2024-06-19 14:05:48 +00:00
utf8.h fix: validate UTF-8 at C++ -> Lean boundary (#3963) 2024-06-19 14:05:48 +00:00