There's nothing that I know of that guarantees that jumps and ifs, etc, must jump you to the START of an instruction. One would assume this was so, but I can't say for certain. What are people's thoughts?
From JVM Spec 4.9.2: "The operands, if any, of each instruction are checked to make sure they are valid ... The targets of all control-flow instructions are each the start of an instruction." That should take care of it, I think.