From 82a3c1cd8d00bc342752c31116c497c52f6d8933 Mon Sep 17 00:00:00 2001 From: lemon Date: Wed, 12 Nov 2025 17:58:51 +0100 Subject: implement argument passing in stack --- ir/abi0.c | 1 + ir/ir.h | 1 + 2 files changed, 2 insertions(+) (limited to 'ir') diff --git a/ir/abi0.c b/ir/abi0.c index 515ba1a..404947e 100644 --- a/ir/abi0.c +++ b/ir/abi0.c @@ -276,6 +276,7 @@ abi0_call(struct function *fn, struct instr *ins, struct block *blk, int *curi) if (call->vararg == i) vararg = i2; i2 += ret; } + call->argstksiz = ns; /* adjust return */ if (call->ret.isagg) { ins->cls = 0; diff --git a/ir/ir.h b/ir/ir.h index 4c369a1..66fc56d 100644 --- a/ir/ir.h +++ b/ir/ir.h @@ -46,6 +46,7 @@ struct call { union irtype ret; ushort narg; short vararg; /* first variadic arg or -1 */ + ushort argstksiz; struct abiarg *abiarg; struct abiarg abiret[2]; }; -- cgit v1.2.3