+
+ // Indicate that we don't know the stack depth of the instruction
+ // following the `jsr'. The idea here is that we need to merge
+ // the local variable state across the jsr, but the subroutine
+ // might change the stack depth, so we can't make any assumptions
+ // about it. So we have yet another special case. We know that
+ // at this point PC points to the instruction after the jsr.
+
+ // FIXME: what if we have a jsr at the end of the code, but that
+ // jsr has no corresponding ret? Is this verifiable, or is it
+ // not? If it is then we need a special case here.
+ if (PC >= current_method->code_length)
+ verify_fail ("fell off end");
+
+ current_state->stacktop = state::NO_STACK;
+ push_jump_merge (PC, current_state);
+ invalidate_pc ();