summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--vm.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/vm.c b/vm.c
index f7ace0d3..9c8e270c 100644
--- a/vm.c
+++ b/vm.c
@@ -415,7 +415,9 @@ static void vm_do_frame(struct vm *vm, vm_word_t insn, int capturable)
int size = vm_insn_operand(insn);
if (lev != vm->lev + 1)
- uw_throwf(error_s, lit("frame level mismatch"), nao);
+ uw_throwf(error_s,
+ lit("~s: frame level mismatch at ~s: right ~s, actual ~s"),
+ vm->vd->self, unum(vm->ip), num(vm->lev + 1), num(lev), nao);
vm->lev = lev;
vm->dspl[lev].mem = coerce(val *, zalloca(size * sizeof (val *)));