From e00936d46bdb4a2d90ffa1f5d5ccf4790dce84c8 Mon Sep 17 00:00:00 2001 From: Andy Wingo Date: Tue, 21 May 2019 13:36:37 +0200 Subject: [PATCH] Allow jit_end to fail * libguile/jit.c (emit_code): Emitting a constant table might cause us to fail. --- libguile/jit.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/libguile/jit.c b/libguile/jit.c index 6c7399a75..0996c6152 100644 --- a/libguile/jit.c +++ b/libguile/jit.c @@ -1356,10 +1356,9 @@ emit_code (scm_jit_state *j, void (*emit) (scm_jit_state *)) emit (j); - if (!jit_has_overflow (j->jit)) + size_t size; + if (!jit_has_overflow (j->jit) && jit_end (j->jit, &size)) { - size_t size; - jit_end (j->jit, &size); ASSERT (size <= (arena->size - arena->used)); DEBUG ("mcode: %p,+%zu\n", ret, size); arena->used += size;