1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-14 09:40:20 +02:00
Commit graph

30 commits

Author SHA1 Message Date
Andy Wingo
a1b4311cfc Update status 2022-03-13 21:55:58 +01:00
Andy Wingo
a693c4ea8a Bugfix to mark-sweep
Before this, the last sweep would cause premature gc
2022-03-13 21:45:20 +01:00
Andy Wingo
fddd4d9416 Hey parallel marking is finally an improvement?? 2022-03-13 21:38:59 +01:00
Andy Wingo
4d7041bfa9 Another attempt at parallel marking, avoiding the channel
Not great though!
2022-03-13 13:54:58 +01:00
Andy Wingo
7ce07de670 First crack at parallel marking 2022-03-12 21:09:17 +01:00
Andy Wingo
9c89672c88 Put a local mark queue in front of the work-stealing queue 2022-03-11 11:57:14 +01:00
Andy Wingo
df9edfdff2 Remove tiny objects from mark-sweep 2022-03-11 11:48:26 +01:00
Andy Wingo
f57a1b8a55 Refactor to separate gcbench from gc 2022-03-11 11:48:26 +01:00
Andy Wingo
77ac530360 Add beginnings of parallel marker 2022-03-11 11:48:26 +01:00
Andy Wingo
01d3f9627e Further accelerate sweeping 2022-03-11 11:48:17 +01:00
Andy Wingo
f6ac9d2571 Ability to set heap size on command line 2022-03-11 11:48:04 +01:00
Andy Wingo
5edc4fa81a More efficient sweep 2022-03-11 11:44:11 +01:00
Andy Wingo
5c8a8a2d3e Store mark bits on the side
Lets the sweeper avoid chasing pointers, and is more amenable to
parallel marking.
2022-03-11 11:23:58 +01:00
Andy Wingo
91a330e310 More asserts in mark-sweep 2022-03-11 11:23:58 +01:00
Andy Wingo
fb350fb3ff Keep read/write positions when growing queue 2022-03-11 11:23:58 +01:00
Andy Wingo
c612ff3825 Optimize computation of size class from small object granule count 2022-03-11 11:23:58 +01:00
Andy Wingo
cfa7ea31ae Move back to marking objects instead of edges 2022-03-11 11:23:58 +01:00
Andy Wingo
45405efe56 Move to mark queue, is it an improvement? 2022-03-11 11:23:58 +01:00
Andy Wingo
d2828975a5 Switch mark-sweep collector to mark stack
Slows down performance though!  Have to think here.
2022-03-11 11:23:58 +01:00
Andy Wingo
502c0455a7 Fix mark-sweep allocator to clear contents 2022-03-11 11:23:43 +01:00
Andy Wingo
e492da2d2b Add heap validation to gcbench
* GCBench.c (ValidateTree): New function.
2022-03-11 11:22:01 +01:00
Andy Wingo
7b60164cac Update README 2022-03-07 11:31:28 +01:00
Andy Wingo
7b85284a89 Add mark-sweep collector 2022-03-07 10:23:05 +01:00
Andy Wingo
283721b39a Refactor handling of precise and conservative roots 2022-03-04 15:27:22 +01:00
Andy Wingo
2a619ba67d Add README 2022-03-02 09:17:23 +01:00
Andy Wingo
30b5c8a6c8 Use handle API, add semispace collector 2022-02-28 21:35:28 +01:00
Andy Wingo
2fdfefd2fc handlify 2022-02-23 21:25:26 +01:00
Andy Wingo
25213ccdeb Reindent gcbench 2022-02-23 20:03:32 +01:00
Andy Wingo
869a490ba6 Refactor gcbench.c 2022-02-21 21:22:21 +01:00
Andy Wingo
bdf4b27733 Initial commit 2022-02-21 21:05:18 +01:00