[kaffe] cray int size problem

Eric Denman emoatgdub at hotmail.com
Mon Jul 21 14:29:01 PDT 2003

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 
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.

Eric Denman

Add photos to your e-mail with MSN 8. Get 2 months FREE*.  

More information about the kaffe mailing list