From 5266d150043063e4268fe9e689ad28b679b6b51f Mon Sep 17 00:00:00 2001 From: Alex Shinn Date: Tue, 5 Jul 2011 21:38:17 +0900 Subject: [PATCH] off by one error in computing tail jump offset --- vm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vm.c b/vm.c index d34980d1..f2c0e443 100644 --- a/vm.c +++ b/vm.c @@ -396,7 +396,7 @@ static void generate_tail_jump (sexp ctx, sexp name, sexp loc, sexp lam, sexp ap /* jump */ emit(ctx, SEXP_OP_JUMP); - emit_word(ctx, (sexp_uint_t) (-sexp_context_pos(ctx) - 1 + + emit_word(ctx, (sexp_uint_t) (-sexp_context_pos(ctx) + (sexp_pairp(sexp_lambda_locals(lam)) ? 1 + sizeof(sexp) : 0)));