Initial support for x64 windows calling convention on the single pass compiler #1998
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.
Hello, I started implementing some of the changes @losfair mentioned in this issue: #347
Some simple functions already work but more complicated ones do not. An example of a function that doesn't work is double_then_add below:
This probably has to do with proper handling of the 32 byte shadow space which I haven't added.
emit_call_sysv in codegen_x64.rs would have to be modified for this to work but the code has changed. @losfair mentioned a CONSTRUCT_STACK_AND_CALL_WASM which doesn't seem to exist anymore.
Ideally a maintainer would take this proof of concept and complete it. But with some guidance on better workflows for debugging the generated code on windows I can implement the missing functionality.