RFR (S): 8020433: Crash when using -XX:+RestoreMXCSROnJNICalls
Vladimir Kozlov
vladimir.kozlov at oracle.com
Fri Jul 12 20:43:57 PDT 2013
Thank you, John
Vladimir
On 7/12/13 8:22 PM, John Rose wrote:
> 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