[Sablevm-user] Re: 64 bit alignment
Brought to you by:
egagnon
From: Etienne M. G. <eg...@j-...> - 2000-11-30 20:49:59
|
xli wrote: > >union _svmt_stack_frame_entry_union > >{ > > jint jint; > > jfloat jfloat; > > void *addr; > >#ifdef DOUBLE_ALIGNMENT > > jdouble dummy_jdouble; > >#endif > >}; > > > It sounds OK, but the consumption of stack will be doubled. Yes, but other than rewriting the bytecode so that no odd stack location is used for doubles/longs, I see no solution which won't hurt either performance or memory consuption. (Or alternatively, reject such bytecode, but this would be in violation of the JVM specification). The uglier problem here, is that we must also change the object layout offset assignment code for long/double, so that alignment is (conditionally) provided. @#$%*&!@#$*&%! (this is what I think;-) Etienne -- ---------------------------------------------------------------------- Etienne M. Gagnon, M.Sc. e-mail: eg...@j-... Author of SableCC: http://www.sable.mcgill.ca/sablecc/ and SableVM: http://www.sablevm.org/ ---------------------------------------------------------------------- |