add follow-up assert during unwinding#112817
Conversation
|
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch |
| assert(genIsValidIntReg(reg)); | ||
| unwindRegNum = reg; | ||
| } | ||
| assert(unwindRegNum <= 15); |
There was a problem hiding this comment.
Is this correct?
We have 32 float registers with AVX512 and can have up to 32 general-purpose registers with APX.
If we're relying on something like this only being non-volatile registers, then I'd think we want a comment explaining that.
There was a problem hiding this comment.
OpInfo only has 4 bits, so it can only fit up to 15, so if there were ever callee-saves with a higher index it would also need some other unwind code.
There was a problem hiding this comment.
From this link
We propose to define the new GPRs as caller-saved (volatile) states in application binary interfaces (ABIs), facilitating interoperability with legacy binaries.
The callee-saved state is unchanged, but will add a comment that @tannergooding asked.
follow-up to #112799 (comment)