Jazelle was before my time but what I like is that maybe v7 maybe even v8 have enough Jazelle logic to say "we don't do that here" and that's it. It was in one of their docs that the only functionality is detection of them as illegal instructions. So all those little cost optimized chips had to spend some silicon because of that decision years ago, which feels very x86.
Is this any different from detecting illegal instructions in general?
I would have thought any encoding in the unused part of the instruction space would generate a SIGILL, needing the "we don't do that here" logic.
A bit fuzzy. I mostly work on M-class so idk what the sig would be, but a cursory glance says there's a dedicated "go to Jazelle" instruction that maybe it deals with differently? That way if any bytecodes overlap with arm/thumb it'll still know. Thinking about it, I'm more certain that's what it is. Maybe there's a bytecode that's a valid non-Java encoding that's a valid instruction, so they focus on the Jazelle mode entry