diff options
author | Andy Wingo <wingo@pobox.com> | 2019-05-21 13:36:37 +0200 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2019-05-21 13:36:37 +0200 |
commit | e00936d46bdb4a2d90ffa1f5d5ccf4790dce84c8 (patch) | |
tree | 95715f536670d4eb6482824bec0fad3cd81396b3 /libguile/jit.c | |
parent | 2876f054e8f58367217628afca65418bc58ef75c (diff) | |
download | guile-e00936d46bdb4a2d90ffa1f5d5ccf4790dce84c8.tar.gz |
Allow jit_end to fail
* libguile/jit.c (emit_code): Emitting a constant table might cause us
to fail.
Diffstat (limited to 'libguile/jit.c')
-rw-r--r-- | libguile/jit.c | 5 |
1 files 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; |