1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 14:38:11 +00:00
serenity/Userland/DevTools/UserspaceEmulator
Gunnar Beutner 39f0739381 LibC+UE: Keep more unused chunked blocks around
Previously each malloc size class would keep around a limited number of
unused blocks which were marked with MADV_SET_VOLATILE which could then
be reinitialized when additional blocks were needed.

This changes malloc() so that it also keeps around a number of blocks
without marking them with MADV_SET_VOLATILE. I termed these "hot"
blocks whereas blocks which were marked as MADV_SET_VOLATILE are called
"cold" blocks because they're more expensive to reinitialize.

In the worst case this could increase memory usage per process by
1MB when a program requests a bunch of memory and frees all of it.

Also, in order to make more efficient use of these unused blocks
they're now shared between size classes.
2021-05-23 19:31:39 +02:00
..
CMakeLists.txt UserspaceEmulator: Split large file into logical pieces 2021-03-11 08:54:54 +01:00
Emulator.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Emulator.h Kernel+Userspace: Implement the accept4() system call 2021-05-17 13:32:19 +02:00
Emulator_syscalls.cpp LibC+UE: Keep more unused chunked blocks around 2021-05-23 19:31:39 +02:00
main.cpp UE: Don't look up binaries in PATH when the user specified a full path 2021-05-17 19:34:53 +02:00
MallocTracer.cpp LibC+UE: Keep more unused chunked blocks around 2021-05-23 19:31:39 +02:00
MallocTracer.h LibC+UE: Keep more unused chunked blocks around 2021-05-23 19:31:39 +02:00
MmapRegion.cpp UE+LibX86: Support bigger reads and writes 2021-04-23 22:50:53 +02:00
MmapRegion.h UE+LibX86: Support bigger reads and writes 2021-04-23 22:50:53 +02:00
Range.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Range.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
RangeAllocator.cpp DevTools: Remove redundant default destructor and forward declarations 2021-05-21 22:53:33 +01:00
RangeAllocator.h DevTools: Remove redundant default destructor and forward declarations 2021-05-21 22:53:33 +01:00
Region.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Region.h UE+LibX86: Support bigger reads and writes 2021-04-23 22:50:53 +02:00
Report.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
SimpleRegion.cpp UE+LibX86: Support bigger reads and writes 2021-04-23 22:50:53 +02:00
SimpleRegion.h UE+LibX86: Support bigger reads and writes 2021-04-23 22:50:53 +02:00
SoftCPU.cpp Everywhere: Fix a bunch of typos 2021-05-17 17:48:55 +01:00
SoftCPU.h LibX86+UserspaceEmulator: Add MMX insns prototypes 2021-05-01 08:56:52 +02:00
SoftMMU.cpp UE+LibX86: Support bigger reads and writes 2021-04-23 22:50:53 +02:00
SoftMMU.h UE+LibX86: Support bigger reads and writes 2021-04-23 22:50:53 +02:00
ValueWithShadow.h UE+LibX86: Support bigger reads and writes 2021-04-23 22:50:53 +02:00