diff options
| author | alanwu-shopify-inc <286122947+alanwu-shopify-inc@users.noreply.github.com> | 2026-05-26 13:56:56 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-05-26 13:56:56 -0400 |
| commit | ce7f3ed832a50e493e3b6cb592791aa1fe784d85 (patch) | |
| tree | bd5c650a8ec81f6b280af75c4abfe408aa0f3ef3 /lib/did_you_mean | |
| parent | b2715bf268583ee476000db66797aa0858980b12 (diff) | |
Previously, the last push, in case the total number of pushes was odd,
ended up in a different location relative to the stack top on x64 versus
A64. On A64, it ends up at `sp[0]`, whereas on x64 it ends up at
`sp[1]`. The difference was due to `CPush` not having consistent
architectural effects in the two arches.
Normalize to `CPushPair` instead. Now A64 will write one more slot, due
to using STP. x64 now uses the two-byte `push 0` instead of the
one-byte `push rdi`. The odd push now always lives at `sp[1]`, leaving
no gap between it and the rest of the survivors. This consistency will
benefit future stack map work.
Also remove some pointless `Vec` allocations.
Diffstat (limited to 'lib/did_you_mean')
0 files changed, 0 insertions, 0 deletions
