Justin Ethier
c44d5d5427
Call CPS optimization code from main program
2016-03-10 21:29:47 -05:00
Justin Ethier
4c2b56b19e
Test optimization changes
2016-03-11 02:19:20 -05:00
Justin Ethier
4e9a209f43
First start at CPS optimization
2016-03-10 23:50:13 -05:00
Justin Ethier
f6c79dd05f
Revised TODO items
2016-03-10 02:50:29 -05:00
Justin Ethier
3d126a5ae5
Initial file
2016-03-09 23:38:06 -05:00
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