From 4815f528c228711623a9bcf3dd9626c044a16f45 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Tue, 28 Jan 2020 22:03:56 -0800 Subject: vm: more info in frame level mismatch. * vm.c (do_frame): In frame level mismatch diagnostic, identify vm descriptor, instruction offset and the expected and actual level. --- vm.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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 *))); -- cgit v1.2.3