Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
julia_gc: remove SKIP_GUARD_PAGES mode (#5727)
Two reasons for the removal: 1. it doesn't work as implemented; e.g. on my system it skips 4kb guard page but there actually is an 8kb guard page; 2. it is conceptually the wrong place to do it here. Instead, the Julia function `jl_active_task_stack` needs to be adapted to skip guard pages. Only it has enough information to do so correctly and in all cases. Indeed, in some task stacks, there is a guard page allocated by the operating system and hence the code removed by this commit would do the right thing. But for other task stacks the guard page is actually created by Julia (which explains why it can be larger than whatever guard page size is configured in pthreads), but the details actually depend on the platform, and so we don't have enough information about it. So we just drop the guard page code here. In a future version of Julia, `jl_active_task_stack` will skip guard pages. And then the `jl_get_safe_restore` / `jl_set_safe_restore` mechanism just won't be triggered anymore, and we can eventually remove it, in a future revision of this code.
- Loading branch information