Add register parameter to AM stack operations

This commit is contained in:
2025-08-10 20:38:04 +01:00
parent 57c39fd00b
commit 76efcef953
5 changed files with 29 additions and 19 deletions

View File

@@ -14,16 +14,16 @@ void am_init(am_t *am)
env_init(am);
}
void am_push(am_t *am)
void am_push(am_t *am, am_reg_t reg)
{
assert(am->sp >= am->stack);
*am->sp-- = AM_EXPR(am);
*am->sp-- = am->regs[reg];
}
void am_pop(am_t *am)
void am_pop(am_t *am, am_reg_t reg)
{
assert(am->sp < am->stack + AM_STACK_SIZE - 1);
AM_EXPR(am) = *++am->sp;
am->regs[reg] = *++am->sp;
}
void am_append_arg(am_t *am)