diff --git a/libguile/jit.c b/libguile/jit.c index ed95ba5d2..8e0781d22 100644 --- a/libguile/jit.c +++ b/libguile/jit.c @@ -815,16 +815,12 @@ emit_direct_tail_call (scm_jit_state *j, const uint32_t *vcode) { ASSERT_HAS_REGISTER_STATE (FP_IN_REGISTER | SP_IN_REGISTER); + ASSERT ((vcode[0] & 0xff) == scm_op_instrument_entry); + if (vcode == j->start) { jit_jmpi (j->jit, j->labels[0]); } - else if ((vcode[0] & 0xff) != scm_op_instrument_entry) - { - emit_movi (j, T0, (intptr_t) vcode); - emit_store_ip (j, T0); - emit_exit (j); - } else { struct scm_jit_function_data *data;