aboutsummaryrefslogtreecommitdiff
path: root/boehmgc-coroutine-sp-fallback.diff
AgeCommit message (Collapse)Author
2024-03-04Merge pull request #8887 from obsidiansystems/bsd-cross-ciJohn Ericson
Support cross compiling to BSD and CI it (cherry picked from commit 1f3fc08c5994ca69c84c9e745d59ec2bb2fd820a) Change-Id: I415e92952afc661cfb5ef91a76c0637678a04a19
2023-04-07Always disable GC in a coroutine unless the patch is appliedYorick van Pelt
2023-03-08Revert "Disable GC during coroutine execution + test"Théophane Hufschmitt
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.