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

Vladimir Kozlov Vladimir.Kozlov at Sun.COM
Wed May 20 14:17:53 PDT 2009


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