-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Windows fprs preservation #1216
Merged
iximeow
merged 41 commits into
bytecodealliance:master
from
iximeow:windows-fprs-preservation
Apr 10, 2020
Merged
Changes from all commits
Commits
Show all changes
41 commits
Select commit
Hold shift + click to select a range
4543e23
initial brush at preserving SIMD registers in Windows fastcall functions
iximeow 218ff4f
remove outdated comment and align CSR space if any SIMD registers are…
iximeow dd558cb
x86: preserve/restore callee-save xmm registers
iximeow 0537418
rustfmt
iximeow 6147df3
i do not understand why these are being rejected now
iximeow ad96c5a
rcx is used as a return value register, but r11 is free at return
iximeow 59d23fa
use rbp instead of r11 to work around missing fstDisp8/fldDisp8 encod…
iximeow bee0989
avoid growing callee-save space when already 16-byte aligned
iximeow 8f33538
fix merge confict with EBB rename
iximeow eefa4fc
tests are real too
iximeow 2e632bd
also record xmm preservation in Windows fastcall unwind info
iximeow 3de41fa
turns out f64x2 tries to use the nonexistent fstDisp8 encoding for f6…
iximeow aa5d68e
trusty rustfmt
iximeow 3ce7acf
clarify that Windows only requires the low 128 bits of floating point…
iximeow cc99f14
fix FPR preservation overlapping with GPR stack area
iximeow 597c994
rustfmt
iximeow d22ec8a
specify that ss0 should be a 32-byte spill slot, sufficient for two x…
iximeow 9489c05
almost fix offset calculations kind of sort of
iximeow cc2975a
maybe it works now
iximeow 403ebb2
maaaybe get Windows FPR unwind info right?
iximeow eeca3f4
running rustfmt in the wrong directory does nothing
iximeow b86234b
ci speak to me of windows woes
iximeow eeea0dd
only check for aligned frame allocation when we need it to be aligned
iximeow 74d4ab8
print the whole prologue that caused issues in unwind
iximeow f0f2394
add a comment explaining the seemingly-trunctaed test
iximeow 7bcff83
Revert "ci speak to me of windows woes"
iximeow 56e45cf
preserve FPRs in an ExplicitSlot rather than SpillSlot
iximeow 84da124
remove helper function that only existed due to a bad rebase
iximeow ceb48bf
temporarily disable the panic-reaching multi-return spectest
iximeow 291d09b
rust ... format ...
iximeow 0a418a2
ignore more windows-unfriendly tests?
iximeow a7e23a9
try different names for the testsuites?
iximeow 52425ef
rustfmt
iximeow 3060c8c
update panic message with reference to implementation limit
iximeow 42d129b
review feedback
iximeow c7547ed
fix date
iximeow c3530e6
try making unwind info fallible
iximeow f403c0a
pass errors in generating unwind info back up through CompiledFunctio…
iximeow 750507a
forgot to rustfmt
iximeow 4e1b10e
make emit_fde Result-y as well
iximeow 89af7e1
Update cranelift/codegen/src/isa/mod.rs
iximeow File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains 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
This file contains 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
This file contains 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
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains 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
This file contains 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
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we create a new issue to track the stack layout for CSRs problem and link here instead of the PR? My concern is only that it's hard to make out what's relevant of a complex PR like this one.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Absolutely. That's the third item in my to-do list which I've been waiting for even a preliminary ✔️ to actually file.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a reminder to update this to
https://github.com/bytecodealliance/wasmtime/issues/1475
.