Leopold Toetsch <[EMAIL PROTECTED]> writes: > Piers Cawley wrote: >> Leopold Toetsch <[EMAIL PROTECTED]> writes: >> >>>Not quite for this case. Or in theory yes, but... As calling the >>>subroutine mustn't have any changes to the caller's registers, it's just >>>simpler to save these registers that the subroutine might change. > >> But generating the save signature for a given sub is a compile time cost >> that only needs to be paid once for each sub and shoved on an I register > > ... once per sub per location where the sub is called from. But there > isn't any knowledge that a sub might be called. So the cost is actually > more per PMC instruction that might eventually run a PASM MMD. This is, > when its done right, or ...
No. Once per compilation unit. Stick it in a high register and keep it nailed there for the duration of the sub. Specify this register as part of the calling conventions; the right value will then get restored at any function return and there's no need to regenerate it.