sysdepCallMethod for RISC - request for comments

Pavel Roskin pavel_roskin at geocities.com
Thu Mar 2 12:32:00 PST 2000


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



More information about the kaffe mailing list