Kiyo Inaba wrote:
While trying to get the latest kaffe for m68k, I become wondering what is the purpose of 'NEED_sysdepCallMethod' macro defined in several machine dependent codes. That means, this macro is not needed to compile m68k-linux (CVS head) and it WAS needed for 1.1.4, but still several other ports have this macro defined.
As far as I can tell by looking at kaffe/kaffevm/support.c, it's used to signal that the code is not using libffi, so it should use kaffe's own call interface.
Not every platform supported by kaffe is supported (or was supported at the time of porting) by libffi, so I assume that's the reason why some platforms don't have explicit NEED_sysdepCallMethod checks. I haven't looked at 1.1.4's source to see if there was such a check in config/m68k yet.
So, my understanding is the 'ifdef' which surrounded definition for inline function 'sysdepCallMethod' should not be needed.
Am I right?
I think having the libffi option is a good thing. Renaming the NEED_sysdepCallMethod preprocessor symbol to something more self-explanatory like 'USE_KAFFE_TRAMPOLINES', or USE_LIBFFI_TRAMPOLINES or even USE_FFCALL_TRAMPOLINES [1]
BTW, one more question. For m68k-linux, gcc complains that sysdepCallMethod can not be inlined because of alloca. When the compilation finished, I will test whether this kaffe works or not.
[1] If someone gets around to make kaffe work with ffcall. [2] [2] http://www.haible.de/bruno/packages-ffcall.html
_______________________________________________ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
