Skip to content

aarch64 fibers example with a trampoline #34

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

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

monoid
Copy link

@monoid monoid commented May 27, 2025

No description provided.

monoid added 3 commits May 22, 2025 12:57
1. fix storing `r29` aka FP;
2. use `std::arch::naked_asm` where appropriate;
3. use `#[unstable(naked)]`.
16 bytes is enough.
@cfsamson
Copy link
Collaborator

cfsamson commented Jun 3, 2025

Thank you for this. Very interesting. I'll have to set of some time and go through it more thoroughly and see how I best can add this into this repository without causing any kind of confusion. Thanks!

@monoid
Copy link
Author

monoid commented Jun 4, 2025

Oh, thank you for the great book!

I've put together a blog post about my approach, I hope it will be helpful: https://monoid.github.io/posts/arm-coroutines/.

@cfsamson
Copy link
Collaborator

cfsamson commented Jun 4, 2025

Thanks for the kind words. I've read the blog post and found it very interesting. Well done on explaining some of the differences between ARM64 and X86_64! I've posted a link to your blog post on X/Twitter, and it got quite a few views there as well.

I'll start working on a second edition of the book after summer and I might add this port as a bonus section in the repository for that edition if that's OK with you?

@monoid
Copy link
Author

monoid commented Jun 4, 2025

Oh, thank you very much! Lot of views indeed!

It would be great! You may use my code as you wish, thank you for inspiring me to dive deeper in the subject :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

2 participants