Commit Graph

  • c57e9b855c fix std malloc compile of the stress test dev Daan Leijen 2024-11-16 19:43:13 -08:00
  • 02f3e0fe7a Switch to 64bit bitmask and bug fixes dev-slice-sk Sergiy Kuryata 2024-11-08 17:35:14 -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 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
  • deba02e7be Merge branch 'dev' into dev-slice Daan 2024-10-29 20:08:45 -07:00
  • b5ae6fc555 remove wrong assertion Daan 2024-10-29 20:08:36 -07:00
  • eda16d7c91 remove wrong assertion Daan 2024-10-29 20:07:35 -07:00
  • 471bc768e3 Merge branch 'dev-slice' into dev-slice-steal Daan 2024-10-27 22:20:19 -07:00
  • c0e1132674 merge from dev Daan 2024-10-27 22:17:23 -07:00
  • 30640233a1
    Merge pull request #943 from asdf-bro/patch-1 Daan 2024-10-27 22:15:43 -07:00
  • c59b0cd7fc
    Merge pull request #946 from ArtSin/fix-vsnprintf-int-long-intmax_t Daan 2024-10-27 22:12:29 -07:00
  • b3828bba9e disable aligned hinting or SV39 mmu's, issue #939, and pr #949 Daan 2024-10-27 21:58:20 -07:00
  • 5f35933331 add 0 byte to canary to prevent spurious read overflow to read the canary (issue #951, pr #953) Daan 2024-10-27 21:39:07 -07:00
  • afba03145c
    Merge pull request #954 from jimwang118/fix-linux Daan 2024-10-27 21:12:58 -07:00
  • 06ee1d7949 Merge branch 'dev' into dev-slice Daan 2024-10-27 21:11:04 -07:00
  • f126b50382 update comments, set constructor priority to 101 on macOS Daan 2024-10-27 21:10:46 -07:00
  • 17802e6528 fix build error on linux #954 Jim-Wang 2024-10-28 02:06:58 +00:00
  • d3455ea29e Merge branch 'dev' into dev-slice Daan 2024-10-27 18:17:38 -07:00
  • 3cba10e510 update mimalloc-redirect Daan 2024-10-27 01:02:13 -07:00
  • 532904c85c update mimalloc redirect to v1.2 to handle static destructors that free memory (issue #944) Daan 2024-10-24 01:01:53 -07:00
  • ee92b337b9 do not reclaim segments if free-ing from a thread with an already abandoned heap (issue #944) Daan 2024-10-24 00:13:07 -07:00
  • 2b0d039cf3 fix assertion check Daan 2024-10-23 01:21:41 -07:00
  • 925efaeac9 improve windows static library initialization to account for thread local destructors (issue #944) Daan 2024-10-23 01:10:00 -07:00
  • d951b4dd23 add missing mi_thread_done definition Daan 2024-10-23 00:53:17 -07:00
  • 6e9b38ac12 fix issue where searching for abandoned blocks would skip the first one Daan 2024-10-22 18:58:55 -07:00
  • dfdb9cb877 cleanup process init/done Daan 2024-10-22 06:52:34 -07:00
  • 104e821709 fix fast divisor for 32-bit platforms Daan 2024-10-22 06:08:56 -07:00
  • 46e9e7fdd0 fix win32 compilation Daan 2024-10-22 06:06:15 -07:00
  • e55ae0aeb7 fix duplicate definition on windows Daan 2024-10-21 23:09:14 -07:00
  • f971bd6d74 fix build on windows Daan 2024-10-21 23:05:51 -07:00
  • 4377abe017 add cmake option to fall back on the fiber api do detect thread termination on windows Daan 2024-10-21 22:59:41 -07:00
  • aa881733d7 reorganize primitives for process initialization; use special data segment on Windows for thread termination by default on Windows now (issue #869) Daan 2024-10-21 22:56:59 -07:00
  • 164bd8c06c Merge branch 'dev' into dev-slice Daan 2024-10-21 05:10:21 -07:00
  • 34e66778ec fix MI_EXTRA_CPPDEFS setting Daan 2024-10-21 05:10:09 -07:00
  • e58e41c8da merge from dev Daan 2024-10-21 05:07:12 -07:00
  • 50d3525a8c add test for issue #944 Daan 2024-10-21 05:04:27 -07:00
  • 638ea539de allow certain options to have defaults set via the pre-processor at build time -- see issue #945 Daan 2024-10-21 05:04:01 -07:00
  • 394e8c27d8 add cmake option to add C pre processor definitions more easily Daan 2024-10-21 05:02:24 -07:00
  • bf251b27b1 Fix int and long handling and the use of (u)intptr_t in _mi_vsnprintf #946 ArtSin 2024-10-15 13:39:28 +04:00
  • 81da26d7d3 make target test for stealing one less since we are about to reclaim_or_alloc a fresh segment Daan 2024-10-11 10:52:35 -07:00
  • 19ce2c6461 restore randomization when trying to reclaim abandoned segments Daan 2024-10-11 10:44:43 -07:00
  • b604099334 Experimental improvements to reduce memory usage Sergiy Kuryata 2024-10-08 17:08:09 -07:00
  • 723869014f add ability to abandon segments after a threshold daanx 2024-10-09 21:24:20 -07:00
  • 4913c2c65b Merge branch 'dev-steal' into dev-slice-steal Daan Leijen 2024-10-09 15:16:13 -07:00
  • a7e7cbac89 use enqueue_from_full, and keep inserting at the end Daan Leijen 2024-10-09 15:15:57 -07:00
  • 428e3b9ee0 Merge branch 'dev-steal' into dev-slice-steal daanx 2024-10-09 15:05:48 -07:00
  • 0316cb1d88 reduce page search to 8 daanx 2024-10-09 15:05:35 -07:00
  • 933ac5c14c Merge branch 'dev-steal' into dev-slice-steal daanx 2024-10-09 14:41:25 -07:00
  • cbc0e19809 revert back to unfull at the end of queues as it slows down some benchmarks (like alloc-test1) daanx 2024-10-09 14:41:12 -07:00
  • 03fbaedec5 Merge branch 'dev-steal' into dev-slice-steal daanx 2024-10-09 14:35:49 -07:00
  • 96877159c2 insert full pages that became unfull, at the start of the page queue to increase potential reuse daanx 2024-10-09 14:35:33 -07:00
  • a05b5ab0a1 search N pages for a best fit daanx 2024-10-09 14:21:50 -07:00
  • b3d502179a Merge branch 'dev-steal' into dev-slice-steal daanx 2024-10-09 11:28:33 -07:00
  • ffa8bce581 prefer pages that do not expand daanx 2024-10-09 11:27:57 -07:00
  • f38816d4ed
    Musl needs __libc* functions too #943 Philip Brown 2024-10-06 15:42:46 -05:00
  • db3d8485d2 increase TSAN test to 400 iterations Daan 2024-08-21 17:13:51 -07:00
  • ad02086d3b remove default MI_DEBUG_GUARDED Daan 2024-08-21 17:07:01 -07:00
  • 60206ec075 merge from dev Daan 2024-08-21 17:01:46 -07:00
  • d8e0cb1a37 increase test timeout for azure pipeline Daan 2024-08-21 17:01:05 -07:00
  • 532141fda2 Merge branch 'dev' into dev-slice Daan 2024-08-21 15:39:31 -07:00
  • bb3976760f add guarded build to test pipeline Daan 2024-08-21 15:34:22 -07:00
  • 51025f1ac2 set lower parameters for guarded test Daan 2024-08-21 15:29:32 -07:00
  • 3ec3aaf858 merge from dev Daan Leijen 2024-08-21 11:33:11 -07:00
  • 6a21db1017 Merge branch 'dev-guarded' into dev-slice-guarded Daan Leijen 2024-08-21 11:31:10 -07:00
  • 4234a9bd9d Merge branch 'dev-guarded' into dev Daan Leijen 2024-08-21 11:30:33 -07:00
  • 58e743b83f fix use_guarded signature Daan Leijen 2024-08-21 11:30:00 -07:00
  • cc4dc1bb53 add comments Daan Leijen 2024-08-21 11:26:12 -07:00
  • 96f7cc4ef2 clean up guarded allocation Daan Leijen 2024-08-21 11:21:25 -07:00
  • 631ff581af set compile as C++ in VS IDE Daan Leijen 2024-08-21 10:47:38 -07:00
  • b9b529de28 shuffle for 128 bit Daan Leijen 2024-08-21 10:45:19 -07:00
  • b5c6495f69 don't consider memory as large OS pages if only madvise'd daanx 2024-08-20 15:58:36 -07:00
  • 4ea9df3ee4 Merge branch 'dev-slice' into dev-slice-guarded daanx 2024-08-20 13:13:10 -07:00
  • f163164d36 ensure start-offset in a segment respects minimal alignment daanx 2024-08-20 13:12:51 -07:00
  • 9731941c7b merge from dev-guarded Daan Leijen 2024-08-20 13:11:54 -07:00
  • f130808b5c fix warnings Daan Leijen 2024-08-20 12:58:49 -07:00
  • 1ab67d44c8 merge from dev-guarded Daan Leijen 2024-08-20 12:57:20 -07:00
  • 8899a11c70 clean up guarded pages code daanx 2024-08-20 11:09:17 -07:00
  • 635cf7af6a fix multi-threaded free to unprotect guarded blocks daanx 2024-08-20 09:55:57 -07:00
  • 0c19eb60cf initial working guarded pages daanx 2024-08-19 21:21:40 -07:00
  • 5eb8c752f7 fix UINT32_MAX constant (see issue #913) Daan 2024-08-13 16:36:53 -07:00
  • 01503df7f3 move declaration to avoid gcc warning, see issue #919 Daan 2024-08-12 13:51:39 -07:00
  • 7b5df14bea initial work on guarded objects dev-guarded Daan 2024-07-16 09:15:59 -07:00
  • 349b7dc2f4 merge from dev daanx 2024-06-17 16:22:44 -07:00
  • 265767766b fix alignment test daanx 2024-06-17 16:22:07 -07:00
  • 3c5e480ce7 fix alignment test daanx 2024-06-17 16:21:46 -07:00
  • 3726cf94ba merge from dev daanx 2024-06-17 16:18:03 -07:00
  • b7dd5d6564 add extra assertions to check that blocks are always aligned to MI_MAX_ALIGN_SIZE daanx 2024-06-17 16:17:03 -07:00
  • 03020fbf81 fix count/size order in mi_heap_alloc_new_n, issue #906 Daan 2024-06-04 17:28:04 -07:00
  • d68a7fc3e6 update docs Daan 2024-06-04 17:04:33 -07:00
  • 8f481d34dd update docs Daan 2024-06-04 16:54:22 -07:00
  • 98058eed14 add heap tag to area descriptor Daan 2024-06-04 16:54:06 -07:00
  • 8b7b3e3754 add docs svg's Daan 2024-06-04 14:59:42 -07:00