Commit graph

1105 commits

Author SHA1 Message Date
Justin Ethier
fa26b18b01 Fixed compile error 2015-12-07 23:04:04 -05:00
Justin Ethier
5818ffc0eb Temporarily reverting gc_stack change 2015-12-07 22:54:54 -05:00
Justin Ethier
3adf4d8d32 Refactoring 2015-12-07 22:54:47 -05:00
Justin Ethier
372a0a3fed Fixed compilation errors 2015-12-07 22:11:58 -05:00
Justin Ethier
e994d4aa76 Do thread locking outside of gc_mark_gray
Changed the locking to attempt to avoid race conditions where not all of the heap objects have been moved prior to the collector staring to process them.
2015-12-07 22:02:38 -05:00
Justin Ethier
c75c86f028 WIP - "grayed" flag to indicate grayed stack object 2015-12-06 22:56:19 -05:00
Justin Ethier
9ded782a06 New approach to stack graying from write barrier 2015-12-06 22:37:08 -05:00
Justin Ethier
3d0d966e6d Changed GC cooperation
Mark all objects moved to the heap, instead of just the typical roots.
2015-12-05 22:44:06 -05:00
Justin Ethier
0946d56aaa More notes 2015-12-04 23:38:09 -05:00
Justin Ethier
11864e558f Added more notes 2015-12-04 23:23:15 -05:00
Justin Ethier
17fbd853c7 Added note 2015-12-04 22:31:31 -05:00
Justin Ethier
09f4a638cf Added notes 2015-12-05 02:55:28 -05:00
Justin Ethier
22275832b5 Redirect GC to stderr 2015-12-03 23:20:16 -05:00
Justin Ethier
4f0ff11f33 Attempting to create standalone test case 2015-12-03 23:14:42 -05:00
Justin Ethier
ef0571b45e Move verbose output to stderr to make runtime logging easier 2015-12-03 23:14:18 -05:00
Justin Ethier
51b84301a6 Trying to isolate memory corruption issue. May also have an issue with long lists 2015-12-02 23:02:27 -05:00
Justin Ethier
d0a5451cf9 more notes 2015-12-03 02:57:15 -05:00
Justin Ethier
f4a1995957 Added TODO's 2015-12-03 02:56:20 -05:00
Justin Ethier
ea6167b90b Fixed debug statements 2015-12-03 02:51:58 -05:00
Justin Ethier
f6e14ef3a8 Added debugging 2015-12-01 22:34:39 -05:00
Justin Ethier
ab5d12b896 Link with pthread libs 2015-12-02 01:01:26 -05:00
Justin Ethier
c70a69c202 WIP 2015-12-01 22:41:11 -05:00
Justin Ethier
524e922ee0 Added temporary SIGINT 2015-11-30 22:22:13 -05:00
Justin Ethier
8452c35fae Use #if instead of #ifdef 2015-11-30 21:41:48 -05:00
Justin Ethier
52f0868d24 Selectively compile debug traces 2015-11-30 21:40:16 -05:00
Justin Ethier
e29633f2b2 Fixed off-by-one error WRT last read/write 2015-12-01 03:07:34 -05:00
Justin Ethier
ae46e39c45 Added TODO 2015-12-01 00:22:54 -05:00
Justin Ethier
7276eea773 Added debugging 2015-11-30 23:00:30 -05:00
Justin Ethier
b5849e10ed Added debug traces 2015-11-26 22:45:22 -05:00
Justin Ethier
604eb682c5 Trace object graph used to mark 2015-11-26 01:52:42 -05:00
Justin Ethier
c8d82f899f Debug alloc info 2015-11-26 00:15:43 -05:00
Justin Ethier
a257423999 More debugging 2015-11-25 23:54:16 -05:00
Justin Ethier
e95eeb8732 Record marking 2015-11-25 23:51:13 -05:00
Justin Ethier
ff1fc10a90 Added debug statements 2015-11-25 23:46:50 -05:00
Justin Ethier
6ad6f6e254 Added debug traces 2015-11-25 02:58:05 -05:00
Justin Ethier
46dff7fc38 notes 2015-11-24 23:29:44 -05:00
Justin Ethier
b6dc8c8285 Added notes 2015-11-24 23:18:24 -05:00
Justin Ethier
3e7877b402 Working around mark-free-list problem for now, need to revisit this. 2015-11-24 23:09:49 -05:00
Justin Ethier
469cfa4c08 Debugging - how could gc_sweep/p be a value type? 2015-11-21 02:57:32 -05:00
Justin Ethier
d13327cfd4 Debugging 2015-11-21 02:14:57 -05:00
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
ec6140b3a4 Ensure stack objects are properly marked 2015-11-20 02:50:46 -05:00
Justin Ethier
d1acb301c1 Initialize mark for load_varargs 2015-11-20 02:12:11 -05:00
Justin Ethier
2de1ce0d5c Added missing prototypes, init mark in make_cons 2015-11-20 02:05:10 -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