daan
|
683d8998d4
|
fix potential A-B-A problem with segment abandonment; noticed by Manual Poeter and Sam Gross
|
2020-01-08 17:45:38 -08:00 |
|
daan
|
1b5a08cd25
|
remove unused parameter in check double free
|
2020-01-02 17:24:32 -08:00 |
|
daan
|
e3391d9a53
|
stronger encoding of free lists using two keys per page
|
2019-12-28 00:57:42 -08:00 |
|
daan
|
1d998af854
|
clean up options; make secure work with eager_page_commit
|
2019-11-25 10:47:17 -08:00 |
|
daan
|
c6df7a199c
|
experimental eager page commit option
|
2019-11-24 22:02:40 -08:00 |
|
daan
|
4452431b6c
|
reenable segment cache and fix initial segment commit
|
2019-11-24 15:25:19 -08:00 |
|
daan
|
727d33b96f
|
more precise memory reset
|
2019-11-24 14:40:47 -08:00 |
|
daan
|
4a0d35afd0
|
improve secure guard page allocation to work with non-eager commit
|
2019-11-23 11:59:19 -08:00 |
|
Daan Leijen
|
211f1aa519
|
remove reset delay slots; add reset tracking per page and segment
|
2019-11-20 14:55:12 -08:00 |
|
daan
|
a0958b2da6
|
enable more reset delay slots
|
2019-11-11 17:06:16 -08:00 |
|
daan
|
741a80256d
|
merge from dev-exp
|
2019-11-11 14:51:16 -08:00 |
|
daan
|
2bb058bd25
|
remove cache_reset parameter
|
2019-11-11 14:44:32 -08:00 |
|
daan
|
534e1e39ef
|
allow allocation in committed regions even if not requested
|
2019-11-11 14:42:29 -08:00 |
|
daan
|
93a6463383
|
only allow commit delay for small and medium objects
|
2019-11-11 14:16:45 -08:00 |
|
daan
|
181bef382c
|
merge dev-exp
|
2019-11-10 11:39:53 -08:00 |
|
Daan Leijen
|
9f08ddd0d0
|
refactor regions; add commit tracking on a segment basis
|
2019-11-09 19:30:53 -08:00 |
|
daan
|
829fd872f4
|
initial delay slots
|
2019-11-04 11:48:41 -08:00 |
|
daan
|
9d6a5acb22
|
fix unix build warnings
|
2019-11-03 13:34:54 -08:00 |
|
daan
|
60efb62155
|
make secure a build option only
|
2019-09-17 17:31:42 -07:00 |
|
daan
|
e73982c4cf
|
better alignment for large and huge pages inside a segment
|
2019-09-04 18:42:37 -07:00 |
|
daan
|
d1bd1644d5
|
support zero-initialized memory detection
|
2019-09-02 13:16:52 -07:00 |
|
daan
|
4b39c0b06e
|
fix eager_delay test, and allow large OS pages even without eager commit enabled
|
2019-08-29 07:55:57 -07:00 |
|
daan
|
154fd471a1
|
fix comparison warning
|
2019-08-29 07:48:15 -07:00 |
|
daan
|
d381fcd9fa
|
rename lazy to eager_commit_delay
|
2019-08-28 12:09:23 -07:00 |
|
daan
|
9af51506a6
|
track commit and is_large status more precisely
|
2019-08-28 11:58:30 -07:00 |
|
daan
|
db8d443ae6
|
track more precisely if memory is fixed or committed
|
2019-08-26 22:45:26 -07:00 |
|
daan
|
e8664001f7
|
Use standard _Atomic declarations and clean up atomic operations
|
2019-08-25 22:59:12 -07:00 |
|
daan
|
b86c851cca
|
put segment cache behind an option and disable by default
|
2019-08-25 12:35:14 -07:00 |
|
daan
|
a431d80fc3
|
better object sizes for large objects
|
2019-08-25 10:20:03 -07:00 |
|
daan
|
23812cc0ac
|
do not keep a queue of huge pages and free them directly
|
2019-08-24 15:45:14 -07:00 |
|
daan
|
6c6fcad242
|
remove threadid from pages and keep page flags separate (cherry picked)
|
2019-08-23 21:42:24 -07:00 |
|
daan
|
15552eba79
|
ensure volatile declaration for abandoned_next field
|
2019-08-23 21:39:27 -07:00 |
|
Daan Leijen
|
12257e5bc1
|
fix thread-id reset on page abandonment
|
2019-08-21 08:09:28 -07:00 |
|
Daan Leijen
|
069c26dbab
|
fix small object size check in mi_segment_page_alloc
|
2019-08-16 18:40:30 -07:00 |
|
daan
|
442bad9190
|
add good-fit for allowing larger blocks in smaller segments
|
2019-08-09 11:18:38 -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 |
|
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 |
|
daan
|
a932e43650
|
experiment with larger small pages
|
2019-07-11 15:44:37 -07:00 |
|
daan
|
f844665c9f
|
merge from dev-win
|
2019-07-10 22:57:37 -07:00 |
|
daan
|
da0fb1e53f
|
merge dev-win
|
2019-07-10 20:50:32 -07:00 |
|
daan
|
6deea16d2d
|
add segment count to internal statistics
|
2019-07-10 19:54:46 -07:00 |
|
daan
|
ef4359b272
|
fix abondoned segment counter, and free list adding
|
2019-07-10 16:33:49 -07:00 |
|
daan
|
b80b0837ab
|
Merge branch 'dev-win' into dev-exp
|
2019-07-10 07:50:26 -07:00 |
|
daan
|
5b6f4ecc12
|
fix compilation warning
|
2019-07-10 07:50:04 -07:00 |
|