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

Tom Rodriguez Thomas.Rodriguez at Sun.COM
Wed May 20 16:29:46 PDT 2009


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