IV68132: JAVA JIT - MERGING BOUND-CHECKS CAN PREVENT CODE FROM BEING EXEC UTED.
Closed as program error.
Error Message: Unexpected behaviour when executing catch blocks handling IndexOutOfBoundsException. . Stack Trace: N/A . The problem could occur on all platforms and all releases of the J9 VM, but given that it only effects IndexOutOfBoundsException exception paths, it's very unlikely to be encountered.
-Xjit:disableAndSimplificationNote: Use of this option will have a very small effect on the performance of some JIT generated code. The over all effect of a applications performance will be less then 1% in almost all cases.
Two near by bound-checks are merged allowing for code that should have been executed to be skipped when the exception path is taken. The side-effects of this skipped code could only be used in the catcher, all other side effects would be spotted and prevent the bound-checks from being merged in the first place.
The JIT was modified such that bound-check merging is prevented when there is code between the two bound-checks that would modify variables used in the exception path. . This APAR will be fixed in the following Java Releases: 7 SR9 (220.127.116.11) 6 SR17 (18.104.22.168) 6 R1 SR9 (22.214.171.124) 7 R1 SR3 (126.96.36.199) 8 SR1 (188.8.131.52) . Contact your IBM Product's Service Team for these Service Refreshes and Fix Packs. For those running stand-alone, information about the Service Refreshes and Fix Packs can be found at: https://www.ibm.com/developerworks/java/jdk/
Reported component name
Reported component ID
Last modified date
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fixed component name
Fixed component ID
Applicable component levels