Commit graph

234 commits

Author SHA1 Message Date
Justin Ethier
f5c60589b0 Debugging 2015-11-21 01:45:23 -05:00
Justin Ethier
b4659a563a WIP 2015-11-19 23:00:41 -05:00
Justin Ethier
2215807a7c WIP, need to get sweep (trace?) working 2015-11-19 21:18:52 -05:00
Justin Ethier
91e018c78b Testing in isolation without gc_sweep enabled 2015-11-20 02:56:59 -05:00
Justin Ethier
8945773e1c Added notes 2015-11-19 23:09:27 -05:00
Justin Ethier
8bf20a05b5 Copy objects into heap while we have the heap lock
Attempting to prevent issues with unitialized memory. Unfortunately this is not the primary cause of the errors.
2015-11-19 23:00:53 -05:00
Justin Ethier
173e1ca407 At least for now, exit on error so we can try to track them down 2015-11-19 02:57:32 -05:00
Justin Ethier
fc29269a26 Debugging 2015-11-19 02:51:22 -05:00
Justin Ethier
ee8aec5887 Added stack scanning to write barrier. Does not seem to help, though 2015-11-18 22:44:02 -05:00
Justin Ethier
4e30e6d551 Removed printf's, and broken case statement 2015-11-17 21:23:12 -05:00
Justin Ethier
56c9d48c89 Fixed wait for handshake 2015-11-18 01:21:44 -05:00
Justin Ethier
b609e1556f WIP 2015-11-17 23:29:57 -05:00
Justin Ethier
426bfe0365 Added additional locking 2015-11-16 23:06:26 -05:00
Justin Ethier
3d41425e88 Debugging... 2015-11-17 02:05:55 -05:00
Justin Ethier
2be274d1be Added TODO 2015-11-14 02:49:18 -05:00
Justin Ethier
1b0e1aed36 Decremented wrong variable 2015-11-14 00:21:02 -05:00
Justin Ethier
d50ae96505 Initialize mark stack 2015-11-13 23:59:34 -05:00
Justin Ethier
f27e4874f2 Ensure mutex is unlocked 2015-11-13 23:37:12 -05:00
Justin Ethier
c4acbe0605 Added debug code 2015-11-13 21:09:20 -05:00
Justin Ethier
60b5256dba Fixed compilation errors 2015-11-12 21:44:36 -05:00
Justin Ethier
dfc8bb76b5 Fixes 2015-11-12 21:40:26 -05:00
Justin Ethier
f4b62156ba Added gc_add_mutator 2015-11-13 02:51:19 -05:00
Justin Ethier
f1443979e6 Added heap write barrier 2015-11-13 02:19:23 -05:00
Justin Ethier
ae3ba3cd1a Added notes regarding update() 2015-11-12 22:49:51 -05:00
Justin Ethier
4bb24a4edd Added mutator cooperation function 2015-11-12 22:33:34 -05:00
Justin Ethier
cb7274526c WIP 2015-11-11 22:58:53 -05:00
Justin Ethier
c9d24c9a02 startup collector thread 2015-11-11 21:33:30 -05:00
Justin Ethier
6e6f079430 Added coarse-grained heap locking 2015-11-10 23:01:48 -05:00
Justin Ethier
0db95aa1c5 Added notes 2015-11-11 02:48:50 -05:00
Justin Ethier
ca27d4a5d4 Added TODO 2015-11-10 22:34:48 -05:00
Justin Ethier
62a9efc1f5 Relocated module globals, added heap lock var 2015-11-10 22:10:09 -05:00
Justin Ethier
41f2a9e6ca Working on gc_collector() 2015-11-10 21:16:40 -05:00
Justin Ethier
d3a6418b0b WIP 2015-11-09 23:04:56 -05:00
Justin Ethier
b24cc73982 Init globals, stubbed out wait handshake 2015-11-09 21:46:01 -05:00
Justin Ethier
0f040a0691 Removed stale comment 2015-11-10 03:08:54 -05:00
Justin Ethier
af3aa141f1 WIP 2015-11-10 03:08:29 -05:00
Justin Ethier
23cf9bd14c Added stubs 2015-11-09 23:22:27 -05:00
Justin Ethier
cfcce37982 Build out of collector_trace
Implementation may not be optimal, but should be good enough to prove collector works
2015-11-09 22:51:39 -05:00
Justin Ethier
2b2a96c84d Relocate mutator data structure to gc module 2015-11-09 22:25:17 -05:00
Justin Ethier
33abfc3bfa Relocate setjmp code to runtime 2015-11-06 21:28:12 -05:00
Justin Ethier
32465d5da8 Renamed minor GC args vars to be consistent with GC code 2015-11-06 22:31:31 -05:00
Justin Ethier
9219279613 Use mutator number instead of casting pointer to an int 2015-11-06 20:28:27 -05:00
Justin Ethier
19a4a9599c Move jmp_buf to thread data structure 2015-11-05 21:21:48 -05:00
Justin Ethier
287f660851 Moving stack limits away from global vars 2015-11-05 22:17:42 -05:00
Justin Ethier
c49044fce6 Stub for migrating to gc struct 2015-11-04 23:02:28 -05:00
Justin Ethier
be3857b1c8 Fixes to build 2015-10-30 23:35:47 -04:00
Justin Ethier
2b849eb524 Temporarily removing pthread calls 2015-10-30 23:06:14 -04:00
Justin Ethier
cfc1f77bbc Added notes 2015-10-30 23:04:39 -04:00
Justin Ethier
be4fd84d63 Changed color values
Many types are allocated with a zeroed-out header, so making the red color 0 is now consistent with that code.
2015-10-30 18:50:33 -04:00
Justin Ethier
fc83ee260b Added comments 2015-10-29 22:39:09 -04:00