603 Commits

Author SHA1 Message Date
Mattias Jansson
385a7dbb64 Update readme 2023-10-22 10:12:35 +02:00
Mattias Jansson
d472be4883 Windows compat 2023-10-22 07:48:49 +02:00
Mattias Jansson
8cb4337651 Unify standard overrides and tests 2023-10-22 09:24:08 +02:00
Mattias Jansson
bf2cfe9af3 Fix Windows compat 2023-10-21 21:39:36 +02:00
Mattias Jansson
70af81984c Clean up thread init/fini and remove need for preload define 2023-10-21 23:20:33 +02:00
Mattias Jansson
3b0197ded7 Fix page name support 2023-10-21 16:08:50 +02:00
Mattias Jansson
2aa6d30715 Improve codegen in free path 2023-09-24 20:02:14 +02:00
Mattias Jansson
432370d8a3 Minor code cleanups 2023-09-24 19:56:01 +02:00
Mattias Jansson
706ccf1ad1 Merge branch 'mjansson/rewrite' of https://github.com/mjansson/rpmalloc into mjansson/rewrite 2023-09-24 16:21:33 +02:00
Mattias Jansson
ee886d54e8 Improve codegen 2023-09-24 16:21:25 +02:00
Mattias Jansson
8e858b2376 Make page overflow decommit limits configurable 2023-09-24 08:36:31 +02:00
Mattias Jansson
e58681f56f Reintroduce first class heaps 2023-09-23 22:30:15 +02:00
Mattias Jansson
1c093aca1a Improve thread freed page handling 2023-09-23 19:18:09 +02:00
Mattias Jansson
a77b333832 Initial attempt at retaining a set of committed free pages 2023-09-23 16:02:25 +02:00
Mattias Jansson
492961f8da Remove deprecated code paths 2023-09-23 15:13:52 +02:00
Mattias Jansson
b9749ad0eb Fix huge page deallocation and migrate three free pages 2023-09-23 15:12:11 +02:00
Mattias Jansson
9f1f34818a Prepare for pages transitioning between heaps 2023-09-23 09:47:55 +02:00
Mattias Jansson
4c7483a414 Add some basic statistics 2023-09-22 21:37:15 +02:00
FujiZ
046ef0813f count overflow list when unlimited cache is enabled (#314)
Count spans in overflow list of global cache when unlimited cache is
enabled.
2023-09-22 21:24:02 +02:00
Mattias Jansson
1252129302 Restore default values 2023-09-22 16:38:00 +02:00
Mattias Jansson
f483cf1e14 Fix zero initialization of freed partial pages, support free in global destructors by leaving interface pointer valid 2023-09-22 16:37:23 +02:00
Mattias Jansson
3e3852a80b Avoid overriding libc internals 2023-09-22 16:36:30 +02:00
Mattias Jansson
23752c6ea0 Zero flag wip 2023-07-12 08:31:22 +02:00
Mattias Jansson
0becbad889 Fix override defs 2023-07-11 10:24:22 +02:00
Mattias Jansson
438cada472 Clean up override and wrap lib 2023-07-11 10:19:04 +02:00
Mattias Jansson
cc0a532001 Compiler compatibility fixes 2023-07-10 22:49:02 +02:00
Mattias Jansson
feb19278d0 Optimizing hot path codegen 2023-07-10 22:38:59 +02:00
Mattias Jansson
7a6e84687b Streamline deallocation path 2023-07-09 19:33:13 +02:00
Mattias Jansson
23e64b0ac5 Switch to 16 byte granularity and fixed size intervals up to 1024 bytes 2023-07-09 19:08:03 +02:00
Mattias Jansson
f7e115bff7 Fix thread ownership tests and heap set 2023-07-09 11:21:22 +02:00
Mattias Jansson
97386b12e7 Optimize thread local heap and alloc/free paths 2023-07-07 23:58:20 +02:00
Mattias Jansson
3814bdef39 Fix large page size 2023-07-07 15:04:57 +02:00
Mattias Jansson
6f0abf11f2 Wip on new size classes 2023-07-07 11:18:14 +02:00
Mattias Jansson
3512dc996b Minor improvements and cleanups 2023-07-06 18:44:16 +02:00
Mattias Jansson
9f74da47f9 Fix Windows build and deallocation of huge spans 2023-07-06 14:27:13 +02:00
Mattias Jansson
e742855d22 Wip on performance while keeping memory pressure down 2023-07-05 21:03:18 +02:00
dcrooks-ak
c765e9a4c3 Add "rpmalloc_get_heap_for_ptr" (#311)
Adding a new API call which allows for querying which first-class heap a given address was allocated on.
2023-06-22 19:42:45 +02:00
Maximilian Knespel
39f5cfaa35 Fix GCC -Wmissing-attributes warnings for -DENABLE_OVERRIDE=1 (#308) 2023-04-11 10:55:05 +02:00
Mattias Jansson
29fcc095ce Trim trailing whitespace for cleaner diffs 2023-04-09 22:50:35 +02:00
Mattias Jansson
29fb845f59 Fix GCC compilation warnings 2023-04-09 20:04:54 +02:00
Mattias Jansson
0551551b88 Fix broken build with global cache disabled and statistics enabled 2023-04-09 18:52:16 +02:00
David CARLIER
ba50ed97d8 revisit freebsd huge page size approach, instead of a hardcoded value (#302) 2023-03-29 09:06:20 -04:00
FujiZ
07394f3852 fix: use 0 instead of false (#303) 2023-03-24 10:00:31 +01:00
David CARLIER
95e5324fef C++ override test new placement proposal (#301) 2023-03-16 19:20:08 +01:00
Mattias Jansson
014981e278 various cleanups 2023-03-07 15:25:32 +01:00
Mattias Jansson
ed405164f5 Transition to new implementation 2023-03-06 20:28:56 +01:00
Mattias Jansson
3c69c82c6a Fix threaded deallocation catch up to avoid excessive allocation of pages! 2023-03-06 18:42:25 +01:00
Mattias Jansson
9c039cb640 Page init and multithreaded deallocation fixes 2023-03-06 13:58:32 +01:00
Mattias Jansson
2bb25e17fa Started rewrite with cleaner design 2023-03-04 10:58:20 +01:00
Mattias Jansson
739f2c6845 Reconfigure size classes to fixed size overhead 2023-03-02 19:24:10 +01:00