Commit graph

  • 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
  • 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 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
  • eaafec4461 enforce first null byte in CANARY gfelber 2024-10-27 10:59:56 +01: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
  • 4f1a42022c src/os.c: avoid doomed alloc/free on 32-bit and SV39 systems Michael Orlitzky 2024-10-18 09:33:19 -04:00
  • 53440ad69a src/os.c: skip aligned hinting when MI_SV39_MMU=1 is defined Michael Orlitzky 2024-09-20 22:10:22 -04:00
  • bf251b27b1 Fix int and long handling and the use of (u)intptr_t in _mi_vsnprintf 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
  • 90505bae4b Experimental improvements to reduce memory usage v2.1.7a Sergiy Kuryata 2024-10-08 17:08:09 -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 Philip Brown 2024-10-06 15:42:46 -05:00
  • a407780915 CMakeLists.txt: check /proc/cpuinfo for an SV39 MMU Michael Orlitzky 2024-09-20 22:05:28 -04:00
  • 0ac3930ecf Suppress warning instead Zhihua Lai 2024-08-31 21:11:17 +01:00
  • 74e5af4766 Fix Zhihua Lai 2024-08-31 20:54:15 +01:00
  • 13490948d1 Fix potential buffer overflow warning Zhihua Lai 2024-08-31 20:47:37 +01:00
  • 95f8fda113 Fix typo Zhihua Lai 2024-08-30 19:58:57 +01:00
  • a97b12926a fix committed stat Max Bachmann 2024-08-28 21:57:09 +02:00
  • 611bf61d82 test: Add a fuzzing harness for heap allocator Nathaniel Brough 2024-08-29 17:41:56 +10:00
  • 26d7d45e0c feat: Add support for logging to Android logcat Marcel Alexandru Nitan 2024-08-23 14:49:46 +03:00
  • cd0c4ab67c
    docs: update readme.md Ikko Eltociear Ashimine 2024-08-23 00:31:14 +09: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