mirror of
https://github.com/ashinn/chibi-scheme.git
synced 2025-07-07 13:16:36 +02:00
skipping over calls to reserve on tail jumps
This commit is contained in:
parent
60c304cbb8
commit
463400fc7e
1 changed files with 3 additions and 1 deletions
4
vm.c
4
vm.c
|
@ -385,7 +385,9 @@ static void generate_tail_jump (sexp ctx, sexp name, sexp loc, sexp lam, sexp ap
|
||||||
|
|
||||||
/* jump */
|
/* jump */
|
||||||
emit(ctx, SEXP_OP_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) - 1 +
|
||||||
|
(sexp_pairp(sexp_lambda_locals(lam))
|
||||||
|
? 1 + sizeof(sexp) : 0)));
|
||||||
|
|
||||||
sexp_context_tailp(ctx) = 1;
|
sexp_context_tailp(ctx) = 1;
|
||||||
sexp_gc_release3(ctx);
|
sexp_gc_release3(ctx);
|
||||||
|
|
Loading…
Add table
Reference in a new issue