Commit Graph

1044 Commits

Author SHA1 Message Date
daan 87bdfbb9b6 use more conservative retire strategy 2019-10-28 14:12:06 -07:00
daan 081e2d1eb6 fix statistics display 2019-10-28 13:43:42 -07:00
daan 28d4ec4c5a fix statistics accounting of huge pages 2019-10-28 13:14:14 -07:00
daan 1a36ca3eb9 merge from dev 2019-10-28 12:31:08 -07:00
daan ff9f29660b remove double_free call 2019-10-28 12:27:32 -07:00
daan 5dfdc092b5 improve windows warning message 2019-10-28 12:26:57 -07:00
daan 25246070ae fix double free check in secure = 4 mode; inline _mi_ptr_cookie 2019-10-19 08:34:18 -07:00
daan 2affdbbd2e stronger secure mode when defining MI_SECURE=4: checks for double free, corrupted free list, and invalid pointer frees. Performance is impacted but not too much -- more perf testing is needed 2019-10-18 18:11:04 -07:00
daan fdfa6ed260 fix warnings at high warning level in msvc 2019-10-17 16:56:57 -07:00
daan 5de851a84d update page_flags to have more portable definition 2019-10-17 16:48:16 -07:00
daan 93b4281b82 ensure randomized huge page start address in 1GiB aligned 2019-10-17 12:35:35 -07:00
daan 454bc67338 increase delayed output buffer to 32k 2019-10-17 12:14:15 -07:00
daan 6e94950de3 update redirection modules 2019-10-17 12:13:45 -07:00
daan 26c27fbf58 use uint8_t bit fields, and improve portability of page_flags type 2019-10-17 12:07:26 -07:00
Daan 72d1ab80c3 Merge pull request #160 from dscho/git-for-windows-fixes
Assorted fixes for compiler warnings
2019-10-17 11:51:39 -07:00
Johannes Schindelin 559688ec64 Suppress warning about unnamed struct
This prevents MSVC complaining with

	warning C4201: nonstandard extension used: nameless struct/union

The struct might seem unnecessary to the occasional reader (it did seem
so to this commit's author), but it is not! It is required to align the
fields to a boundary, which is verified by the test suite. Removing that
"unnecessary" `struct` results in this failure:

1: Test command: mimalloc-test-api
[...]
1: test: malloc-zero...  mimalloc: assertion failed: at src/page.c:591, mi_page_init
1:   assertion: "!mi_page_has_aligned(page)"

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2019-10-17 20:43:18 +02:00
Johannes Schindelin 0fd0122c0a Avoid compiler warning when casting the result of GetProcAddress()
It is most unfortunate that the return type of `GetProcAddress()` is
`FARPROC` (which is essentially `intptr_t(*)(void)): this type cannot
be cast by GCC without warnings to anything but the generic function
pointer type `void(*)(void)`.

Let's work around that.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2019-10-17 20:43:18 +02: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
Johannes Schindelin e747a6f3a6 Use unsigned for bit-field variables
It is actually non-standard to use `bool` with a bit-field quantifier,
and VS 2019 complains about this.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2019-10-17 20:43:18 +02:00
daan f3a162f095 pick better umul_overflow variant based on size_t size 2019-10-17 09:52:10 -07:00
daan 4609537b8a pick better umul_overflow variant based on intptr size 2019-10-17 09:47:12 -07:00
daan 08d83cc33d disallow regular allocation from the huge reserved area 2019-10-17 09:24:57 -07:00
daan a96c90db5d remove old windows overriding method 2019-10-17 09:22:23 -07:00
daan 0e188a18a7 update test to match malloc with free 2019-10-17 09:21:20 -07:00
daan 46aa16b432 updated redirection module on windows 2019-10-17 09:20:57 -07:00