Sometimes when running with PrintNMethods assertions are thrown because the bci recorded for a PcDesc isn't larger than the code size of the corresponding method. This only occurs with -XX:+DebugNonSafepoints because bcis are being pulled from instructions that didn't have the right bci on them. These are usually synthetics branches where GraphBuilder wasn't being careful about what scope the goto was actually in and the bci wasn't being used for other purposes so weren't detecting it was wrong before.