Request for reviews (XS): 6772683: Thread.isInterrupted() fails to return true on multiprocessor PC

Vladimir Kozlov Vladimir.Kozlov at Sun.COM
Wed May 20 16:47:05 PDT 2009


Thank you, Tom

I will fix the comment.

Vladimir

Tom Rodriguez wrote:
> Looks good, though I'd probably say "prevent it floating up" in the 
> comment.
> 
> tom
> 
> On May 20, 2009, at 2:17 PM, Vladimir Kozlov wrote:
> 
>>
>> http://cr.openjdk.java.net/~kvn/6772683/webrev.01
>>
>> Fixed 6772683: Thread.isInterrupted() fails to return true on 
>> multiprocessor PC
>>
>> Problem:
>> The C2 intrinsic isInterrupted() misses a control edge setting for
>> the field thread::_interrupted load. The load use raw (not oop) thread
>> pointer for which we don't generate a NULL check which prevents in
>> an oop case the load to flow up.
>> In the bug case the field load flow up from the loop and the field check
>> follows it which is wrong.
>>
>> Solution:
>> Set the control edge for the field _interrupted load.
>> Added the regression test.
>>
>> Reviewed by:
>>
>> Fix verified (y/n): y,  bug's test
>>
>> Other testing:
>> JPRT
>>
> 



More information about the hotspot-compiler-dev mailing list