RFR (S): 8020433: Crash when using -XX:+RestoreMXCSROnJNICalls

John Rose john.r.rose at oracle.com
Fri Jul 12 20:22:31 PDT 2013


Very nice cleanup.  You can count me as a reviewer.

I saw the copy/paste of create_control_words, which is due to our 32/64 split.

I filed JDK-8020484 to follow up on that, and about 100 similar duplications.

— John

On Jul 12, 2013, at 7:52 PM, Vladimir Kozlov <vladimir.kozlov at oracle.com> wrote:

> http://cr.openjdk.java.net/~kvn/8020433/webrev/
> 
> My changes for 8011102 exposed a problem existed from time when we
> partially merged x86_32 and amd64 code. We have two _mxcsr_std variables
> and they initialized differrently:
>  StubRoutines::_mxcsr_std is initialized only in 32-bit VM
>  StubRoutines::x86::_mxcsr_std is initialized only in 64-bit VM
> 
> The fixed is to remove StubRoutines::x86::_mxcsr_std and use
> StubRoutines::_mxcsr_std.  We may later do cleanup to move all these
> fpu/mxcsr flags from StubRoutines to StubRoutines::x86
> (stubRoutines_x86.?pp files). But I made these changes simpler for easy
> backport to 7u40 (which does not have stubRoutines_x86.?pp files).
> 
> Copied create_control_words() code from stubGenerator_x86_32.cpp to
> stubGenerator_x86_64.cpp. Note, C1 uses _fpu_cntrl_wrd_* values
> unconditionally, even in 64-bit VM as first Tier. So I decided to
> initialized all those values in 64-bit VM also.
> 
> Added regression test.
> 
> Thanks,
> Vladimir



More information about the hotspot-compiler-dev mailing list