1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-06-01 03:08:13 +00:00
serenity/Userland/Libraries
Peter Elliott 4e0adb638d LibC: Implement posix_memalign(3) and aligned_alloc(3)
Some ports linked against posix_memalign, but didn't use it, and others
used it if it was Available. So I decided to implement posix_memalign.

My implementation adds almost no overhead to regular mallocs. However,
if an alignment is specified, it will use the smallest ChunkedBlock, for
which aligned chunks exist, and simply use one of the chunks that is
aligned. If it cannot use a ChunkedBlock, for size or alignment reasons,
it will use a BigAllocationBlock, and return a pointer to the first
aligned address past the start of the block. This implementation
supports alignments up to 32768, due to the limitations of the
BigAllocationBlock technique.
2022-05-20 22:18:54 +02:00
..
LibArchive LibArchive: Use named members for ZIP general purpose flags 2022-05-12 22:58:14 +02:00
LibAudio LibAudio+LibDSP: Switch samples to 32-bit float instead of 64-bit float 2022-05-07 20:20:16 +02:00
LibC LibC: Implement posix_memalign(3) and aligned_alloc(3) 2022-05-20 22:18:54 +02:00
LibCards LibGfx: Move other font-related files to LibGfx/Font/ 2022-04-09 23:48:18 +02:00
LibChess LibChess: Change UCI::Command::Type to enum class 2022-04-03 17:36:48 +01:00
LibCompress LibCompress: Change DeflateSpecialCodeLengths to constexpr variables 2022-04-03 17:36:48 +01:00
LibConfig LibConfig+ConfigServer: Write config values synchronously 2022-04-26 22:51:49 +02:00
LibCore LibCore: Simplify conditional logic in SharedCircularQueue 2022-04-29 18:05:42 +02:00
LibCoredump Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
LibCpp LibCpp: Parse inheritance 2022-04-17 10:09:23 +04:30
LibCrypt Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
LibCrypto LibCrypto: Add Ed25519 2022-05-12 23:47:13 +04:30
LibDebug Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
LibDesktop Everywhere: Run clang-format 2022-04-01 21:24:45 +01: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
LibDl Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
LibDNS LibDNS: Remove the 'DNS' prefix from the various type and class names 2022-04-15 16:34:26 +01:00
LibDSP LibDSP+Piano: Convert DSP APIs to accept entire sample ranges 2022-05-13 00:47:26 +02:00
LibEDID Everywhere: Rename fb prefix function names => graphics_connector 2022-05-05 20:55:57 +02:00
LibELF LibELF: Name library maps with the full file path 2022-05-07 20:02:00 +02:00
LibFileSystemAccessClient Userland: Rename WindowServerConnection=>ConnectionToWindowServer 2022-02-25 22:35:12 +01:00
LibGemini LibCore+Everywhere: Make Core::Stream read_until() return Bytes 2022-04-16 13:27:51 -04:00
LibGfx LibGfx: Use AK::round_to for VectorN::to_rounded<U> 2022-05-09 21:49:48 +02:00
LibGL LibGL+LibGPU+LibSoftGPU: Implement and expose glClipPlane 2022-05-11 23:09:47 +02:00
LibGPU LibGL+LibGPU+LibSoftGPU: Implement and expose glClipPlane 2022-05-11 23:09:47 +02:00
LibGUI LibGUI: Phrase help action more specifically 2022-05-15 12:15:51 +02:00
LibHTTP LibCore+Everywhere: Make Core::Stream read_until() return Bytes 2022-04-16 13:27:51 -04:00
LibImageDecoderClient Userland: Rename IPC::ServerConnection=>IPC::ConnectionToServer 2022-02-25 22:35:12 +01:00
LibIMAP Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
LibIPC LibIPC: Allow transporting a SharedCircularQueue over IPC 2022-04-21 13:55:00 +02:00
LibJS LibJS: Mark two Get operations in ToTemporalZonedDateTime infallible 2022-05-17 21:24:50 +01:00
LibKeyboard Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
LibLine LibLine: Reset next suggestion index when resetting suggestions 2022-04-18 19:53:10 +04:30
LibM LibM: Delegate rounding to fully to the FRNDINT instruction 2022-05-07 20:27:05 +02:00
LibMain LibMain: Statically link LibMain 2022-03-24 03:04:57 +01:00
LibMarkdown LibMarkdown: Add strike-through text support to markdown 2022-04-28 22:15:08 +02:00
LibPCIDB Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
LibPDF LibGfx: Move ScaledFont and new base class VectorFont out of TTF 2022-04-09 23:48:18 +02:00
LibProtocol LibCore+Everywhere: Make Core::Stream::read() return Bytes 2022-04-16 13:27:51 -04:00
LibPthread Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
LibRegex LibRegex: Check inverse_matched after every op, not just at the end 2022-04-22 10:02:39 +02:00
LibSanitizer Meta+Userland: Add ENABLE_USERSPACE_COVERAGE_COLLECTION CMake option 2022-05-02 01:46:18 +02:00
LibSoftGPU LibSoftGPU: Update coverage bits after alpha testing 2022-05-15 12:15:12 +02:00
LibSQL Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
LibSymbolication Everywhere: Run clang-format 2022-04-01 21:24:45 +01: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: Run clang-format 2022-04-01 21:24:45 +01:00
LibTextCodec Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
LibThreading Libraries: Use default constructors/destructors in LibThreading 2022-03-13 22:34:38 +01:00
LibTimeZone Meta+Userland: Add ENABLE_USERSPACE_COVERAGE_COLLECTION CMake option 2022-05-02 01:46:18 +02:00
LibTLS LibTLS: Cleanup of verify_chain and verify_certificate_pair 2022-04-17 10:10:19 +04:30
LibUnicode LibUnicode: Upgrade to CLDR version 41.0.0 2022-04-07 08:29:10 -04:00
LibUSBDB Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
LibVideo Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
LibVT LibGfx: Move other font-related files to LibGfx/Font/ 2022-04-09 23:48:18 +02:00
LibWasm LibWasm: Simplify the return instruction execution code a bit 2022-04-22 21:12:47 +04:30
LibWeb LibWeb: Abstract the LibProtocol ResourceLoader connection 2022-05-15 12:17:36 +02:00
LibWebSocket LibCore+Everywhere: Make Core::Stream read_line() return StringView 2022-04-16 13:27:51 -04:00
LibWebView LibWeb: Abstract the LibProtocol ResourceLoader connection 2022-05-15 12:17:36 +02:00
LibX86 LibX86+disasm: Use an output format closer to objdump 2022-04-07 16:50:34 +02:00
LibXML LibXML: Add a fairly basic XML parser 2022-03-28 23:11:48 +02:00
CMakeLists.txt LibWebView: Move OutOfProcessWebView to a new LibWebView library 2022-05-15 12:17:36 +02:00