55 Commits

Author SHA1 Message Date
daan a654732d99 merge from dev new atomics 2019-08-26 12:30:03 -07:00
daan 2c19388bcf initialize mimalloc options at process load 2019-08-26 11:44:41 -07:00
daan 6c6fcad242 remove threadid from pages and keep page flags separate (cherry picked) 2019-08-23 21:42:24 -07:00
daan acde83543f remove threadid from pages and keep page flags separate 2019-08-23 14:08:00 -07:00
Daan Leijen 12257e5bc1 fix thread-id reset on page abandonment 2019-08-21 08:09:28 -07:00
Daan Leijen cc6d14c55b fix thread-id reset on page abandonment 2019-08-21 08:06:40 -07:00
daan 05631ebfc4 Merge branch 'dev' into dev-win 2019-08-19 21:23:04 -07:00
daan 770e752578 fix parameter order on mul_overflow to fix static analysis warnings (pr #125) 2019-08-19 19:15:04 -07:00
daan 42dedb00ec initial implementation of mi_os_reserve_huge_pages 2019-08-19 11:10:06 -07:00
daan 6d11e59250 fix to avoid potential linear behavior in page collect 2019-08-14 07:46:38 -07:00
daan ed785253bf restructure the page flags to use explicit masks 2019-08-10 17:48:00 -07:00
daan 5e56b40fe6 improve page flags handling 2019-08-08 17:18:49 -07:00
daan 6596e970a5 move in_full and has_aligned into page threadid for a single test in mi_free 2019-08-08 15:23:18 -07:00
daan 55778d2fe4 improved stats 2019-08-08 11:36:13 -07:00
daan 189ad0f81d small optimizations, use bitwise aligne 2019-07-23 15:00:13 -07:00
Jim Huang 8dba36bcec Use checked unsigned multiplication extension of GCC/Clang
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-23 14:59:49 -07:00
daan c228ecefd8 update for new dynamic direction on windows 64-bit 2019-07-18 18:59:32 -07:00
daan 7ea9cf8d1f add region collection 2019-07-15 14:53:03 -07:00
daan 8dc0b5345b Merge branch 'dev' into dev-exp 2019-07-14 16:50:38 -07:00
daan 49ceb4d018 refactor delayed_free code 2019-07-14 16:48:53 -07:00
daan 5ad2effb39 use standard compliant compilation of the thread_free atomic field 2019-07-14 16:20:27 -07:00
daan 84a292538c merge with medium pages 2019-07-12 20:39:29 -07:00
daan a927c07de9 merge medium pages 2019-07-12 20:27:56 -07:00
daan 42cf5e1580 reintroduce support for medium size pages 2019-07-12 20:11:39 -07:00
daan 8a6b474fa0 merge from dev 2019-07-11 16:32:11 -07:00