i'm another person working on the GW effort to port kaffe to a Cray SV-1, and have a question about some JIT details.

on cray, all datatypes except chars are 8 bytes. for instance, ints and longs are 8 bytes. however, in gtypes.h, it seems that kaffe requires either int or long to be 4 bytes (as evidenced by this line:)

#error "sizeof(int) or sizeof(long) must be 4"

My question is whether this is a serious requirement: if we change this line, will we be breaking other things?

also, on an relatively unrelated note, there are quite a few instruction formats on the cray that take up 48-bits. However, most existing 64-bit ports we're looking at only use 32-bit (LOUT). There is no macro for 48-bit assignment.
this is the existing line in kaffe/kaffevm/jit3/funcs.c :


#define LOUT (*(uint32*)&codeblock[(CODEPC += 4) - 4])

is there any inherent problem with simply defining our own macro like this:

#define LQOUT (*(uint64*)&codeblock[(CODEPC += 6) - 6])

we would have to make sure our shifting details are correct, but i think that the extra space will simply be overwritten by the next statement that is translated.

at any rate, this message is already too long and vague. If there is anyone out there with insights on the above, let me know.

thanks
Eric Denman

_________________________________________________________________
Add photos to your e-mail with MSN 8. Get 2 months FREE*. http://join.msn.com/?page=features/featuredemail



_______________________________________________ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe

Reply via email to