[Python-Dev] Register-based VM [Was: Possible performance regression]

Greg Ewing greg.ewing at canterbury.ac.nz
Tue Feb 26 17:18:59 EST 2019

Jeroen Demeyer wrote:
> Let me just say that the code for METH_FASTCALL function/method calls is 
> optimized for a stack layout: a piece of the stack is used directly for 
> calling METH_FASTCALL functions

We might be able to get some ideas for dealing with this kind of
thing from register-window architectures such as the SPARC, where
the registers containing the locals of a calling function become the
input parameters to a called function.

More generally, it's common to have a calling convention where the
first N parameters are assumed to reside in a specific range of
registers. If the compiler is smart enough, it can often arrange
the evaluation of the parameter expressions so that the results
end up in the right registers for making the call.


More information about the Python-Dev mailing list