![]() |
|
|
|
#1
|
|||
|
|||
|
Well, MSDN is not the only source that describes the x64 calling convention exactly in this way. It also matches with the code I've seen being generated by compilers, so it is definitely correct.
I wonder though why you even try to answer a question which is obviously beyond your expertise, only to come up with a snarky response to my well founded criticism?! |
| The Following User Says Thank You to mcp For This Useful Post: | ||
Indigo (07-19-2019) | ||
|
#2
|
|||
|
|||
|
1) it is intended for register spill. Nothing is stored there automatically. It avoids repeated push and pop sequences to save and restore the fastcall registers. If rcx and rdx are used as parameters, for example, and the compiler wants to use them for scratch registers, then they can be stored there.
2) your () in (3) contradicts your claim here. 3) your () here makes my point for me. It might not be there. 4) It is fixed. The first four parameters are in registers, and their space is reserved by the callee. The other parameters are pushed onto the stack by the caller. That's not home space anymore, that's regular stack calling convention. |
| The Following User Says Thank You to qkumba For This Useful Post: | ||
Indigo (07-19-2019) | ||
![]() |
| Thread Tools | |
| Display Modes | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Calling any function dynamically without typedef | Succubus | Source Code | 0 | 10-21-2021 16:34 |
| Calling function from a class | AdamD | General Discussion | 0 | 02-17-2005 22:59 |
| how do you stop a program from calling home? | sb1855 | General Discussion | 4 | 03-29-2003 04:40 |
| Softice - how do I return to calling code? | sync | General Discussion | 16 | 08-22-2002 20:02 |