[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/
----------------------------------------------------------------------
|