Commit Graph

144 Commits

Author SHA1 Message Date
dzaima
75fe558f1c detect writes past the end of a TALLOC allocation 2022-12-27 02:29:24 +02:00
dzaima
1b88c4cc62 don't allocate twice the memory requested 2022-12-07 22:22:34 +02:00
dzaima
d383fe57a7 clean up whitespace 2022-11-24 01:26:35 +02:00
dzaima
34e37d1b1a increase gc root buffer size 2022-11-24 01:09:50 +02:00
Marshall Lochbaum
5bfdc26d00 Move fold to its own file 2022-11-20 20:06:35 -05:00
dzaima
24195780df reorder headers to allow OpenBSD hack to function 2022-11-20 18:22:51 +02:00
dzaima
a48f1f5eb0 fix -DMM=0 2022-11-17 18:56:46 +02:00
dzaima
179e0a37dc more tail verify work 2022-11-17 18:56:46 +02:00
dzaima
e5a9c7536d array tail overwriting checker 2022-11-17 18:56:46 +02:00
dzaima
360aabb7cc option to noinline mm_alloc & mm_free 2022-11-17 18:56:46 +02:00
Marshall Lochbaum
d6029985e8 Move scan to its own file 2022-11-16 19:48:37 -05:00
dzaima
8e631d7177 always take size in mm_alloc as u64 2022-11-14 22:42:32 +02:00
dzaima
c81e95730a fix -DMM=0 builds 2022-11-13 13:47:29 +02:00
dzaima
f87a1155f5 store references instead of GC root functions to handle mutable roots
-0.21% binary size; mm_visit & mm_visitP got inlined in the gcFn-s, even though that's very pointless
2022-11-06 02:01:14 +02:00
Marshall Lochbaum
236d8dedd6 Move search functions to search.c 2022-10-23 22:08:08 -04:00
dzaima
5c87c291f9 refactor unroll/vectorization disabling macros 2022-09-25 14:49:57 +03:00
Marshall Lochbaum
21033fa355 Move Group to its own file 2022-09-16 22:01:56 -04:00
Marshall Lochbaum
017fcaea2a Move slash functions to a separate file 2022-09-10 09:58:42 -04:00
Marshall Lochbaum
9d402c1bdd Move self-search functions to selfsearch.c 2022-08-24 10:47:04 -04: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
a17d8004be make valgrind run under -DMM=0
even if it's not very helpful as CBQN requires being able to read garbage past allocation ends
2022-07-10 02:07:18 +03:00
dzaima
041a87ff98 make valgrind accept /𝕩 and 𝕨/𝕩 impls 2022-07-10 01:51:15 +03:00
dzaima
e31c574fd8 separate squeeze to its own file 2022-06-29 18:36:05 +03:00
dzaima
43b8b5e2a0 )escaped 2022-06-19 21:05:05 +03:00
dzaima
baa4641a44 don't needlessly include sys/mman.h 2022-06-12 22:29:35 +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
a601ba6a76 very unfinished FFI 2022-05-11 22:30:14 +03:00
dzaima
1babdf247f unified int & char cases for bitarr/x 2022-04-30 21:49:47 +03:00
dzaima
f079aa5f76 move select to its own file 2022-04-12 16:23:43 +03:00
dzaima
ff7a4cb0cb error on non-functional malloc_usable_size 2022-04-07 01:19:35 +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
5cde913c78 •CurrentError 2022-01-08 21:55:19 +02:00
dzaima
ade183e635 bunch of header file changes 2022-01-06 01:17:10 +02:00
dzaima
d68e278083 move nsTime to its own file 2021-12-29 19:49:16 +02:00
dzaima
c4230ead74 remove duplicate definition 2021-12-16 12:29:25 +02:00
dzaima
4af4b45ab7 fix / with negative numbers in indexes 2021-12-16 12:20:42 +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
4af5f3d4a6 store Value* as gc roots 2021-11-28 21:56:01 +02:00
dzaima
4697b91b1e fix >2 repeated imports & error on cyclical importing 2021-11-26 00:25:11 +02:00
dzaima
f55e349999 inverse headers 2021-11-21 21:03:14 +02:00
dzaima
e38e4f89ae overallocate heap 2021-10-19 18:12:27 +03:00
dzaima
ef230f8dc0 remove static from function that isn't 2021-10-15 12:08:48 +03:00
dzaima
b7f60ffb1c move GC tag resetting from alloc to another pass 2021-10-10 23:11:49 +03:00
dzaima
1bca264db8 bitarrs 2021-10-03 23:18:30 +03:00
dzaima
dac6f29a41 more eachd_fn and eachm_fn out of header file 2021-09-30 20:24:14 +03:00
dzaima
751652c392 alternative JIT memory allocation if MAP_32BIT isn't sufficient 2021-09-26 22:00:19 +03:00
dzaima
b38e8c9aeb normalize tag whitespace 2021-09-21 17:24:23 +03:00
dzaima
ffc4cec1ae monadic i8/i16 arith 2021-09-05 23:26:31 +03:00
dzaima
4299fef6b6 clz macro 2021-09-05 21:05:19 +03:00
dzaima
21ba88751a working i8/i16-arrs 2021-09-05 16:06:31 +03:00
dzaima
80be141968 tyarr.c 2021-09-05 02:58:18 +03:00
dzaima
521abe669d hopefully fix SETH refcounts 2021-08-16 00:48:15 +03:00
dzaima
c00834cf15 move mm_free call into virtual function so dec is simpler 2021-07-30 04:40:56 +03:00
dzaima
78cd23907e make err fails more clear 2021-07-19 23:09:10 +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
2a0b91e7b4 counters instead of allocB 2021-07-11 23:07:07 +03:00
dzaima
1b31c88e4c use mm_heapUsed() instead of allocB 2021-07-11 22:45:08 +03:00
dzaima
9982c62526 move OBJ_COUNTER increment 2021-07-11 22:14:28 +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
08723a3c80 use TI macros everywhere 2021-07-06 19:22:45 +03:00
dzaima
cd60db1c89 optimize fast allocation path 2021-07-05 02:52:42 +03:00
dzaima
d063e83a8d apparently BSZI is barely used 2021-07-05 01:22:49 +03:00
dzaima
49810ce8bc rename mm_allocN 2021-07-03 00:27:20 +03:00
dzaima
c62369c0c5 initialize objects a bit better
0.29% improvement
2021-07-02 23:07:46 +03:00
dzaima
550b91688a extremely basic x86-64 generator 2021-06-09 18:47:50 +03:00
dzaima
96f3089410 proper i64 formatting, move openbsd hack up 2021-06-06 22:23:55 +03:00
dzaima
7e994dd913 modifiable defines 2021-06-06 16:50:18 +03:00
dzaima
b47e52db9e preserve array reading through DONT_FREE 2021-06-01 17:52:51 +03:00
dzaima
c35e885ea1 nfns, basic random 2021-06-01 01:45:37 +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
dzaima
038b27072f •internal namespace 2021-05-28 21:59:18 +03:00
dzaima
1b89661308 inline objects 2021-05-28 01:03:29 +03:00
dzaima
55a93d1838 fix -M 2021-05-25 02:20:32 +03:00
dzaima
50e76c8c04 move some headers & defs around 2021-05-25 00:51:09 +03:00
dzaima
899175f48b split up arith.c 2021-05-24 21:35:53 +03:00
dzaima
33b548fbda set max heap size 2021-05-24 19:54:16 +03:00
dzaima
6b4c5913ff RT_VERIFY 2021-05-24 01:05:34 +03:00
dzaima
b2b826be9b incremental compilation 2021-05-23 21:55:49 +03:00