Liste des Groupes | Revenir à c arch |
The counter argument is that there are too few subroutines wantingI looked high and low for codes using more than 8 arguments and>
returning aggregates larger than 8 double words, and about the
only things I found were a handful of []print[]() calls.
For languages where the type systems ensures that the max number of
arguments is known (and the same) when compiling the function and when
compiling the calls to it, you could adjust the number of caller-saved
argument registers according to the actual number of arguments of the
function, thus making it "cheap" to allow, say, 13 argument registers
for those functions that take 13 arguments, since it doesn't impact the
other functions.
But in any case, I suspect there are also diminishing returns at someThen there is the issue of what is IN the structure passed in
point: how much faster is it in practice to pass/return 13 values in
registers instead of 8 of them in registers and the remaining 5 on
the stack? I expect a 13-arg function to perform an amount
of work that will dwarf the extra work of going through the stack.
>
>
Stefan
Les messages affichés proviennent d'usenet.