IV26343: JIT INLINE GUARD ELIMINATION CAUSING FAILURES

Subscribe

APAR status

Closed as program error.

Error description

Error Message: An exception occurs while executing a
JIT-compiled Java method that gets an incorrect object address
due to executing the inlined code of the wrong method. The
actual failure symptoms may vary depending on what incorrect
inlined method gets executed.
.
Stack Trace: N/A
.

Local fix

Problem summary

The problem is caused by a internal JIT optimization that
incorrectly eliminates inline guards in a particular scenario in
which class hierarchy optimizations is disabled, but the inline
guard should not be eliminated when class hierarchy
optimizations is disabled.
In very rare cases where the JIT compiler fails compilation of
the method multiple times due to class hierarchy table changing,
this problem can occur. It could also occur if a user explicitly
uses the -Xjit:disableCHOpts option.

Problem conclusion

This defect will be fixed in:
6.0.0 SR11
6.0.1 SR2 FP1
7.0.0 SR2
.
The JIT compiler has been updated to ensure that the inline
guard does not get eliminated when class hierarchy optimizations
is disabled.