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)); }