1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2026-01-13 05:01:00 +00:00
serenity/Meta/CMake
Idan Horowitz e28af4a2fc Kernel: Stop using HashMap in Mutex
This commit removes the usage of HashMap in Mutex, thereby making Mutex
be allocation-free.

In order to achieve this several simplifications were made to Mutex,
removing unused code-paths and extra VERIFYs:
 * We no longer support 'upgrading' a shared lock holder to an
   exclusive holder when it is the only shared holder and it did not
   unlock the lock before relocking it as exclusive. NOTE: Unlike the
   rest of these changes, this scenario is not VERIFY-able in an
   allocation-free way, as a result the new LOCK_SHARED_UPGRADE_DEBUG
   debug flag was added, this flag lets Mutex allocate in order to
   detect such cases when debugging a deadlock.
 * We no longer support checking if a Mutex is locked by the current
   thread when the Mutex was not locked exclusively, the shared version
   of this check was not used anywhere.
 * We no longer support force unlocking/relocking a Mutex if the Mutex
   was not locked exclusively, the shared version of these functions
   was not used anywhere.
2022-01-29 16:45:39 +01:00
..
Superbuild Everywhere: Fix spelling mistakes 2022-01-07 15:44:42 +01:00
all_the_debug_macros.cmake Kernel: Stop using HashMap in Mutex 2022-01-29 16:45:39 +01:00
code_generators.cmake Meta: Use Lagom:: namespaced names for code generators 2021-09-15 19:04:52 +04:30
common_options.cmake CMake: Add HACKSTUDIO_BUILD option for building from Hack Studio 2022-01-12 14:55:19 +01:00
commonmark_spec.cmake Tests: Test LibMarkdown against commonmark test suite 2021-08-31 16:53:51 +02:00
lagom-install-config.cmake Lagom: Add proper install rules 2021-07-29 21:46:25 +01:00
lagom_options.cmake Meta: Enable ccache for Lagom by default 2021-10-21 04:35:10 -07:00
pnp_ids.cmake LibEDID: Do not check if ${PNP_IDS_EXPORT_PATH} exists in pnp_ids.cmake 2022-01-26 16:37:38 +01:00
serenity_components.cmake Meta: Fix typos 2021-10-01 01:06:40 +01:00
serenity_options.cmake Toolchain: Add support for building the userland with the mold linker 2022-01-24 10:41:47 +00:00
time_zone_data.cmake Meta: Download TZDB data with fallible download function 2022-01-26 00:22:53 +00:00
unicode_data.cmake LibUnicode: Create a nearly empty generator for relative-time formatting 2022-01-27 21:16:44 +00:00
utils.cmake Meta: Add a CMake function to download remote files during the build 2022-01-26 00:22:53 +00:00
wasm_spec_tests.cmake Meta: Update WebAssembly testsuite branch name 2021-11-11 09:20:04 +01:00