Messages in this thread | | | Date | Tue, 23 May 2006 09:55:16 +0200 | From | Helge Hafting <> | Subject | Re: [RFC PATCH (take #2)] i386: kill CONFIG_REGPARM completely |
| |
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/
| |