![]() | |||||||||||||
Messages in this thread |
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 majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ | ||||||||||||
| Last update: 2006-05-23 10:03 [from the cache] ©2003-2008 | |||||||||||||