From ad59eee89f033ff6508a80b165ecd7828c1cc1bf Mon Sep 17 00:00:00 2001 From: Alex Shinn Date: Tue, 12 May 2015 23:16:58 +0900 Subject: [PATCH] sexp_emit_word should align before expanding --- vm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vm.c b/vm.c index 549c6ad1..e0631dfc 100644 --- a/vm.c +++ b/vm.c @@ -114,11 +114,11 @@ static void bytecode_preserve (sexp ctx, sexp obj) { static void sexp_emit_word (sexp ctx, sexp_uint_t val) { unsigned char *data; + sexp_context_align_pos(ctx); sexp_expand_bcode(ctx, sizeof(sexp)); if (sexp_exceptionp(sexp_context_exception(ctx))) return; data = sexp_bytecode_data(sexp_context_bc(ctx)); - sexp_context_align_pos(ctx); *((sexp_uint_t*)(&(data[sexp_unbox_fixnum(sexp_context_pos(ctx))]))) = val; sexp_inc_context_pos(ctx, sizeof(sexp)); }