aboutsummaryrefslogtreecommitdiff
path: root/boehmgc-coroutine-sp-fallback.diff
AgeCommit message (Collapse)Author
2023-03-01Always disable GC in a coroutine unless the patch is appliedYorick van Pelt
2023-01-24Update boehmgc-coroutine-sp-fallback.diffRobert Hensing
2023-01-24Revert "fixup: remove boehmgc patch"Robert Hensing
It is still necessary. Please do your research, or f ask the author, which happens to be me. An evaluator like this is not an environment where "it compiles, so it works" will ever hold. This reverts commit 1c40182b12d5fd462c891b597e1a3f9b912502d5.
2022-12-19fixup: remove boehmgc patchLinus Heckemann
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.