RFR 8079562: Crash in C2 compiled code with STATUS_FLOAT_MULTIPLE_TRAPS
coleen.phillimore at oracle.com
Wed Aug 3 01:16:42 UTC 2016
On 8/2/16 8:35 PM, David Holmes wrote:
> Hi Coleen,
> On 3/08/2016 8:34 AM, Coleen Phillimore wrote:
>> Summary: Add AlwaysRestoreFPU and move the test to jtreg.
>> Contributed-by: myself and christian.tornqvist at oracle.com
>> Christian moved the test, I did some cleanup and added AlwaysRestoreFPU
>> to it.
> You modified the original C code such that this comment is no longer
> 33 // Only valid for specific x86 based systems: linux-x86, or else
> x86 with fpu_control.h
Thanks, David. I took out the rest of the comments but missed this one.
> Not sure why you did that - we were running this test on more than
> just Windows, despite the naming.
Actually, the #ifdefs were intended to only run on 32 bit linux as well
as windows, but I don't think the ifdefs were correct, so the test
always printed that it was skipped on platforms other than windows. The
test is only useful on windows. Modifying the fpcw didn't have an
effect on linux x86. Seems silly to run the test on platforms where
it's not testing anything.
> I'm also unclear exactly what changed such that we need to add
> AlwaysRestoreFPU ??
https://bugs.openjdk.java.net/browse/JDK-8076284 allegedly changed the
behavior in 2015.
Setting floating point control word is something that we don't promise
to work with generated code or the jvm code, which is why this
-XX:+AlwaysRestoreFPU flag was added.
> Can you add @Summary info to the Java test (and/or other commentary)
> as it is far from clear exactly what this is testing.
Yes, I can do that. How about:
* @summary Test that modifying the floating point control word doesn't
cause unhandled Windows floa
ting point exceptions
Can summary lines be > 1 line or do they have to be one line?
>> open webrev at http://cr.openjdk.java.net/~coleenp/8079562.01/webrev
>> bug link https://bugs.openjdk.java.net/browse/JDK-8079562
>> Tested with JPRT.
More information about the hotspot-runtime-dev