Commit Graph

46 Commits

Author SHA1 Message Date
dzaima
ad574d2269 refactor & document #define-s, always-available ')gc log' and ')mem log' 2023-10-31 03:16:48 +02:00
dzaima
2732becf50 global STR0/STR1 definitions 2023-08-19 20:12:53 +03:00
dzaima
d1e511bebd add padding before allocations & document it 2023-07-13 16:20:37 +03:00
dzaima
d1a5ed3e00 err → fatal 2023-05-11 15:28:23 +03:00
dzaima
4ff4460d67 put logging behind the macro check 2023-05-06 02:05:38 +03:00
dzaima
45cc672af1 move allocation log message to before allocating
and print result
2023-05-06 01:09:34 +03:00
dzaima
9fd80e3193 split buckets above 2^20 bytes when possible 2023-05-04 12:28:47 +03:00
dzaima
5e29ec72ce sanity test of mmap address top 16 bits being 0 2023-04-29 17:39:13 +03:00
dzaima
ecced53957 test usz=64
also fix MM=2 assertion
2023-04-06 18:17:59 +03:00
dzaima
9780cacacd commented-out heap alignment 2023-03-27 17:38:26 +03:00
dzaima
c5aedaa414 switch to GCv2, various fixes/cleanup
includes:
  fixing some refcounts for FOR_BUILD build •FFI
  moving DEBUG_VM prints to stderr
  fixing heapverify reports of loose shape objects of fillarrs
  regular ol' adding-of-semicolon-after-label for old gcc
  move GC enable to after all initialization, not load_init
2023-03-05 01:23:53 +02:00
dzaima
16274e5952 bucket coalescing on GC 2023-03-04 20:09:12 +02:00
dzaima
78eb351e10 allow top-level GC to collect all garbage in GC_VISIT_V2 2023-02-26 18:37:07 +02:00
dzaima
bcc19c11fd fix GC_VISIT_V2 completely not respecting -M 2023-02-26 18:26:19 +02:00
dzaima
c6c0b8925e don't need allocMore_rec on non-gcv2 2023-02-24 23:38:29 +02:00
dzaima
6e6169530d GC v2 2023-02-24 23:28:55 +02:00
dzaima
a84ca6c5d6 strict prototypes 2023-02-03 15:33:31 +02:00
dzaima
1b88c4cc62 don't allocate twice the memory requested 2022-12-07 22:22:34 +02:00
dzaima
5c87c291f9 refactor unroll/vectorization disabling macros 2022-09-25 14:49:57 +03:00
dzaima
4b272148f5 make allocL after splitTo call skip empty bucket checking 2022-08-14 11:19:11 +03:00
dzaima
3ab92ecd66 explicit pointer → u64 conversion
work towards gcc 32-bit x86 builds. (gcc sign-extended pointers without this changeset)
gcc miscompiles `union B` usage though (https://godbolt.org/z/hEWKdc5PK), which I can do nothing about, so clang is still the only option for 32-bit x86 builds
2022-08-10 10:20:48 +03:00
dzaima
aabaac977b more strict freed memory handling for valgrind 2022-07-10 02:40:43 +03:00
dzaima
2359e54661 a bit saner heap format 2022-06-09 04:10:23 +03:00
dzaima
73ff6fe722 add interrupt check to allocation slow slow path 2022-06-03 16:04:48 +03:00
dzaima
e2fda60745 profiler 2022-05-29 22:02:50 +03:00
dzaima
e7cc64aa89 nounroll 2022-05-14 12:26:42 +03:00
dzaima
267a62d292 don't use mmap in allocStack for WASI 2022-04-07 00:04:12 +03:00
dzaima
15cf311425 use calloc to allocate memory on wasi 2022-04-06 22:53:07 +03:00
dzaima
2148d191d9 flush between heapdump writes 2022-04-04 16:10:01 +03:00
dzaima
0177680ddb include JIT memory in heap dump 2022-03-07 01:20:34 +02:00
dzaima
d2674db956 heap dump 2022-03-06 15:38:30 +02:00
dzaima
4ecd336595 )mem f 2022-03-04 18:31:54 +02:00
dzaima
3fb793526c )erase; try to not oom on printing errors 2022-01-19 01:02:07 +02:00
dzaima
3536c351fa preallocate oom message 2022-01-12 14:05:08 +02:00
dzaima
9e6b8ecaae throw error on reaching heap size limit if reasonable 2021-12-12 23:29:09 +02:00
dzaima
c8b15987b5 optimize mm_allocS 2021-11-30 17:13:07 +02:00
dzaima
e38e4f89ae overallocate heap 2021-10-19 18:12:27 +03:00
dzaima
751652c392 alternative JIT memory allocation if MAP_32BIT isn't sufficient 2021-09-26 22:00:19 +03:00
dzaima
ed691f3dae joined 2buddy 2021-07-12 00:17:59 +03:00
dzaima
8f3f9ba114 don't read mmInfo from RAM 2021-07-11 23:24:13 +03:00
dzaima
1d5e7212fd extract bucket definitions from template 2021-07-11 21:13:41 +03:00
dzaima
edd1f308ce clean up mm macros & globals 2021-07-11 21:04:49 +03:00
dzaima
cd60db1c89 optimize fast allocation path 2021-07-05 02:52:42 +03:00
dzaima
7e994dd913 modifiable defines 2021-06-06 16:50:18 +03:00
dzaima
16f379b6c7 fix gc/refc issues, set memory to invalid objects on free in debug 2021-05-30 01:55:59 +03:00
dzaima
70dcc25c51 mm_buddyTemplate.c 2021-05-29 22:50:39 +03:00