Commit graph

188 commits

Author SHA1 Message Date
Daan
80400c9946
Merge pull request #111 from jserv/avoid-strlen-in-loop
Avoid using strlen function in loop
2019-07-22 09:51:02 -07:00
Daan
cf8f46c263
Merge pull request #110 from jserv/options-branch-predict-hints
Add branch prediction hint for mi_option_get
2019-07-22 09:49:44 -07:00
Daan
ce241fd339
Merge pull request #106 from caixiangyue/fix-typo-719
fix typo
2019-07-22 09:44:07 -07:00
Daan
ade118e23d
Merge pull request #88 from jserv/gcc-builtin-umul-overflow
Use checked unsigned multiplication extension of GCC/Clang
2019-07-22 09:28:38 -07:00
Jim Huang
c382c72cf2 Avoid using strlen function in loop 2019-07-21 22:30:42 +08:00
Jim Huang
1ffa48cc61 Add branch prediction hint for mi_option_get
mi_option_get is called frequently in stress tests, and the patch adds
extra hint to the compiler to emit instructions that will cause branch
prediction to favour the "likely" side of a jump instruction.
2019-07-21 21:42:00 +08:00
caixiangyue
a215049b4a fix typo 2019-07-19 16:23:14 +08:00
Jim Huang
afd981d008 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-16 05:28:59 +08:00
Daan
60e9d3f69d
Merge pull request #81 from devnexen/mac_large_page_2mb
initial support of 2MB pages on Mac
2019-07-15 10:56:53 -07:00
daan
7ba6192dd5 always pass commit flag to large page allocation on windows 2019-07-15 09:46:58 -07:00
daan
c4426e1555 add sized delete to windows override 2019-07-14 20:28:33 -07:00
daan
461b8aed80 more complete C++ support for compliance and performance 2019-07-14 19:56:33 -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
2cf419c9bc Merge branch 'master' into dev 2019-07-14 14:50:39 -07:00
daan
a6aa905731 make sure older cmake versions work for build 2019-07-14 14:47:59 -07:00
Daan
36a16ca7eb
Merge pull request #99 from linkwk7/fix_typo_in_comments
Fix typo in comment
2019-07-14 14:33:12 -07:00
daan
adf65a100e be less aggressive in page reuse to reduce memory footprint 2019-07-14 14:13:47 -07:00
daan
e60a5db908 fix cache eviction of smaller segments 2019-07-14 12:52:58 -07:00
daan
42cf5e1580 reintroduce support for medium size pages 2019-07-12 20:11:39 -07:00
linkwk7
d4eabf33b6 Fix typo in comments 2019-07-12 22:05:07 +08:00
daan
1fdb4b288f more eager handling of non-local frees 2019-07-11 15:21:57 -07:00
daan
72a39c0bb1 initial fix for delayed freeing of huge pages transferred between threads 2019-07-11 13:30:40 -07:00
daan
4e6249fd12 azure pipelines better display name, fix c++ compiler 2019-07-10 22:44:36 -07:00
daan
3bef93698b remove publish test, add clang config 2019-07-10 22:41:53 -07:00
daan
6577e0e9fd add test results task to azure pipeline 2019-07-10 22:35:39 -07:00
daan
67bed283aa fix azure pipeline script; remove mapping value 2019-07-10 22:23:18 -07:00
daan
9fabd1ea01 fix azure pipeline script 2019-07-10 22:22:44 -07:00
daan
a5179d1125 fix azure pipeline script 2019-07-10 22:21:08 -07:00
daan
df8f9fc59c Add test to build pipeline 2019-07-10 22:13:34 -07:00
daan
34a4de01b1 add Visual Studio support for new stress target 2019-07-10 21:59:44 -07:00
daan
12d3297db5 add allocator stress test to the test targets 2019-07-10 21:52:28 -07:00
daan
a6c5e2cffd Merge branch 'master' into dev 2019-07-09 23:49:29 -07:00
daan
95afe453f4 fix compilation warning on windows, issue #94 2019-07-09 23:49:12 -07:00
daan
09195b6a5f add commit charge statistics on windows 2019-07-09 21:05:09 -07:00
daan
ad9db3a633 fix leak of huge segments in caches 2019-07-09 20:35:07 -07:00
daan
ee3f2059dc fix leak in segment cache freeing 2019-07-09 20:32:54 -07:00
daan
8ef37e6c0b update atomic exchange memory model annotations for unix 2019-07-09 14:56:43 -07:00
daan
cf8815854c fix cmake issues with OBJECT install 2019-07-09 11:32:24 -07:00
daan
76023ca45f fix path max in realpath on unix (pr #69) 2019-07-08 17:43:10 -07:00
daan
8203f3dcfa add full heap aligned allocation api (issue #52); remove rezalloc (issue #63); add mi_version 2019-07-08 17:17:07 -07:00
daan
5f607e0f58 update documentation 2019-07-08 17:15:34 -07:00
daan
d656f3e339 merge with master 2019-07-08 15:45:37 -07:00
daan
fc35f6069a Add NO_SYSTEM_ENVIRONMENT_PATH and example of linking with the object file; pr #67 2019-07-08 13:37:41 -07:00
daan
56bdb2c2f3 add more const declarations (pr #79) 2019-07-08 12:00:59 -07:00
daan
7f0137a617 Fix compilation error with MSVC C++ 2019-07-07 21:59:53 -07:00
daan
7e743dfb58 fix C++ compilation warnings with VisualStudio 2017 2019-07-07 18:52:12 -07:00
daan
c3528203b5 fix compilation with C++, fix overrides in C++ to adhere to the spec (issue #26) 2019-07-07 18:11:21 -07:00
daan
dd59a917ce Expose mi prefixed public standard implementations of various posix, unix, and c++ allocation functions. See issue #75 2019-07-07 13:44:33 -07:00
David Carlier
a192d6893e initial support of 2MB pages on Mac 2019-07-05 20:05:04 +01:00