Request for review (XS): 8003878: compiler/7196199 test failed on OS X since 8b54, jdk7u12b01

Vladimir Kozlov vladimir.kozlov at oracle.com
Wed Jan 23 14:58:18 PST 2013


Thank you, Christian

Vladimir

On 1/23/13 2:57 PM, Christian Thalinger wrote:
> Looks good.  -- Chris
>
> On Jan 23, 2013, at 2:20 PM, Vladimir Kozlov <vladimir.kozlov at oracle.com> wrote:
>
>> http://cr.openjdk.java.net/~kvn/8003878/webrev
>>
>> Limit vectors size to 16 bytes on OS X until it fixes restoration of upper 128bit of YMM registers on return from signal handler. I did it for all BSD OSs since I don't have them and I can verify their behavior.
>>
>> Note, in my last experiment I short-cut signal processing in JVM_handle_bsd_signal. Instead of executing safepoint blob I set address of next instruction after safepoint in compiled code and return from signal handle there:
>>
>>        if ((sig == SIGSEGV || sig == SIGBUS) && os::is_poll_address((address)info->si_addr)) {
>>          stub = SharedRuntime::get_poll_stub(pc);
>> +        if (stub != NULL & UseNewCode) {
>> +          uc->context_pc += 6;
>> +          return true;
>> +        }
>>
>> But I still see that upper YMM bits are not restored. Also, I examined saved ucontext data (passed to JVM_handle_bsd_signal) and I see saved upper bits there. Something wrong with return from signal handler.
>>
>> Thanks,
>> Vladimir
>>
>>
>


More information about the hotspot-compiler-dev mailing list