Request for reviews (S): 6912517: JIT bug compiles out (and stops running) code that needs to be run. Causes NPE.
John Rose
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?
-- John
On Jan 6, 2010, at 7:43 PM, Vladimir Kozlov wrote:
>
> http://cr.openjdk.java.net/~kvn/6912517/webrev.00
>
> Fixed 6912517: JIT bug compiles out (and stops running) code that needs to be run. Causes NPE.
>
> Problem:
> 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)
>
> Solution:
> 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
mailing list