From 24fe6921b63cc2b2145547f37218e630682b0fe6 Mon Sep 17 00:00:00 2001 From: lemon Date: Sun, 11 May 2025 09:25:12 +0200 Subject: fix bytecode constants reuse --- pez.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'pez.c') diff --git a/pez.c b/pez.c index 306e3ca..b7ebad5 100644 --- a/pez.c +++ b/pez.c @@ -1336,6 +1336,7 @@ inspectproto(Proto *pr) assert(*argp < pr->ncon); v = pr->con[*argp]; assert(isobj_of(v, PEZ_TString)); + fprintf(stderr, "(%d) ", *argp); inspectstr(((Str *)unbox_obj(v))->dat, ((Str *)unbox_obj(v))->len); break; case Olambda: @@ -1344,6 +1345,7 @@ inspectproto(Proto *pr) v = pr->con[*argp]; assert(isobj_of(v, PEZ_TFnProto)); opr = unbox_obj(v); + fprintf(stderr, "(%d) ", *argp); if (opr->named) { fprintf(stderr, "<'%s %p>", opr->name, opr); } else { @@ -2559,8 +2561,8 @@ compconst(Comp *cm, Val v) if (cm->con.len == UINT8_MAX) { return comperr(cm, peekchr(cm), "too many consts"), 0; } - K: vecpush(cm->cx, &cm->con, &v, 1); + K: TRY(compop(cm, Ostring)); TRY(compbyte(cm, idx)); return 1; -- cgit v1.2.3