1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 13:38:11 +00:00
serenity/Userland/Libraries
Andreas Kling 07a36c8f80 LibJS: Add a finalization pass to the garbage collector
Doing things in the destructor of a GC-allocated object isn't always
safe, in case it involves accessing other GC-allocated objects.
If they were already swept by GC, we'd be poking into freed memory.

This patch adds a separate finalization pass where GC calls finalize()
on every unmarked cell that's about to be deleted.

It's safe to access other GC objects in finalize(), even if they're
also unmarked.
2022-10-20 19:36:59 +02:00
..
LibArchive Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
LibAudio CMake+Userland: Use CMakeLists from Userland to build Lagom Libraries 2022-10-16 16:36:39 +02:00
LibC LibC: Use proper casting in fgetc and fgetc_unlocked functions 2022-10-18 13:21:38 +02:00
LibCards LibCards+Games: Remove concept of a CardStack being focused 2022-10-10 16:16:01 +01:00
LibChess ChessEngine: Use reduced Board objects in MCTSTree 2022-08-22 21:20:41 +02:00
LibCodeComprehension Everywhere: Fix order of includes and #pragma once 2022-09-18 18:30:05 -07:00
LibCompress LibCompress: Brotli support metadata of skip_length=0 2022-10-11 22:49:33 -06:00
LibConfig SystemServer+LoginServer+Userland: Switch to sid-based sockets 2022-10-03 11:11:29 +02:00
LibCore LibCore: Add argument to specify working directory in Process::spawn 2022-10-17 01:37:58 +02:00
LibCoredump AK+Userland: Stub out code that isn't currently implemented on AARCH64 2022-10-14 13:01:13 +02:00
LibCpp LibCpp: Add .clang-format to disable clang-format for the LibCpp Tests 2022-09-19 15:52:37 -07:00
LibCrypt Everywhere: Explicitly specify the size in StringView constructors 2022-07-12 23:11:35 +02:00
LibCrypto Everywhere: Remove a bunch of dead write-only variables 2022-09-16 05:39:28 +00:00
LibDebug AK+Userland: Stub out code that isn't currently implemented on AARCH64 2022-10-14 13:01:13 +02:00
LibDesktop LibDesktop+Taskbar: Add 'WorkingDirectory' property to app files 2022-10-17 01:37:58 +02:00
LibDeviceTree Libraries: Add LibDeviceTree for manipulating OpenFirmware Device Trees 2021-10-21 19:20:03 -07:00
LibDiff Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
LibDNS CMake+Userland: Use CMakeLists from Userland to build Lagom Libraries 2022-10-16 16:36:39 +02:00
LibDSP LibDSP: Add a fixed mastering processor to Track 2022-07-25 15:25:13 +02:00
LibEDID AK+Everywhere: Add AK_COMPILER_{GCC,CLANG} and use them most places 2022-10-04 23:35:07 +01:00
LibELF AK+Userland: Stub out code that isn't currently implemented on AARCH64 2022-10-14 13:01:13 +02:00
LibFileSystemAccessClient SystemServer+LoginServer+Userland: Switch to sid-based sockets 2022-10-03 11:11:29 +02:00
LibGemini Everywhere: Replace single-char StringView op. arguments with chars 2022-07-12 23:11:35 +02:00
LibGfx LibGfx: Implement flood fill algorithm in Bitmap class 2022-10-14 13:39:33 +02:00
LibGL LibGL: Correctly normalize different vertex attribute type pointers 2022-10-19 22:22:58 +02:00
LibGPU LibGL+LibGPU+LibSoftGPU: Report maximum texture size 2022-10-19 22:07:05 +02:00
LibGUI LibGUI: Insert first displayed emoji on return 2022-10-19 14:05:42 -04:00
LibHTTP LibHTTP: Fix not consuming the last byte of body in from_raw_request 2022-10-18 23:18:20 +02:00
LibIDL LibIDL: Remove static maps for interfaces and resolved imports 2022-10-09 10:14:57 +02:00
LibImageDecoderClient SystemServer+LoginServer+Userland: Switch to sid-based sockets 2022-10-03 11:11:29 +02:00
LibIMAP Everywhere: Replace single-char StringView op. arguments with chars 2022-07-12 23:11:35 +02:00
LibIPC LibIPC: Allow overriding the use of deferred_invoke() 2022-10-06 09:51:04 +02:00
LibJS LibJS: Add a finalization pass to the garbage collector 2022-10-20 19:36:59 +02:00
LibKeyboard Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
LibLine Libraries: Add missing includes, add namespace qualifiers 2022-09-18 13:27:24 -04:00
LibLocale Lagom+CMake: Propagate dependencies for generated custom targets 2022-10-17 15:55:55 +02:00
LibMain Everywhere: Replace uses of __serenity__ with AK_OS_SERENITY 2022-10-10 12:23:12 +02:00
LibMarkdown LibMarkdown: Allow extra content to be inserted into HTML output's head 2022-09-28 23:58:26 +01:00
LibPartition LibPartition: Fix end block off by one error 2022-07-21 20:13:44 +01:00
LibPCIDB Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
LibPDF LibPDF: Add very basic support for Adobe Type 1 font rendering 2022-10-16 17:44:54 +02:00
LibProtocol LibProtocol: Remove redundant return statement 2022-10-11 21:52:13 +02:00
LibRegex CMake+Userland: Use CMakeLists from Userland to build Lagom Libraries 2022-10-16 16:36:39 +02:00
LibSanitizer Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
LibSoftGPU LibSoftGPU: Call floor_int_range only once in sample_2d_lod 2022-10-19 22:22:58 +02:00
LibSQL CMake+Userland: Use CMakeLists from Userland to build Lagom Libraries 2022-10-16 16:36:39 +02:00
LibSymbolication Everywhere: Make the codebase more architecture aware 2022-07-27 21:46:42 +00:00
LibSyntax Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
LibSystem Meta+Userland: Add ENABLE_USERSPACE_COVERAGE_COLLECTION CMake option 2022-05-02 01:46:18 +02:00
LibTest Everywhere: Replace uses of __serenity__ with AK_OS_SERENITY 2022-10-10 12:23:12 +02:00
LibTextCodec Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
LibThreading LibThreading: Only set pthread name on Serenity 2022-10-16 15:39:00 -06:00
LibTimeZone LibTimeZone: Resolve /etc/localtime with realpath(), not readlink() 2022-10-17 22:19:50 +02:00
LibTLS headless-browser: Add ca-certs-path options 2022-10-15 02:44:47 +03:30
LibUnicode Lagom+CMake: Propagate dependencies for generated custom targets 2022-10-17 15:55:55 +02:00
LibUSBDB Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
LibVideo LibVideo: Hide debug message behind MATROSKA_DEBUG 2022-10-13 11:25:03 +02:00
LibVT LibVT: Make Terminal::clear_in_line() keep line attributes 2022-10-14 13:37:29 +02:00
LibWasm LibWasm: Use String::join in Printer where apropriate 2022-10-03 14:15:46 +01:00
LibWeb LibWeb: Tie layout tree to a specific browsing context 2022-10-20 19:36:59 +02:00
LibWebSocket AK+Everywhere: Replace "protocol" with "scheme" url helpers 2022-09-29 09:39:04 +01:00
LibWebView WebContent+Friends: Add get_element_property IPC and plumbing 2022-10-19 22:30:06 +02:00
LibX86 AK+Everywhere: Add AK_COMPILER_{GCC,CLANG} and use them most places 2022-10-04 23:35:07 +01:00
LibXML Libraries: Add missing includes, add namespace qualifiers 2022-09-18 13:27:24 -04:00
CMakeLists.txt LibIDL+WrapperGenerator: Move IDL code into a library 2022-09-17 21:27:17 +02:00