Daan Leijen
1feb6123d9
make all includes relative
2021-06-06 20:31:36 -07:00
Jim Huang
5940d3bcce
Bump copyright date
...
Each source file has been changed according to relevant Git activities.
2021-04-24 16:35:11 +00:00
Daan Leijen
35c1fc2be9
limit memcpy as rep stosb to windows where the cpu supporst FSRM; add mi_memcpy_aligned for machine-word aligned copy. see issue #201 and pr #253
2021-01-30 14:33:46 -08:00
Haneef Mubarak
429025634e
resolve #201 with a platform-selective REP MOVSB implementation
2020-05-26 16:04:28 -07:00
daan
74986c1dd1
weaken aligmenment assertion (issue #245 )
2020-05-19 09:56:37 -07:00
Daan Leijen
c9ffe30513
weaken alignment requirement to not need to be a multiple of sizeof(void*); see #246
2020-05-18 10:17:58 -07:00
daan
f2ac272baa
strengthen alignment check for memalign and aligned_alloc
2020-02-17 09:59:11 -08:00
daan
16ebb70e4c
strengthen aligment guarantee (issue #206 ) (reverse commit 4531367
)
2020-02-17 09:15:48 -08:00
daan
f42b8526d0
fix wrong __declspec(restrict) and __attribute__((malloc)) attributes on reallocation functions
2020-02-13 10:36:39 -08:00
daan
feb0699bcb
fix aligment check when padding is enabled
2020-02-02 22:01:04 -08:00
daan
f0dc6e7e42
add extra alignment test
2020-02-02 16:21:06 -08:00
daan
68112a2751
better padding implementation, more precise statistics
2020-01-31 20:34:24 -08:00
daan
4531367de2
fix padding check for aligned allocation; improve perf for small aligned allocations
2020-01-31 13:20:02 -08:00
daan
dc58388968
Add ability to register custom error function called on various error conditions; including ENOMEM
2020-01-17 19:59:55 -08:00
daan
5de851a84d
update page_flags to have more portable definition
2019-10-17 16:48:16 -07:00
Johannes Schindelin
5bd8ea2e4f
Repeat mi_decl_allocator
in functions' definitions
...
Quite a few functions are declared with that attribute, and VS 2019
complains if the definition does not repeat it.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2019-10-17 20:43:18 +02:00
daan
24777f6a91
limit aligned allocation to power-of-two alignment
2019-09-11 17:49:28 -07:00
daan
050e7cedf4
roll back commit 0aec6d93
on alignment >= size
as it breaks assertions in tensorflow
2019-09-11 15:48:44 -07:00
daan
0aec6d9302
don't align to sizes greater than than the allocation size
2019-09-07 12:01:54 -07:00
daan
b241910810
don't allocate more than PTRDIFF_MAX on aligned allocations
2019-09-07 11:52:21 -07:00
daan
e73982c4cf
better alignment for large and huge pages inside a segment
2019-09-04 18:42:37 -07:00
daan
a6a956c589
add back zero initialized re-allocation
2019-09-03 10:57:39 -07:00
daan
7a91368108
pass page to block_zero_init and extend to block_size
2019-09-03 10:11:24 -07:00
daan
d1bd1644d5
support zero-initialized memory detection
2019-09-02 13:16:52 -07:00
daan
e8c7505853
only set has_aligned flag if really necessary
2019-08-29 07:49:40 -07:00
daan
ed785253bf
restructure the page flags to use explicit masks
2019-08-10 17:48:00 -07:00
Jim Huang
b5e26bedb1
Enforce strict include-what-you-use policy
...
The include-what-you-use (IWYU) policy is beneficial to faster
compilation and fewer recompilations. Many build tools, such as GNU make,
provide a mechanism for automatically figuring out what .h files a .cc
file depends on. These mechanisms typically look at #include lines. When
unnecessary #includes are listed, the build system is more likely to
recompile in cases where it is not necessary.
With the enforcement, header file <include/mimalloc.h> no longer
includes <stdlib.h>.
Reference:
https://github.com/include-what-you-use/include-what-you-use/blob/master/docs/WhyIWYU.md
2019-07-23 14:59:57 -07:00
daan
c228ecefd8
update for new dynamic direction on windows 64-bit
2019-07-18 18:59:32 -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
ec2a8f387b
strengthen alignment check to be void* aligned
2019-06-27 13:27:53 -07:00
Daan
fab7329c7a
Merge pull request #24 from jserv/clarify-license
...
Clarify top-level license file
2019-06-23 10:47:38 -07:00
Jim Huang
78c7a1f349
Fix typo in comments
2019-06-24 01:40:28 +08:00
Jim Huang
b1d299b35b
Clarify top-level license file
...
To be consistent with other Microsoft open source projects, each source
file points to the file "LICENSE" in top-level directory.
2019-06-23 19:53:34 +08:00
daan
26a874eb3f
initial checkin
2019-06-19 16:26:12 -07:00