Commit graph

  • df9009a060 wip: binned bitmap for the free slices daanx 2024-12-15 17:15:56 -08:00
  • 3153e5a4c5 small fixes daanx 2024-12-15 13:47:33 -08:00
  • 13ee94cef6 fix concurrent mi_tld access bug daanx 2024-12-15 13:22:00 -08:00
  • 4aeb2e1005 flexible clearN_ that can start at any index daanx 2024-12-15 13:21:13 -08:00
  • b5dfd233e9 fix avx2 bug with atomics daanx 2024-12-13 19:59:08 -08:00
  • 216c04f8d9 clean up bitmap api daanx 2024-12-13 18:39:03 -08:00
  • 4c81c3cf90 enable purging of free committed slices from arenas daanx 2024-12-13 13:17:00 -08:00
  • 42af184ce9 wip: start on purge daanx 2024-12-13 09:04:23 -08:00
  • ba39e4d65b wip: start on purge daanx 2024-12-13 09:03:17 -08:00
  • 3010d5890f fix assertion Daan 2024-12-12 20:27:46 -08:00
  • e43eb1f191 nicer debug output daanx 2024-12-12 20:22:24 -08:00
  • b53ac835f1 comment daanx 2024-12-12 20:01:37 -08:00
  • 623eaedf33 add debug output for page map; free tld on thread exit daanx 2024-12-12 19:59:54 -08:00
  • 637de624b3 fix free bug for meta data daanx 2024-12-12 19:55:45 -08:00
  • d5c4a16e58 lower full page retain more aggressively in a threadpool daanx 2024-12-12 17:57:36 -08:00
  • df956c4a17 use thread spacing for reclaim as well daanx 2024-12-12 17:22:41 -08:00
  • 98879ac8bc use thread spacing for reclaim as well daanx 2024-12-12 17:22:00 -08:00
  • 118bd8c97f space out threads when searching for free pages daanx 2024-12-12 16:37:31 -08:00
  • 94ce342ea9 maintain pages set for arenas; improve arena load/unload daanx 2024-12-11 22:06:25 -08:00
  • aed76f2910 wip: allow arena (re)loading daanx 2024-12-11 20:34:23 -08:00
  • f01f882dd6 Better handling for abandonded segments Sergiy Kuryata 2024-12-11 17:59:29 -08:00
  • ccf5e36e6b use frac 8 for reclaim_on_free and reabandon; halve full_page_retain if running in a threadpool daanx 2024-12-11 16:26:39 -08:00
  • 1c8d15abac fix build error daanx 2024-12-11 14:30:44 -08:00
  • ab53a73cbd small updates daanx 2024-12-11 14:29:06 -08:00
  • 565656919e fix comments in types; fix guarded alignment bug daanx 2024-12-11 13:04:37 -08:00
  • 64eea823e4 use always abandon on heap delete daanx 2024-12-11 09:24:38 -08:00
  • 91215a5512 ensure incompatible heaps are not absorbed daanx 2024-12-11 09:20:34 -08:00
  • 24d3c1bc14 heap meta data always uses mi_meta_zalloc daanx 2024-12-11 09:16:28 -08:00
  • 6774130c9a Merge ..\mimalloc into dev3 daanx 2024-12-10 20:46:12 -08:00
  • 7bb4767607 add asan/ubsan/tsan and valgrind to default debug build daanx 2024-12-10 20:45:59 -08:00
  • 64c4181ffa better block alignment daanx 2024-12-10 20:32:48 -08:00
  • c478ddaab4 fix MI_GUARDED build daanx 2024-12-10 19:44:54 -08:00
  • 008bec3013 Clear out small object free space in large segments Part 2 Sergiy Kuryata 2024-12-10 16:37:24 -08:00
  • 2a1c346281 Merge branch 'dev3' of https://github.com/microsoft/mimalloc into dev3 daanx 2024-12-10 15:12:13 -08:00
  • 13be5d6740 use non-null tld in heap_init Daan 2024-12-10 15:11:46 -08:00
  • 7cd8f31f30 improve popcount daanx 2024-12-10 14:50:55 -08:00
  • 47edd8bd81 Clear out small object free space in large segments Sergiy Kuryata 2024-12-10 13:34:23 -08:00
  • f37aff6ee2 fix for macOS 14 and earlier Daan 2024-12-09 22:27:40 -08:00
  • 340f2a74bb Handle medium allocation in dedicated segments Sergiy Kuryata 2024-12-09 21:37:27 -08:00
  • 6798375f47 temporarily add macOS 13 and 12 for testing Daan 2024-12-09 21:26:23 -08:00
  • 5e434a6e66 merge from dev Daan 2024-12-09 21:24:30 -08:00
  • 9886379349 fix macos 15 OS name Daan 2024-12-09 21:22:30 -08:00
  • 2556a2022d fix missing void Daan 2024-12-09 20:50:00 -08:00
  • ed31847112 fix generic ctz/clz daanx 2024-12-09 20:45:22 -08:00
  • c5a2d11193 add extra checks for valid pointers in the pagemap, add max_vabits and debug_commit_full_pagemap options daanx 2024-12-09 20:40:26 -08:00
  • 3a92c35270 improve generic ctz/clz daanx 2024-12-09 20:25:22 -08:00
  • e44815ed6f add bsf/bsr for compilation with older compilers (clang 7) daanx 2024-12-09 20:06:48 -08:00
  • 56a1bd7f9e fix 32 bit multiply in generic ctz/clz daanx 2024-12-09 19:43:00 -08:00
  • f28d5c7029 add cast to avoid errors on clang 7 daanx 2024-12-09 19:12:03 -08:00
  • bbcbd3cd1f add cast to avoid errors on clang 7 daanx 2024-12-09 19:06:06 -08:00
  • 3f732a981f fix debug build of MI_GUARDED Daan 2024-12-09 15:49:20 -08:00
  • 8f5449d271 various fixes for test pipeline Daan 2024-12-09 15:39:15 -08:00
  • 351cb0c740 small fixes for macOS Daan 2024-12-09 15:16:36 -08:00
  • d5ed0cc71e various improvements daanx 2024-12-09 14:31:43 -08:00
  • 897f818f8d Disable detailed allocation counters Sergiy Kuryata 2024-12-08 21:20:46 -08:00
  • 68ac94c1ba set default arena reserve back to 1GiB daanx 2024-12-08 18:53:43 -08:00
  • bf2f2a8bf4 fix bug where only the first chunkmap field would be considered daanx 2024-12-08 18:48:56 -08:00
  • 88990cec2d merge from dev daanx 2024-12-08 18:27:05 -08:00
  • c8607a8d01 remove os_tld and stats parameters to os interface daanx 2024-12-08 17:56:13 -08:00
  • d9a2f76ff7 fix write to empty heap in mi_guarded build daanx 2024-12-08 17:23:09 -08:00
  • 2a4af6f169 comments daanx 2024-12-08 17:21:17 -08:00
  • 2084df3dde add dedicated meta data allocation for threads and tld daanx 2024-12-08 12:20:54 -08:00
  • 67cc424ada delete old files daanx 2024-12-08 09:19:05 -08:00
  • 36bb599873 merge from dev daanx 2024-12-08 09:15:09 -08:00
  • 2ed6e03d27 update optimization on haswell daanx 2024-12-08 09:14:16 -08:00
  • 68bd8744b7 fix spelling daanx 2024-12-08 09:13:48 -08:00
  • e446bc27e5 Merge ..\mimalloc into dev3 daanx 2024-12-08 09:03:33 -08:00
  • 5a06d2aeba update bit primitives daanx 2024-12-08 09:03:25 -08:00
  • 7c2b09fc3e only enable architecture specific optimization for armv8.1 daanx 2024-12-08 09:02:16 -08:00
  • 5e7780cfbc Hanlde large allocations while droping excess of segments Sergiy Kuryata 2024-12-07 17:32:00 -08:00
  • c33de86da3 check for running in a threadpool to disable page reclaim daanx 2024-12-07 17:11:11 -08:00
  • d0c86f3f0e specialize bitmap operations for common page sizes daanx 2024-12-07 16:26:07 -08:00
  • bf42759d97 check heaptag on abandonded page allocation daanx 2024-12-07 15:13:17 -08:00
  • 6b52b19e3b arch specific optimizations daanx 2024-12-07 15:02:27 -08:00
  • 0e5d5831e4 Merge ..\mimalloc into dev3 daanx 2024-12-07 14:17:05 -08:00
  • 60a8da75ff Add MI_ARCHOPT support for msvc daanx 2024-12-07 14:16:39 -08:00
  • bef52b96f6 Merge ../mimalloc into dev3 daanx 2024-12-07 14:04:02 -08:00
  • 9631b0d4d2 revise visiting arenas, better bitmap scanning daanx 2024-12-07 14:03:51 -08:00
  • 469ade882d Add MI_ARCHOPT option to enable architecture specific optimizations daanx 2024-12-07 14:03:16 -08:00
  • 70115d8b8c small fixes daanx 2024-12-06 23:25:53 -08:00
  • bf9a2ddb59 compile for 32-bit as well daanx 2024-12-06 23:07:10 -08:00
  • 659a9dd51d fix page info size and order; atomic page flags daanx 2024-12-06 22:37:59 -08:00
  • 5a5943ad33 record max_clear bit daanx 2024-12-06 21:03:33 -08:00
  • 61436a92b9 working simplified version without pairmaps and bitmap epoch daanx 2024-12-06 15:26:01 -08:00
  • ec9c61c066 initial no more pairmap daanx 2024-12-06 14:53:24 -08:00
  • d19f103ea3 Handle large allocations in separate segments Sergiy Kuryata 2024-12-05 19:44:52 -08:00
  • 7443ee317e tune free-ing and abandoning daanx 2024-12-05 17:00:23 -08:00
  • 0616ee151e change to full_page_retain daanx 2024-12-05 11:29:25 -08:00
  • a9bd3205be Try separating pages with different slice counts Sergiy Kuryata 2024-12-04 23:21:43 -08:00
  • bc67be4d79 small adjustments daanx 2024-12-04 21:40:57 -08:00
  • afe9089152 more documentation; better pairmap find_and_set_to_busy, busy flag is now 0x10 daanx 2024-12-04 19:15:55 -08:00
  • 45f7fb559a small fixes daanx 2024-12-04 00:14:56 -08:00
  • bc7fe399b1 large bitmaps working; lock on arena_reserve daanx 2024-12-03 23:35:33 -08:00
  • e5fdd6e110 wip: initial large bitmaps daanx 2024-12-03 22:43:14 -08:00
  • 8d9c725482 increase MAX_OBJ_SLICES to a full chunk (32MiB) daanx 2024-12-03 17:27:43 -08:00
  • 3fc2c8e279 fix assertions daanx 2024-12-03 11:06:07 -08:00
  • 666c089fc8 revise free reclaim; ensure unown cannot race with a free daanx 2024-12-03 10:51:13 -08:00
  • 833b091ff9 can run the full test suite daanx 2024-12-02 20:25:44 -08:00
  • bd5f7de3f4 can run basic test daanx 2024-12-02 20:21:35 -08:00
  • fe5a314114 add base and size to OS memid daanx 2024-12-02 19:31:36 -08:00