[aarch64-port-dev ] hg: aarch64-port/jdk8/hotspot: 2 new changesets
Andrew Dinn
adinn at redhat.com
Fri Nov 22 02:57:28 PST 2013
I have finally managed to pin down the problem I was having with the
Calendar code (and hence eclipse startup) and it is *my error* in the
simulator implementation of smulh.
I was computing the result word by calling mul64hi to multiply the
absolute values of the inputs and then adjusting the sign of the result
to match the product of the input signs. Of course, if the high word is
zero and the result requires a sign flip this may fail. The result by my
algorithm will always be zero but the correct result will only be zero
when the low word is also zero -- in other cases it should be -1.
I have taken the easy way out and reimplemented this using inline Intel
asm. This fixes the Calendar code and eclipse startup plus, probably, a
lot of other Java arithmetic which relies MulHiL + RShiftL to implement
a DivL.
regards,
Andrew Dinn
-----------
On 12/11/13 14:59, Andrew Dinn wrote:
> Unfortunately, the eclipse problems I am seeing with the latest hg tree
> are not reliably reproducible. However, I am frequently seeing an
> unexpected ArrayIndexOutOfBoundsException being thrown.
>
> In particular, this happens fairly frequently in
> BaseCalendar.getCalendarDateFromFixedDate() which is called under
> JulianCalender.<clinit>(), in turn called under Calendar.getTime().
>
> getCalendarDateFromFixedDate() performs a lot of arithmetic, both
> integer and FP. It may be that the value of current time makes it
> intermittent. Anyway, I'm currently checking the compiled code for sanity.
More information about the aarch64-port-dev
mailing list