Commit graph

  • 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
  • 5e95ebc7a0 fix free stats daanx 2024-12-02 17:46:41 -08:00
  • c9abfe8253 wip: can run mstress daanx 2024-12-02 16:24:40 -08:00
  • d96c134566 wip: initial version with eager abandonment daanx 2024-12-02 16:01:45 -08:00
  • bcdb4dc639 mimalloc fix Ruben Sturm 2024-12-02 18:10:21 +00:00
  • bdc87fc91b readme - describe how to run under Valgrind with dynamic override Joris van der Geer 2024-12-02 20:50:08 +10:00
  • 69ac69abac wip: use epoch with 512bit chunks daanx 2024-12-02 00:31:08 -08:00
  • 2f789aae9a wip: cannot compile daanx 2024-12-01 16:26:59 -08:00
  • 1d7a9f62a5 bug fixes daanx 2024-12-01 12:54:16 -08:00
  • 8f2a5864b8 pass all debug tests daanx 2024-11-30 22:54:57 -08:00
  • 9ebe941ce0 first version that passes the make test daanx 2024-11-30 20:21:32 -08:00
  • 8dd6460d5e Do not discard segments for large object allocations Sergiy Kuryata 2024-11-30 18:44:35 -08:00
  • 55b70f1588 wip daanx 2024-11-30 14:00:07 -08:00
  • f8d04dc2bc compile with clang and gcc daanx 2024-11-30 12:41:11 -08:00
  • d15e83030e wip: rename arena blocks to slices daanx 2024-11-30 12:16:41 -08:00
  • 309fc26b4b wip: add generic find_and_xset daanx 2024-11-30 12:00:30 -08:00
  • 188294a0df wip: bug fixes daanx 2024-11-30 11:12:39 -08:00
  • 9d904e8643 wip: bug fixes daanx 2024-11-30 10:39:30 -08:00
  • 978d844e15 wip: bug fixes daanx 2024-11-29 20:23:39 -08:00
  • 0f635413d6 wip: can run initial test daanx 2024-11-29 17:50:37 -08:00
  • e0152ab82f wip: update any_set daanx 2024-11-29 16:58:52 -08:00
  • 9603fe8b50 can compile without missing functions daanx 2024-11-29 16:27:58 -08:00
  • 68f5fb2f4b wip: further progress on segment removal; arena allocation daanx 2024-11-29 15:08:06 -08:00
  • 46afcbe06c wip: further progress on segment removal; arena allocation daanx 2024-11-29 14:28:34 -08:00
  • 441d4fed9f wip: further progress on removing segments daanx 2024-11-29 10:40:18 -08:00
  • 71cfa45e76 wip: initial work on mimalloc3 without segments daanx 2024-11-28 19:31:04 -08:00
  • 0be44b2b0f Add global counters for segments and allocation stats Sergiy Kuryata 2024-11-26 16:32:54 -08:00
  • 577246d9ed Merge branch 'dev' into dev-slice Daan 2024-11-25 19:29:49 -08:00
  • e333491952 Merge branch 'dev-slice-steal' into dev-slice Daan 2024-11-25 19:29:26 -08:00
  • 9b7537755a Merge branch 'dev-steal' into dev Daan 2024-11-25 19:28:35 -08:00
  • cd61eb7cf1
    Merge pull request #961 from devnexen/windows_tighten_criterias Daan 2024-11-25 19:25:26 -08:00
  • d2937ba3e5
    Merge pull request #964 from diegorusso/illegal-instruction Daan 2024-11-25 19:23:06 -08:00
  • 25f84f5fd1 merge from dev-steal daanx 2024-11-25 19:17:25 -08:00
  • 7673aa2517 ensure forced abandoned pages can be accessed after free daanx 2024-11-25 18:41:57 -08:00
  • 829ae9fdc3 merge from dev-steal daanx 2024-11-25 16:59:15 -08:00
  • 9b7ac9a1a6 clean up candidate search; add mi_collect_reduce daanx 2024-11-25 16:58:02 -08:00
  • 3adb19c84c Fix illegal instruction for older Arm architectures Diego Russo 2024-10-21 17:32:45 +01:00
  • c58990d4eb fix syntax error (issue #963) Daan 2024-11-22 13:55:10 -08:00
  • 75eec9e61d Fix free space mask accounting for unused slices Sergiy Kuryata 2024-11-19 18:41:30 -08:00
  • bb83080289 Merge branch 'dev-steal' into dev-slice-steal daanx 2024-11-18 16:12:54 -08:00
  • 5f585c83cd Merge branch 'dev-slice' into dev-slice-steal daanx 2024-11-18 16:12:48 -08:00
  • 9bb29b177a Merge branch 'dev' into dev-slice daanx 2024-11-18 16:12:37 -08:00
  • b898dbe3e0 Merge branch 'dev' into dev-steal daanx 2024-11-18 16:12:26 -08:00
  • ea3ac0750e merge from dev-steal daanx 2024-11-18 15:08:17 -08:00
  • 71fec8caf5 add target_segments_per_thread option daanx 2024-11-18 15:05:22 -08:00
  • 0fa99d41fc merge from dev-slice daanx 2024-11-18 11:13:29 -08:00
  • edc7ddd37c Merge branch 'dev' into dev-steal daanx 2024-11-18 11:05:31 -08:00
  • 3a7b6f0a8d allow build time setting of sample rate Daan 2024-11-18 10:28:00 -08:00
  • 54c5af5862 Merge branch 'dev' into dev-slice Daan 2024-11-17 23:37:32 -08:00
  • 9cae0d31cd Merge branch 'dev' of https://github.com/microsoft/mimalloc into dev daanx 2024-11-17 23:30:19 -08:00
  • 54ee4e7632 merge from dev daanx 2024-11-17 23:29:21 -08:00
  • 41029d9d49 fix azure pipeline daanx 2024-11-17 23:20:18 -08:00
  • e7198ce397 Extend azure pipeline with Ubuntu 24 & 20, windows 2019, and macOS 15 daanx 2024-11-17 23:16:59 -08:00
  • ff56f6acbc update azure pipeline to use sample rate of 1000 for guarded objects daanx 2024-11-17 23:01:16 -08:00
  • b8dc09e3d2 fix asan with MI_GUARDED daanx 2024-11-17 22:56:26 -08:00
  • d57cb0765d add guarded objects that are sampled (and fit a size range). guarded sample rate etc can be set per heap as well as defaulted with options daanx 2024-11-17 22:45:09 -08:00
  • 8ba1879073 add sampling for guarded objects daanx 2024-11-17 00:06:16 -08:00
  • 8b6017d976 rename mi_debug_guarded_ to mi_guarded_ daanx 2024-11-16 22:42:32 -08:00
  • 498c92e348 update guarded implementation to use block tags daanx 2024-11-16 21:15:50 -08:00
  • c57e9b855c fix std malloc compile of the stress test Daan Leijen 2024-11-16 19:43:13 -08:00
  • 0e76fe3798 add address hint to primitive allocation API daanx 2024-11-16 16:57:37 -08:00
  • b27d154ffd add virtual address bits and physical memory to the mem config daanx 2024-11-16 15:37:08 -08:00
  • 9f0a7ac0be
    _mi_memcpy/_mi_memzero: tighten criteria for intrinsics for windows. David Carlier 2024-11-16 09:38:26 +00:00
  • 02f3e0fe7a Switch to 64bit bitmask and bug fixes Sergiy Kuryata 2024-11-08 17:35:14 -08:00
  • fd5ab9f1f3 fix new/delete overrides Eduard Voronkin 2024-11-06 12:02:22 -08:00
  • d67fe5d26a Rotate through arenas in mi_arenas_try_purge instead of always purging arena 0 if visit_all is false. Sergiy Kuryata 2024-11-05 13:00:50 -08:00
  • d2b6455749 Merge branch 'dev' into dev-slice Daan 2024-11-05 02:07:58 -08:00
  • 54940a6a65 update mimalloc-redirect to potentially fix issue #957 Daan 2024-11-05 02:07:45 -08:00
  • 2a3b8eb696 Do not call mi_abandoned_collect on allocation path as it consumes substantial amount of CPU time Sergiy Kuryata 2024-11-04 21:22:45 -08:00
  • 826425d5ab fix merge error, issue #955 Daan 2024-11-02 06:24:28 -07:00
  • 911de68d3e Experimental optimization for the segment reclamation logic. The goal is to improve efficiency of finding an abandoned segment that contains free space of the required size. This change adds a free space bitmask to the segment object. More optimal place for the bitmask could be in the arena (i.e. extend the arena’s bitmask for abandoned segments to include size information too). Sergiy Kuryata 2024-10-31 16:53:14 -07:00
  • 4f46cf7d5a ensure we dont reclaim a segment on a free if that would go above the target segment count dev-slice-steal Daan 2024-10-29 22:40:58 -07:00
  • 5cd09cec76 merge from dev Daan 2024-10-29 22:24:24 -07:00
  • e2f4fe647e update test file Daan 2024-10-29 22:23:21 -07:00
  • 3f3aee918a Merge branch 'dev-slice' into dev-slice-steal Daan 2024-10-29 20:09:12 -07:00