Commit graph

1632 commits

Author SHA1 Message Date
Justin Ethier
84455a6092 WIP 2016-03-08 21:08:24 -05:00
Justin Ethier
b689a3bcde WIP 2016-03-09 03:46:27 -05:00
Justin Ethier
da33c95e31 Inspecting generated code 2016-03-09 03:42:20 -05:00
Justin Ethier
717bd66277 Revised final major GC section 2016-03-09 00:03:40 -05:00
Justin Ethier
3f2bddea8b WIP 2016-03-07 22:58:54 -05:00
Justin Ethier
285f02158d WIP 2016-03-07 23:45:01 -05:00
Justin Ethier
cf2cb18ee5 Initial file 2016-03-07 23:11:51 -05:00
Justin Ethier
23fd4268a3 More conservative locking when collector cooperates
Try to prevent cases where the mutator and collector are both running minor GC at the same time.
2016-03-04 21:58:31 -05:00
Justin Ethier
109d94db59 Initial file 2016-03-04 20:35:13 -05:00
Justin Ethier
b561bcd09a Initial file 2016-03-04 20:34:52 -05:00
Justin Ethier
bc26daa71f Limit GC tracing 2016-03-03 22:38:54 -05:00
Justin Ethier
47f43d54c0 Only generate call history for top-level (or library) defines 2016-03-03 22:38:33 -05:00
Justin Ethier
38099bb3c6 Fixed compiler warnings 2016-03-03 21:49:48 -05:00
Justin Ethier
edca776b42 Removed debug code 2016-03-03 20:48:14 -05:00
Justin Ethier
7900d47589 Increase heap page to 32MB 2016-03-03 23:21:09 -05:00
Justin Ethier
e034459e81 Added GC thresholds 2016-03-03 23:11:35 -05:00
Justin Ethier
fa933278a3 WIP 2016-03-03 20:19:17 -05:00
Justin Ethier
758bb25ba9 Tweaking GC parameters, but not done yet 2016-03-02 23:02:17 -05: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
c9a69ae208 Added debug flag to get GC thread PID 2016-03-02 21:21:05 -05:00
Justin Ethier
127acb143e Add GC safety check before clearing major GC vars 2016-03-02 19:35:14 -05:00
Justin Ethier
abdce5d978 Prevent "too many arguments" errors
Use folds instead of apply to prevent errors with too many arguments passed.
2016-03-01 22:09:26 -05:00
Justin Ethier
9720387420 Added a note 2016-03-01 23:53:09 -05:00
Justin Ethier
3b2061450b Revising first section 2016-03-01 21:37:27 -05:00
Justin Ethier
54c3779410 Revisions 2016-03-01 21:32:39 -05:00
Justin Ethier
86399604d0 Added intro paragraph 2016-02-29 22:09:47 -05:00
Justin Ethier
bfa655094c Many small revisions and fixes 2016-02-29 21:42:11 -05:00
Justin Ethier
642360cfc5 Revision 2016-03-01 03:00:46 -05:00
Justin Ethier
2886584a29 Revised collector cooperation section 2016-02-29 23:39:26 -05:00
Justin Ethier
78c7ca1667 Revised 2016-02-29 23:09:20 -05:00
Justin Ethier
76b5cbce00 Refactor gc_mut_update and handle TRACE case 2016-02-29 23:02:30 -05:00
Justin Ethier
98a18a225a Handle old stack objects on write barrier
The gc_mut_update write barrier should not assume that the old object is on the heap, lets also gray the old object if it happens to be on the stack. Worst case, we mark an extra object here or there. Best case, may prevent gc_allocated_bytes receiving forward pointers.
2016-02-29 03:08:18 +00:00
Justin Ethier
a98990b2e0 Apply pending_writes after cooperating on behalf
Apply pending_writes back to last_write after the collector cooperates on behalf of a mutator.
2016-02-27 22:56:59 -05:00
Justin Ethier
86bdf0c5aa Refactoring 2016-02-27 22:44:03 -05:00
Justin Ethier
be0384cd98 Add padding to integer_type
This will prevent assigning to forward() from possibly corrupting memory on 64-bit systems, because the 4-byte int type there does not have enough space to hold an 8-byte pointer.
2016-02-24 21:47:32 -05:00
Justin Ethier
cef2abfb7e Refactoring 2016-02-24 21:06:24 -05:00
Justin Ethier
dc19539bff Tweak GC debugging 2016-02-24 22:30:40 -05:00
Justin Ethier
7c49e59ad6 Added safety check 2016-02-23 21:59:12 -05:00
Justin Ethier
365e26a2a5 Added block comment support 2016-02-23 21:31:33 -05:00
Justin Ethier
22814ffc52 Handle block/runnable with a primitive as the cont 2016-02-23 23:25:53 -05:00
Justin Ethier
51748fb957 Let collector know mutator is blocking 2016-02-23 20:09:51 -05:00
Justin Ethier
67e588a242 Added temporary file 2016-02-23 20:01:02 -05:00
Justin Ethier
d434cf0f73 Added TODO's 2016-02-22 23:00:46 -05:00
Justin Ethier
c6bd33bfe9 Cleanup 2016-02-22 22:13:58 -05:00
Justin Ethier
603b2a242f Other notations now supported 2016-02-23 03:26:10 -05:00
Justin Ethier
d2eba45376 Removed unnecessary string->number2 2016-02-23 00:25:01 -05:00
Justin Ethier
76c84ad29e Added optional arg to string->number 2016-02-23 00:06:45 -05:00
Justin Ethier
1bcb119f70 Parse binary/octal/hex numbers 2016-02-21 22:47:36 -05:00
Justin Ethier
46e15ceffc Added bin/oct/hex string->integer conversions 2016-02-19 21:59:10 -05:00