linux-os (Dick Johnson) wrote:
On ix86 there are not enough registers to pass a significant parameter
list all in registers! Like when you are printk()ing a dotted-quad IP
address, etc. Registers ESI, EDI, and EBX are precious, that leaves
EAX, ECX, EDX and possibly EBP for only 4 parameters. You need 5
for the dotted quad IP address. If the compiler were to use the
precious registers, the contents need to be saved on the stack.
That negates any advantage to passing parameters in registers.
I had the impression that REGPARM in i386 only passed the
first three arguments in registers, putting any further
paramters on the stack?
Ought to help for all those 3-argument or less functions.
Helge Hafting
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]