Commit graph

295 commits

Author SHA1 Message Date
Justin Ethier
deae1693d5 Updated header comments 2015-12-23 23:02:38 -05:00
Justin Ethier
eaac66ab37 WIP 2015-12-23 22:09:10 -05:00
Justin Ethier
c09dc43dde First crack at gc_mutator_thread_runnable 2015-12-23 22:34:11 -05:00
Justin Ethier
8aefcbfd13 New mutator signatures 2015-12-22 22:39:51 -05:00
Justin Ethier
247b09fc88 Store cont before mutator is blocked 2015-12-22 22:19:04 -05:00
Justin Ethier
309e35c69b Added cont argument to blocking I/O functions 2015-12-22 21:57:00 -05:00
Justin Ethier
f0b992335e Separate cooperation/longjmp from core minor GC 2015-12-23 03:02:52 -05:00
Justin Ethier
9a9b3cc640 Let GC know a thread is (potentially) blocking 2015-12-22 22:24:11 -05:00
Justin Ethier
9de27c2f98 Use a lock to synchronize writes to symbol table 2015-12-21 23:06:10 -05:00
Justin Ethier
be13df2abb Perform deferred free of thread data
Mark a mutator's thread as old when a thread is terminated, and free it at a later time. This is done to prevent race conditions with the collector thread, which could be in the middle of working with a thread's data.
2015-12-21 22:57:36 -05:00
Justin Ethier
c41e80a6ae Prove GC is cooperating w/blocked thread 2015-12-21 22:30:25 -05:00
Justin Ethier
ac9b197803 Remove dead code 2015-12-21 21:34:35 -05:00
Justin Ethier
a5fefda485 WIP - thread cleanup 2015-12-20 22:48:22 -05:00
Justin Ethier
6463b2bf06 Trigger GC prior to thread exit 2015-12-20 21:59:40 -05:00
Justin Ethier
5e4ab77f33 Fix overflow issues with thread-sleep! 2015-12-19 23:25:27 -05:00
Justin Ethier
d9656fc793 Use the name thread-sleep! 2015-12-19 00:22:49 -05:00
Justin Ethier
38c1ca7b31 Added thread_sleep 2015-12-18 23:53:24 -05:00
Justin Ethier
9d0130bd25 Remove unnecessary check 2015-12-18 23:07:15 -05:00
Justin Ethier
4e9bd1ea02 Added GC thread state, and notes 2015-12-18 23:49:32 -05:00
Justin Ethier
f3fac78e35 Added notes 2015-12-17 23:00:38 -05:00
Justin Ethier
a539027b0f Added thread primitives 2015-12-17 23:50:11 -05:00
Justin Ethier
7d57cec8a6 Pass Cyc_end_thread primitive 2015-12-17 23:24:23 -05:00
Justin Ethier
62e4e5afe9 Added thread primitives 2015-12-17 23:19:41 -05:00
Justin Ethier
e57688a774 Added thread start/end functions to runtime 2015-12-17 22:45:45 -05:00
Justin Ethier
43d29e3a4c Added Cyc_setup_thread stub 2015-12-16 23:03:27 -05:00
Justin Ethier
74b818ec2f Added an 'end thread' stub 2015-12-14 21:58:41 -05:00
Justin Ethier
ff18c50aac Cleanup all thread data members 2015-12-14 21:30:51 -05:00
Justin Ethier
c61fcd69d7 Removing obsolete function 2015-12-14 23:17:14 -05:00
Justin Ethier
ddf54ec5c7 Phasing-out Cyc_st_add2 2015-12-14 23:16:28 -05:00
Justin Ethier
ead5bcb100 Keep track of call history using thread data 2015-12-14 22:55:57 -05:00
Justin Ethier
4b3949ccb4 Speed up call history and remove debug code 2015-12-11 23:09:54 -05:00
Justin Ethier
dcf9396be2 Added a note about global table 2015-12-11 22:36:31 -05:00
Justin Ethier
84d74409cb Use ck hashset to speed up our symbol table 2015-12-11 22:27:21 -05:00
Justin Ethier
33447ebc57 New write barrier implementation 2015-12-07 22:34:29 -05:00
Justin Ethier
c8878e749a WIP - deferred gray 2015-12-08 03:14:00 -05:00
Justin Ethier
2dda21e43a Added TODO 2015-12-07 23:10:42 -05:00
Justin Ethier
fa26b18b01 Fixed compile error 2015-12-07 23:04:04 -05:00
Justin Ethier
3adf4d8d32 Refactoring 2015-12-07 22:54:47 -05:00
Justin Ethier
c75c86f028 WIP - "grayed" flag to indicate grayed stack object 2015-12-06 22:56:19 -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
22275832b5 Redirect GC to stderr 2015-12-03 23:20:16 -05:00
Justin Ethier
f6e14ef3a8 Added debugging 2015-12-01 22:34:39 -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
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
ff1fc10a90 Added debug statements 2015-11-25 23:46:50 -05:00
Justin Ethier
2215807a7c WIP, need to get sweep (trace?) working 2015-11-19 21:18:52 -05:00
Justin Ethier
ec6140b3a4 Ensure stack objects are properly marked 2015-11-20 02:50:46 -05:00