Christophe Lizzi wrote:
> Hi, all,
>
> Here is a patch that fix broken jlongs on bigendian architectures.
> It has been tested on Sparc and PowerPC platforms, and also works on x86.
> This fix can be applied against release 0.07.
>
> diff -u include/op_stack.h.ini include/op_stack.h
> --- include/op_stack.h.ini Mon Feb 22 11:49:14 1999
> +++ include/op_stack.h Mon Feb 22 12:05:19 1999
> @@ -343,11 +343,11 @@
>
> assert (s != NULL);
>
> - val2.i = (jint)*(--s->stack_top);
> - val1.i = (jint)*(--s->stack_top);
> + val2.i = (juint)*(--s->stack_top);
> + val1.i = (juint)*(--s->stack_top);
>
> - *value = (jlong)val1.i << 32;
> - *value |= val2.j & 0xffffffff;
> + *value = (jlong)(juint)val1.i << 32;
> + *value |= (jlong)(juint)val2.i;
>
cool. i'll ifdef them and check them in tonight. Can you please forward the
other fixes (for jbooleans and jbytes)?
Chris