Justin Ethier
104ee22b5f
Starting immediate int conversion
...
Also rewrote numeric computation functions to generate via a C macro
2016-03-14 22:07:28 -04:00
Justin Ethier
6376a0eb2c
Qualify logging as verbose
2016-03-02 21:25:05 -05:00
Justin Ethier
64e0255d69
Minor GC's happen all the time - logging is verbose
2016-03-02 21:23:15 -05:00
Justin Ethier
dc19539bff
Tweak GC debugging
2016-02-24 22:30:40 -05:00
Justin Ethier
76c84ad29e
Added optional arg to string->number
2016-02-23 00:06:45 -05:00
Justin Ethier
46e15ceffc
Added bin/oct/hex string->integer conversions
2016-02-19 21:59:10 -05:00
Justin Ethier
41ff5a149b
Fix (closure) casting in closcall macros
2016-02-18 22:30:10 -05:00
Justin Ethier
c98e186172
Relocated mutex primitives to srfi 18 lib
2016-02-16 23:51:28 -05:00
Justin Ethier
8fdd2c46ba
Added condition variable type
2016-02-16 01:09:02 -05:00
Justin Ethier
730434bb14
Added header comment block.
2016-02-14 22:35:04 -05:00
Justin Ethier
bf561a66e1
Allow Cyc_apply to receive 0 scheme args
2016-02-11 21:05:37 -05:00
Justin Ethier
4ec87c20c8
Removed unused code
2016-02-05 19:41:59 -05:00
Justin Ethier
88f5d29930
Experimental changes
2016-02-04 23:40:59 -05:00
Justin Ethier
88784bb5ff
Will need to quote objects before evaling them
2016-02-03 22:54:41 -05:00
Justin Ethier
4dc2e78ce8
Correct format specifier for float
2016-01-24 21:41:35 -05:00
Justin Ethier
dcf4bfafcf
Cleanup of blocked/runnable api
2016-01-21 21:36:55 -05:00
Justin Ethier
76bbca68e5
Cyc-minor-gc is now part of (srfi 18)
...
It makes more sense here than as a primitive, since threading is the only place you would need to trigger this from application code.
2016-01-18 22:40:59 -05:00
Justin Ethier
1e71ff3fd3
Move thread-sleep! to 18.sld
2016-01-18 22:18:39 -05:00
Justin Ethier
40bcf2d5dc
Added comments
2016-01-17 00:09:01 -05:00
Justin Ethier
ea45546c62
Experimenting with explicit heap copying
2016-01-15 22:43:21 -05:00
Justin Ethier
f0cd203a5c
WIP
2016-01-14 23:03:30 -05:00
Justin Ethier
2019b84149
Removed dead code
2016-01-11 22:39:37 -05:00
Justin Ethier
37672f0b7a
Use thread data to hold exception stack
2016-01-11 22:14:53 -05:00
Justin Ethier
a9d575d3a9
Removed Cyc_current_exception_handler2
2016-01-12 03:29:10 -05:00
Justin Ethier
02317f940d
Transitioning away from Cyc_current_exception_handler2
2016-01-12 03:26:55 -05:00
Justin Ethier
87c266a44a
Adding exception stack to thread data
2016-01-12 03:21:36 -05:00
Justin Ethier
4d2b59966c
Bug fixes, comments
2016-01-05 19:14:31 -05:00
Justin Ethier
e28951a8d5
Move the mutation table into thread data.
2016-01-04 22:54:23 -05:00
Justin Ethier
d2cbfaf217
Cleanup TODO
2016-01-03 22:57:13 -05:00
Justin Ethier
a889d6fb6f
Refactoring
...
Renamed cyc_start_thread to cyc_start_trampoline to be more clear about what the function actually does.
2016-01-03 22:56:34 -05:00
Justin Ethier
ef61c578c5
Build-out of mutex lock/unlock
2016-01-03 00:02:19 -05:00
Justin Ethier
9402805af3
Mutex stubs
2016-01-02 22:13:45 -05:00
Justin Ethier
36752be311
Stubs for mutex functions
2016-01-02 21:56:36 -05:00
Justin Ethier
71af17d7e7
Use atomic operations from libck
2015-12-29 22:05:07 -05:00
Justin Ethier
eaa0481f40
Added Cyc-minor-gc
2015-12-27 23:16:58 -05:00
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