Request for reviews (S): 6912517: JIT bug compiles out (and stops running) code that needs to be run. Causes NPE.
John.Rose at Sun.COM
Wed Jan 6 20:31:12 PST 2010
Yes, that looks like a correct fix for the bug.
One possible problem is if the line marked "skip it" is executed very often, it could lead to a performance degradation. How did you ensure that the new guard logic won't get false positives?
On Jan 6, 2010, at 7:43 PM, Vladimir Kozlov wrote:
> Fixed 6912517: JIT bug compiles out (and stops running) code that needs to be run. Causes NPE.
> Block::implicit_null_check() does not check that the value
> is used in memory expression in instructions with embedded
> memory load. In the bug case the instruction was:
> CmpP val,(tls+off)
> Add the missing check.
> Add regression test.
> Reviewed by:
> Fix verified (y/n): y, test
> Other testing:
> JPRT, CTW
More information about the hotspot-compiler-dev