Adds native support for Fiber context switching on RISC-V#4867
Merged
kinke merged 1 commit intoldc-developers:masterfrom Jun 6, 2025
Merged
Adds native support for Fiber context switching on RISC-V#4867kinke merged 1 commit intoldc-developers:masterfrom
kinke merged 1 commit intoldc-developers:masterfrom
Conversation
1bec630 to
bc02f9f
Compare
0956c59 to
2c60fba
Compare
Contributor
Author
|
@wszqkzqk Hi! Maybe you are also interested in this? |
2c60fba to
641ec1d
Compare
8c79355 to
12e2b45
Compare
12e2b45 to
21c61d1
Compare
kinke
approved these changes
Jun 6, 2025
Member
|
For posterity: I've 'pushed' for this upstream in dlang/dmd#20964, but turns out GDC doesn't use that upstream So thx Dennis for bearing with me. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This code is based on mine earlier implementation for
rv32, so both platforms should be supported:rv32andrv64with and without compressed instructions and with and withoutHardFloat.For now it is tested only on
rv64withHardFloat(QEMU, Ubuntu 24.10,ldc2from~master)Implemented using separate file because I see potential for growth of this assembly code (I want to implement embedded ISA subset and maybe something vendor-specific), and also to put an end to
viciousscaring me practice of putting assembly code for completely different platforms into one huge .S filePath to the new asm file is the same as in the current DMD
~masterforcore.thread.fiberpackage