summaryrefslogtreecommitdiff
path: root/include/mimalloc-internal.h
AgeCommit message (Collapse)Author
2019-09-10refine mi_os_good_alloc_size and use it for huge pages (to ensure realloc is ↵Daan Leijen
bounded as in #153
2019-09-09use mi_is_power_of_two when possible (pr #118)daan
2019-09-03pass page to block_zero_init and extend to block_sizedaan
2019-09-02support zero-initialized memory detectiondaan
2019-09-02Merge branch 'dev' into dev-expdaan
2019-09-02Merge branch 'master' into devdaan
2019-09-01avoid deadlock with OpenBSDCarlo Marcelo Arenas Belón
2019-08-29merge from devdaan
2019-08-29make output function configurable; remove <stdio.h> from standard includesdaan
2019-08-28track commit and is_large status more preciselydaan
2019-08-26track more precisely if memory is fixed or committeddaan
2019-08-26merge from dev-windaan
2019-08-26merge from dev new atomicsdaan
2019-08-26initialize mimalloc options at process loaddaan
2019-08-24enable initial lazy commit and optional decommit to reduce commit charge ↵daan
with many threads
2019-08-24clean up segment slice handlingdaan
2019-08-23merge from dev-windaan
2019-08-23remove threadid from pages and keep page flags separate (cherry picked)daan
2019-08-23remove threadid from pages and keep page flags separatedaan
2019-08-21merge from remotedaan
2019-08-21merge from dev-windaan
2019-08-21Merge branch 'dev-win' into dev-expdaan
2019-08-21merge with dev-windaan
2019-08-21fix thread-id reset on page abandonmentDaan Leijen
2019-08-21fix thread-id reset on page abandonmentDaan Leijen
2019-08-20merge dev-windaan
2019-08-20Merge branch 'dev' into dev-expdaan
2019-08-19Merge branch 'dev' into dev-windaan
2019-08-19fix parameter order on mul_overflow to fix static analysis warnings (pr #125)daan
2019-08-19initial implementation of mi_os_reserve_huge_pagesdaan
2019-08-16whitespace and warning fixDaan Leijen
2019-08-15new segment allocation; good results with Qas servicedaan
2019-08-15first working version of new segment allocationdaan
2019-08-15wip: fixing bugs in new segment allocationdaan
2019-08-15wip: new segment allocationdaan
2019-08-15wip: new segment allocation with flexible large objectsdaan
2019-08-14fix to avoid potential linear behavior in page collectdaan
2019-08-11improve message printing from redirection moduledaan
2019-08-10restructure the page flags to use explicit masksdaan
2019-08-10Merge branch 'master' into devdaan
2019-08-08improve page flags handlingdaan
2019-08-08move in_full and has_aligned into page threadid for a single test in mi_freedaan
2019-08-08improved statsdaan
2019-07-23small optimizations, use bitwise alignedaan
2019-07-23Use checked unsigned multiplication extension of GCC/ClangJim Huang
Most processors have carry flags which they set on addition overflow, so it is a good idea to access them whenever possible. Most of them also have widening multiply instructions that can be used to detect overflow of the non-widening version. Both GCC and Clang offer a way to detect an overflow for security critical applications. Reference: https://clang.llvm.org/docs/LanguageExtensions.html#checked-arithmetic-builtins
2019-07-18update for new dynamic direction on windows 64-bitdaan
2019-07-15add region collectiondaan
2019-07-16Use checked unsigned multiplication extension of GCC/ClangJim Huang
Most processors have carry flags which they set on addition overflow, so it is a good idea to access them whenever possible. Most of them also have widening multiply instructions that can be used to detect overflow of the non-widening version. Both GCC and Clang offer a way to detect an overflow for security critical applications. Reference: https://clang.llvm.org/docs/LanguageExtensions.html#checked-arithmetic-builtins
2019-07-14Merge branch 'dev' into dev-expdaan
2019-07-14refactor delayed_free codedaan