-
Notifications
You must be signed in to change notification settings - Fork 12.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Switching to the C stack is slow #1801
Comments
Branch prediction is the reason the stack-growth |
Possibly we can just use the stack-growth |
We tried using __morestack for this and it had too much overhead from other stack growth code to make it worthwhile. |
Visiting for triage; still relevant. |
Triage: #8535 changed (some of) the way @nikomatsakis would your changes have affected this? |
@huonw yes and no. We no longer use the old C stack switching mechanism, we only use the "stack-growth" variant of |
Obsolete |
Add tests for rust-lang#564, rust-lang#208 and rust-lang#87. Unfortunately, it looks like there are still issues with with how we are encoding panic threads and dynamic objects which are causing two of the test cases to fail.
pcwalton saw the C-stack-switching
__morestack
function show up surprisingly high on profiles. All this function does is change sp and call a function by pointer. Probably this is very bad for branch prediction.The text was updated successfully, but these errors were encountered: