That's even more odd to me. x86_64 shouldn't be using the old FP instructions and the SSE based one don't produce an inexact traps as far as I can tell. Maybe they are still being emitted somewhere, possibly for the transcendentals? Actually I can see that the template interpreter still uses them so maybe something is happening there with a left over precision exception?

tom

On Mar 25, 2009, at 4:10 PM, David Holmes - Sun Microsystems wrote:

The code was innocuous as far as I can see. One place does some basic calculations with some values used for GC statistics. The other was a crash here:

double cpuTimer::seconds() const {
 double count = (double) _counter;
 double freq  = (double) os::elapsed_frequency();
 return count/freq;
}

and os::elapsed_frquency is a constant (1000*1000*1000) on Solaris.

Both crashes occurs on 64-bit on Solaris AMD64.

Thanks,
David

Tom Rodriguez said the following on 03/26/09 08:53:
FPE_FLTRES appears to concern inexact results being produced but these kinds of exception should always be masked for us. In what kind of code was this reported?
tom
On Mar 24, 2009, at 5:58 PM, David Holmes - Sun Microsystems wrote:
Can someone tell me when you can encounter a SIGFPE with si_code FPE_FLTRES? I'm suspecting this may be a case where a "bad" operation doesn't in itself fail but the next (innocent) FP operation gets hit with the FPE.

Thanks,
David Holmes

Reply via email to