Daan Leijen
211f1aa519
remove reset delay slots; add reset tracking per page and segment
2019-11-20 14:55:12 -08:00
Daan Leijen
30e2c54adb
remove delayed reset option (for now)
2019-11-20 14:13:02 -08:00
daan
a0958b2da6
enable more reset delay slots
2019-11-11 17:06:16 -08:00
daan
5e6754f3f7
track commit status per block in a region
2019-11-11 15:45:31 -08:00
daan
741a80256d
merge from dev-exp
2019-11-11 14:51:16 -08:00
daan
534e1e39ef
allow allocation in committed regions even if not requested
2019-11-11 14:42:29 -08:00
daan
83a066fd2d
remove reset_decommits option
2019-11-11 09:46:02 -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 Leijen
7b72a4cd50
fix region suitable bug
2019-11-08 11:55:43 -08:00
daan
378716c467
refactor and improve atomic bitmap usage
2019-11-07 10:26:52 -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
8afd06b248
use int64 for time (instead of double)
2019-11-04 08:44:40 -08:00
daan
2c12d7f223
optimized numa calls; better Linux support
2019-11-01 22:01:52 -07:00
daan
3fadf4abaf
initial numa awareness for regions
2019-11-01 20:01:08 -07:00
daan
d36d04b4a6
add arena for huge page management
2019-10-31 15:35:10 -07:00
daan
6cf16b1201
fix reset error on windows when disabling eager commit option
2019-10-30 14:32:28 -07:00
daan
fdfa6ed260
fix warnings at high warning level in msvc
2019-10-17 16:56:57 -07:00
daan
1de6c22b49
remove incorrect region_count comment
2019-09-17 18:07:32 -07:00
Jakub Szymanski
1a7b1783fa
changed strategy to reduce contention for region search and vs2019 project fix
2019-09-05 08:13:52 -07:00
daan
3c563816c0
read regions count on every loop iteration
2019-09-03 18:25:01 -07:00
daan
aea21486dd
fix regions_count tracking in case of concurrent region allocations
2019-09-03 18:20:56 -07:00
daan
d1bd1644d5
support zero-initialized memory detection
2019-09-02 13:16:52 -07:00
daan
e874844562
update redirection to include fixes for x86
2019-09-01 12:18:29 -07:00
daan
9af51506a6
track commit and is_large status more precisely
2019-08-28 11:58:30 -07:00
daan
a551f3abc4
more precise commit statistics
2019-08-27 18:08:03 -07:00
daan
18e02c3766
try allocating non-eager segments in non-fixed memory
2019-08-27 17:02:56 -07:00
daan
db8d443ae6
track more precisely if memory is fixed or committed
2019-08-26 22:45:26 -07:00
daan
3d8c331a1c
search regions always from the lowest index
2019-08-26 12:41:59 -07:00
daan
5c7c106d62
strengthen some atomic operations for weak memory models
2019-08-26 08:11:58 -07:00
daan
e8664001f7
Use standard _Atomic declarations and clean up atomic operations
2019-08-25 22:59:12 -07:00
daan
8c795cc37d
remove test statement
2019-08-19 21:24:38 -07:00
daan
48a7d64bdd
if region overcommitting due to contention save it to a further slot
2019-08-19 21:20:24 -07:00
daan
178ea0840c
roll back commit #72d8608 to avoid spin lock contention on region allocation
2019-08-12 13:40:19 -07:00
daan
8b2194c160
merge from master
2019-08-12 15:50:21 -07:00
JeanMiK
3f43cbe6a1
Fix C++ signature of function mi_is_in_heap_region
...
Original code did not compile with MI_USE_CXX=ON as function
mi_is_in_heap_region was declared noexcept through macro mi_attr_noexcept
but defined without specification, i.e. implicitly with noexception(false)
Just adding the macro in the definition is enough to fix the issue
(tested with gcc 8.3.5)
2019-08-12 12:43:01 +02:00
daan
feb7b2c160
improve bit range skipping in region search
2019-08-11 13:49:12 -07:00
daan
3a75a9d5be
use bit-scan instruction to speed up region search
2019-08-11 13:03:00 -07:00
daan
0fd898315c
per thread region search index
2019-08-11 12:15:13 -07:00
daan
3a171624bd
Merge branch 'master' into dev
2019-08-11 08:59:38 -07:00
daan
a73daf1804
avoid mod operation in region allocation and limit extension
2019-08-11 08:54:32 -07:00
daan
756f4b2724
improve bit scanning code in region allocation
2019-08-11 08:48:19 -07:00
daan
6435887657
add comment on wait strategy in region allocation
2019-08-11 08:18:51 -07:00
daan
3d6feead60
add heap region check to cfree
2019-07-23 15:54:47 -07:00
daan
12e0a04052
compile as C++ under msvc
2019-07-18 19:52:29 -07:00
daan
c228ecefd8
update for new dynamic direction on windows 64-bit
2019-07-18 18:59:32 -07:00
daan
f646cc925d
add is_in_heap_region function
2019-07-17 15:37:36 -07:00
daan
72d8608333
avoid thread over-allocation on initial region allocations
2019-07-15 17:35:43 -07:00
daan
7ea9cf8d1f
add region collection
2019-07-15 14:53:03 -07:00