summaryrefslogtreecommitdiff
path: root/AK/Memory.h
AgeCommit message (Collapse)Author
2021-09-13AK: Add secure_zero() implementation so it can be used on all platformsBrian Gianforcaro
Serenity has explicit_bzero() in LibC with the same implementation, however we need to be able to use this from Lagom on all platforms that we support building serenity on. I've implemented it in AK for this reason.
2021-05-31AK: Guard inline assembly with ARCH(I386) and provide alternativeAndrew Kaster
For non-x86 targets, it's not very nice to define inline functions in AK/Memory.h with asm volatile implementations. Guard this inline assembly with ARCH(I386) and provide portable alternatives. Since we always compile with optimizations, the hand-vectorized memset and memcpy seem to be of dubious value, but we'll keep them here until proven one way or another. This should fix the Lagom build on native M1 macOS that was reported on Discord the other day.
2021-04-22Everything: Move to SPDX license identifiers in all files.Brian Gianforcaro
SPDX License Identifiers are a more compact / standardized way of representing file license information. See: https://spdx.dev/resources/use/#identifiers This was done with the `ambr` search and replace tool. ambr --no-parent-ignore --key-from-file --rep-from-file key.txt rep.txt *
2020-07-27AK+LibC: Always use REP MOVSB/STOSB for memcpy()/memset()Andreas Kling
There's no great advantage to using MMX instructions here on modern processors, since REP MOVSB/STOSB are optimized in microcode anyway and tend to run much faster than MMX/SSE/AVX variants. This also makes it much easier to implement high-level emulation of memcpy/memset in UserspaceEmulator once we get there. :^)
2020-05-16Kernel: Absorb LibBareMetal back into the kernelAndreas Kling
This was supposed to be the foundation for some kind of pre-kernel environment, but nobody is working on it right now, so let's move everything back into the kernel and remove all the confusion.
2020-05-09AK: Add missing copyright header to Memory.hLinus Groh
2020-04-30AK: Add ALWAYS_INLINE, NEVER_INLINE and FLATTEN macrosAndreas Kling
It's tedious to write (and look at) [[gnu::always_inline]] etc. :^)
2020-03-08AK: Move memory stuff (fast memcpy, etc) to a separate headerAndreas Kling
Move the "fast memcpy" stuff out of StdLibExtras.h and into Memory.h. This will break a ton of things that were relying on StdLibExtras.h to include a bunch of other headers. Fix will follow immediately after. This makes it possible to include StdLibExtras.h from Types.h, which is the main point of this exercise.