|
|
|
|
|
by acqq
2230 days ago
|
|
Just looking from afar, I don't have time to analyze every other claim, but this one: > Both C++ and Rust have generated identical assembly listings; both have added push rbx for the sake of stack alignment. Q.E.D. seems to be completely wrong: a decent compiler is able to align the stack without "touching" it. For the variables inside of the function to be pushed to the aligned stack position, only different offsets have to be calculated. For the stack itself to get to be aligned, only the register has to be updated, surely nothing has to be pushed. So something else must have been happening there, and I don't have time to analyze what, but I'm sure push is surely not necessary for alignment alone. |
|