6889869 (original) (raw)

Author comments:

6889869: assert(!Interpreter::bytecode_should_reexecute(code),"should not reexecute")
Reviewed-by: jrose, kvn, cfang

The changes for 6873116 moved the reexecute bit into the PcDesc but
didn't account for the code in DebugInformationRecorder that tries to
share them. Since the code isn't checking should_reexecute it can
merge PcDescs with different reexecute bits. The fix is to check that
when merging them. The original code in 6833129 doesn't have this
problem because the bit was in the stream. Tested with failing test
case from nightly and -XX:+DeoptimizeALot -XX:+PatchALot runs that
also showed the problem.