Date: Fri, 3 Sep 1999 15:40:56 -0400 (EDT) From: Keith White <Keith.White@site.uottawa.ca> To: Nate Williams <nate@mt.sri.com> Cc: Maruyama Fuyuhiko <fuyuhik8@is.titech.ac.jp>, java-port@FreeBSD.ORG, freebsd-java@FreeBSD.ORG Subject: Re: Some bugs exist in JDK for FreeBSD. Message-ID: <Pine.BSF.3.96.990903153310.12506A-100000@mail2.csi.uottawa.ca> In-Reply-To: <199909031555.JAA02569@mt.sri.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 3 Sep 1999, Nate Williams wrote: > > When you try division of two special int values, x86 cpu causes > > SIGFPE. You can easily see it. Try this "Test.java" compile with > > FreeBSD's javac. > > > > public class Test { > > public static void main(String[] args) { > > System.out.println("0x80000000 / -1 = " + (0x80000000/-1)); > > } > > } > > > > I think only this combination (i.e. 0x80000000/-1) causes unexcepted > > SIGFPE, so JavaVM may easily handle it. Our JIT compiler can handle > > it in support functions for JIT compiled methods, but I think JavaVM > > should handle it by itself! > > > > This bug may exist all version of JDK for FreeBSD (may be in Linux > > version), but I have checked only these versions. > > > > jdk1.1.8_AOUT.V99-7-19.tar.gz > > jdk1.1.8_ELF.V99-7-19.tar.gz > > Thanks for pointing this out, we'll look into this! I have fixed this bug. The problem is that DIVIDE traps are sent as SIGFPE and we didn't trap and interpret this signal like Solaris. Since we need a working executeJava_p5 to trap these signals, I backported the JDK1.2 cpuid patch. (Now we'll finally be able to use the assembler version of the JVM for JDK1.1.x. Things should speed up a bit...) Commits to follow after 3.x verification. ...keith -- Keith White, EITI/SITE, University of Ottawa kwhite@site.uottawa.ca [+1 613 562 5800 x6681] FAX [+1 613 562 5187] To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-java" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.96.990903153310.12506A-100000>