sysdepCallMethod for RISC - request for comments

Pavel Roskin kaffe@rufus.w3.org
Thu, 2 Mar 2000 15:32:00 -0500 (EST)


Hello, Alexandre!

You are the author of sysdepCallMethod.h for Alpha, SPARC and MIPS.
All they use the construct:

return longSysdepCallMethod(call, args, func, callargs, calltype)

and gcc warns:
`return' with a value, in function returning void

Is it an error in your implementation?
Actually, some compilers could (in principle) remove calls not needed for
doing "return". I really don't want to copy this code blindly.

Also the comment says that longSysdepCallMethod cannot be inlined, but it
is declared "inline"

By the way, what's the reason to use "inline"? And what's the reason to
use #define for other architectures? Is it only about speed?

I have partially implemented sysdepCallMethod for PowerPC (it now supports
any number of jint arguments) based on my version for HP-UX, and I hope to
finish it, but I understand that your version is superior, because it
doesn't populate registers with junk for functions with short argument
lists.

Maybe somebody could clean up sysdepCallMethod for Alpha so that I could
use it as a base for a better implementation for PowerPC (and eventually
PA-RISC)?

Pavel Roskin