Commit Graph

308 Commits

Author SHA1 Message Date
daan 181bef382c merge dev-exp 2019-11-10 11:39:53 -08:00
daan 27f1a8b3d2 fix avg display; set secure default to 0` 2019-11-07 10:35:30 -08:00
daan 36090dee5c Merge branch 'dev' into dev-exp 2019-11-07 10:34:06 -08:00
daan 31d11f64d5 fix secure free list extension where a non-empty initial free list was discarded 2019-11-07 10:33:45 -08:00
daan 378716c467 refactor and improve atomic bitmap usage 2019-11-07 10:26:52 -08:00
daan b09282bc0d change arena allocator to atomic bitmap as well 2019-11-06 22:49:01 -08:00
daan 00e19cad9a refactor region code, split out atomic bitmap 2019-11-06 21:37:23 -08:00
daan 829fd872f4 initial delay slots 2019-11-04 11:48:41 -08:00
daan c38af8f7c1 merge d1d65fbc: make max error messages configurable 2019-11-04 08:49:59 -08:00
daan 8afd06b248 use int64 for time (instead of double) 2019-11-04 08:44:40 -08:00
daan d1d65fbca4 make max error messages configurable 2019-11-03 13:25:41 -08:00
daan e320488791 add numa nodes to stats 2019-11-03 12:18:32 -08:00
daan fd9d8c85ae change numa support on linux to use getcpu 2019-11-02 11:55:03 -07:00
daan 2c12d7f223 optimized numa calls; better Linux support 2019-11-01 22:01:52 -07:00
daan a6499be074 initial numa support for arenas 2019-11-01 19:53:07 -07:00
daan d36d04b4a6 add arena for huge page management 2019-10-31 15:35:10 -07:00
daan b052d3b731 enable double free and heap corruption detection in debug mode 2019-10-28 15:54:33 -07:00
daan 081e2d1eb6 fix statistics display 2019-10-28 13:43:42 -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 26c27fbf58 use uint8_t bit fields, and improve portability of page_flags type 2019-10-17 12:07:26 -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 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