Request for reviews (XS): 6772683: Thread.isInterrupted() fails to return true on multiprocessor PC
Vladimir.Kozlov at Sun.COM
Wed May 20 14:17:53 PDT 2009
Fixed 6772683: Thread.isInterrupted() fails to return true on multiprocessor PC
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.
Set the control edge for the field _interrupted load.
Added the regression test.
Fix verified (y/n): y, bug's test
More information about the hotspot-compiler-dev