В каком порядке аргументы x64 толкнул в стек:Для того, что аргументы помещаются в стек на x64
- в V ABI System?
- в Windows ABI?
Я пишу библиотеку Java FFI, которая использует динамически создаваемые заглушки, и эти заглушки зависят от этого порядка.
I Подозреваемый что он «плавает первым», но не уверен.
Вы знаете, что аргументы передаются в регистры тоже? Не только на стеке? – jcoder
@jcoder Да, я. Я уже обработал случай всех целых аргументов в регистрах. – Demi
Не знаю System V ABI, но IIRC, в Windows 64, ** регистры с плавающей запятой ** передаются в 'xmm0' до' xmm3' ** вместо ** 'rcx',' rdx', ' r8' и 'r9', поэтому, если аргументы являются' (int, double, int, double) ', они передаются в' rcx', 'xmm1',' r8' и 'xmm3' соответственно. Остальное, если таковое имеется, передается в стек, как описывает @MargaretBloom в своем ответе. –