aboutsummaryrefslogtreecommitdiff
path: root/boehmgc-coroutine-sp-fallback.diff
AgeCommit message (Collapse)Author
2022-09-01Update boehmgc-coroutine-sp-fallback.diff for darwinMatthew Bauer
The darwin_stop_world implementation is slightly different. sp goes to altstack_lo instead of lo in this case. Assuming that is an implementation detail. But the fix is the same, when we detect alstack_lo outside of the expected stack range, we reset it to hi - stack_limit. Here stack_limit is calculated with pthread_get_stacksize_np since that is the BSD equivalent to pthread_attr_getstacksize.
2021-11-03Fix leaking pthread_attr_tMoritz Hedtke
pthread_attr_destroy was not called.
2021-06-25boehmgc: Remove unused code from patchRobert Hensing
2021-06-24boehmgc: Crude support for coroutinesRobert Hensing
Fixes the problem where a stack pointer outside the original thread causes the collector to crash. It could be made more accurate by recording the stack pointer every time we switch to a coroutine. We can use this information to update our own coroutine stacks like normal data. When the stack pointer is on a thread, we can add a field to GC_thread "fallback_sp" to be used when the thread sp is outside the original thread range.