Commit graph

  • 0316859e06 improve codegen for mi_free daan 2020-01-23 10:03:03 -08:00
  • 66818bf632 use atomic yield on delayed-freeing; clarify code daan 2020-01-23 09:57:55 -08:00
  • a46d20a681 merge with new atomic macros daan 2020-01-22 20:53:44 -08:00
  • e226ebcc97 Merge branch 'dev' into dev-arena daan 2020-01-22 20:39:33 -08:00
  • 3bbbe6c686 enable atomic yield when delayed_freeing is encountered daan 2020-01-22 20:12:42 -08:00
  • 0193a15f7e nicer message on huge OS page reservation daan 2020-01-22 19:46:43 -08:00
  • e3b16fe4ef reduce type casts in atomic operations daan 2020-01-22 19:44:54 -08:00
  • 0f14f431c5 bump version to 1.5 for further development daan 2020-01-22 18:33:07 -08:00
  • 6a744a8549
    Update readme.md v1.4.0 Daan 2020-01-22 18:16:40 -08:00
  • b7aef989e8
    Update readme.md Daan 2020-01-22 15:27:47 -08:00
  • 433598296a
    Fix benchmark chart display Daan 2020-01-22 15:21:54 -08:00
  • 6f7d98d669 fix benchmark chart links daan 2020-01-22 15:08:18 -08:00
  • c2c56e29c7 add benchmark charts daan 2020-01-22 15:06:44 -08:00
  • af2cfe255a add updated benchmarks daan 2020-01-22 15:05:02 -08:00
  • caa5e51a67 align size of page_t, increase slices per segment Daan Leijen 2020-01-22 11:29:32 -08:00
  • 0028272cf4 small fixes, reduced segment size, fix merge conflicts daan 2020-01-20 22:33:29 -08:00
  • 394a7a92ab merge from dev daan 2020-01-20 19:06:08 -08:00
  • 5bc1c52ae6 update documentation daan 2020-01-20 17:34:29 -08:00
  • 3957b2fd28 add mi_new_realloc(n) to support C++ style reallocation that raises std::bad_alloc on out-of-memory daan 2020-01-20 15:41:56 -08:00
  • 146899af8a add missing members to stl allocator (#193) daan 2020-01-20 15:27:05 -08:00
  • b77be05e40 only collect retired at fresh page allocation daan 2020-01-20 12:14:34 -08:00
  • 9e5a7eb675 Add vcpkg installation instructions NancyLi1013 2020-01-20 01:23:50 -08:00
  • a33ebb8625 add alloc_align attribute to aligned allocation functions daan 2020-01-19 22:14:35 -08:00
  • 514b315283 add max_size member to STL allocator daan 2020-01-19 21:27:46 -08:00
  • 9d7ac76d93 fix compilation under Intel C compiler (icc) daan 2020-01-19 18:35:45 -08:00
  • e8d7c80c74 fix build warnings on linux daan 2020-01-19 17:33:36 -08:00
  • 41e717c2e0 fix assertion in mi_block_zero_init (issue #194) daan 2020-01-18 20:30:12 -08:00
  • dc58388968 Add ability to register custom error function called on various error conditions; including ENOMEM daan 2020-01-17 19:59:55 -08:00
  • 3e982a3813 fix STL deallocate passing count (instead of size) to mi_free_size daan 2020-01-17 15:58:43 -08:00
  • dbe721de39 dont compile test-stress.c as C++ code (or we get atomic compilation errors) daan 2020-01-17 15:45:12 -08:00
  • 6dd636d82d improve STL allocator using mi_new_n and removing unused parameter names; follow up from pr #193 and #188 daan 2020-01-17 15:41:52 -08:00
  • f4ee1760b8 Suppress C source compiled as C++ warning on clang daan 2020-01-17 15:39:41 -08:00
  • 9453d8b468 update documentation daan 2020-01-17 15:39:06 -08:00
  • edcbc6afb2 C++11 conforming STL allocator __vic 2020-01-17 11:30:01 +03:00
  • dc94d25890 update documentation daan 2020-01-16 19:39:14 -08:00
  • 6b7356a10a make mimalloc compile with the highest warning level on msvc daan 2020-01-16 18:12:01 -08:00
  • b84b11b6a9 update readme daan 2020-01-16 18:11:29 -08:00
  • c6037ac8f2 fix assertion index daan 2020-01-16 16:56:02 -08:00
  • f750e793ff ensure unique build names for C++ azure pipeline jobs daan 2020-01-16 16:52:44 -08:00
  • 5c82b459d6 enable debug clang++ compilation in azure pipelines daan 2020-01-16 16:49:59 -08:00
  • 3f8b8b7a55 initialize thread_delayed_free field atomically daan 2020-01-16 16:45:34 -08:00
  • da709bcf11 test for gcc version for aligned new/delete overrides daan 2020-01-16 16:30:44 -08:00
  • 7a98a461a3 fix type of bitmap field to avoid C++ error on older gcc daan 2020-01-16 16:21:59 -08:00
  • 3447debf26 add Linux gcc C++ build to azure pipeline daan 2020-01-16 16:08:23 -08:00
  • a0bee081dd use proper C++11 check for noexcept attribute daan 2020-01-16 15:58:48 -08:00
  • 7a9502973d rearrange STL allocator code: remove pragma, ifdef for C++11 daan 2020-01-16 15:57:11 -08:00
  • 2d54553b7a
    Merge pull request #188 from kile0/kile/stl Daan 2020-01-16 15:33:44 -08:00
  • 97bd204c42
    Merge branch 'dev' into kile/stl Daan 2020-01-16 15:33:13 -08:00
  • 526bee6843 merge stl and main header Kirsten Lee 2020-01-16 15:17:15 -08:00
  • 1b2b7404f7 flip the order of includes for ease of use Kirsten Lee 2020-01-16 14:54:13 -08:00
  • 24f8bcbc8f add explicit calling convention to registered functions daan 2020-01-16 14:25:09 -08:00
  • 4e91eab8fc specialize mi_mallocn for count=1 daan 2020-01-16 14:12:37 -08:00
  • 8d8f355ed0 add option to reset eagerly when a segment is abandoned daan 2020-01-16 11:25:02 -08:00
  • b8072aaacb fix debug build daan 2020-01-16 03:54:51 -08:00
  • 9629d73188 fix options daan 2020-01-15 18:07:29 -08:00
  • 7a1e86fc20 merge from dev daan 2020-01-15 18:03:37 -08:00
  • ad32eb1dfb eager collect on page reclamation daan 2020-01-15 17:57:19 -08:00
  • 0099707af9 use delayed free for all pages; reduce size of the page structure for improved address calculation daan 2020-01-15 17:19:01 -08:00
  • 202246425b bump version to 1.4 for further development daan 2020-01-15 12:16:01 -08:00
  • c9b5ac80b3 update page reset queue to just do delayed page resets daan 2020-01-15 12:00:44 -08:00
  • 783e3377f7 add output argument to stat printing v1.3.0 daan 2020-01-15 10:53:54 -08:00
  • 0956a05bf6 add argument pointer to the register deferred free callback daan 2020-01-15 10:21:32 -08:00
  • f92a2a7264 add argument pointer to the register output routine daan 2020-01-15 10:18:32 -08:00
  • 941c55ee42 wip: first implementation of page free list on segments for effecient delayed page reset daan 2020-01-14 21:47:18 -08:00
  • 88b141cf1f ensure proper padding for the page structure daan 2020-01-13 20:48:37 -08:00
  • 94bff89347 ensure page reset flag is always reset daan 2020-01-13 20:48:18 -08:00
  • 2808c9f4c8 default to non-eager commit daan 2020-01-13 18:01:52 -08:00
  • 4a27ea1643 merge from dev daan 2020-01-13 18:01:34 -08:00
  • 65f4f5144b fix out-of-bounds error in huge OS page bitmap daan 2020-01-13 17:06:25 -08:00
  • 5f61a9e896 add mprotect error when the mmap limit might be reached in secure mode (see issue #77) daan 2020-01-09 17:52:28 -08:00
  • be10ebea35 build debug and secure versions on macOS in Azure pipelines daan 2020-01-08 23:54:56 -08:00
  • 313d4b8ffd fix test on Windows in azure pipelines daan 2020-01-08 23:47:40 -08:00
  • 7575b58d7a fix test on Windows in azure pipelines daan 2020-01-08 23:46:56 -08:00
  • ce3f327f21 add test pass to Windows build daan 2020-01-08 23:40:57 -08:00
  • 403276d11e build release and debug build on Windows daan 2020-01-08 23:27:18 -08:00
  • 8f75444e7a fix windows debug build at MI_DEBUG=2 daan 2020-01-08 23:21:32 -08:00
  • 12ef2816ed fix bug exposed by commit 59fa286 where reclaimed pages could be stuck to NEVER_DELAYED daan 2020-01-08 19:00:03 -08:00
  • 940df53b0a fix iteration count display in stress test daan 2020-01-08 17:51:11 -08:00
  • 683d8998d4 fix potential A-B-A problem with segment abandonment; noticed by Manual Poeter and Sam Gross daan 2020-01-08 17:45:38 -08:00
  • 5d2f111f64 make the stress test do more iterations under a smaller load to stay under 1GiB committed and increase thread interaction daan 2020-01-08 12:59:20 -08:00
  • 50b3f6d7ae fix assertion daan 2020-01-08 12:58:07 -08:00
  • d4ab0ff08c fix timeout on huge page reservation if set to 0 daan 2020-01-07 14:15:37 -08:00
  • 4223caac0f on Linux dynamically detect if getrandom is supported and fall back to /dev/urandom if needed daan 2020-01-06 22:08:21 -08:00
  • 0a2520490b only include vector header when compiling c++ Kirsten Lee 2020-01-06 16:44:55 -08:00
  • d97c56d4c1 fix unintended diff Kirsten Lee 2020-01-06 16:25:21 -08:00
  • 743e891738 add stl mimalloc wrapper Kirsten Lee 2020-01-06 16:18:22 -08:00
  • d8d69c2c94 disable MAP_NORESERVE on huge pages daan 2020-01-05 22:07:16 -08:00
  • 45582d1fb5 revert a2a9230 (remove empty page removal on search): this is not generally valid when concurrent frees do not always add to thread_delayed_free. daan 2020-01-05 13:58:49 -08:00
  • 59fa286294 fix bug where continue would wrongly exit the do-while loop for delayed freeing daan 2020-01-04 17:32:50 -08:00
  • a2a9230ad6 remove empty page removal on page search (no longer needed with retired collection and delayed freeing) daan 2020-01-03 22:52:52 -08:00
  • d596f08569 fix thread_free read in assertion daan 2020-01-03 22:06:27 -08:00
  • 2b108c8748 increase retire expiration to 4 daan 2020-01-03 21:39:18 -08:00
  • eeb623e6af increase retire limit, collect retired pages daan 2020-01-03 17:06:41 -08:00
  • f9ca88f71c set secure default to 0 again daan 2020-01-02 17:57:41 -08:00
  • 9629a0190f fix eager commit on large pages (issue #182) daan 2020-01-02 17:25:00 -08:00
  • 1b5a08cd25 remove unused parameter in check double free daan 2020-01-02 17:24:32 -08:00
  • 384808e340 Merge branch 'dev-random' into dev daan 2019-12-28 16:19:45 -08:00
  • fc3e537bd4 improve double free detection with faster same page check daan 2019-12-28 15:28:13 -08:00
  • 77134e1ad0 update free list encoding to stronger formula with addition last daan 2019-12-28 15:17:49 -08:00
  • e3391d9a53 stronger encoding of free lists using two keys per page daan 2019-12-27 23:33:50 -08:00