aboutsummaryrefslogtreecommitdiff
path: root/src/codegen
diff options
context:
space:
mode:
authorDavid Rubin <daviru007@icloud.com>2024-03-23 01:13:56 -0700
committerDavid Rubin <daviru007@icloud.com>2024-05-11 02:17:11 -0700
commit92293214009cbf5d8aede56a5f54f533173324d5 (patch)
treef23c26d18a65466c84ea3ee7cfad7e24a3eee4ae /src/codegen
parent5e010b6deac7ad34f0cd06d507fc468fd98f9abc (diff)
downloadzig-92293214009cbf5d8aede56a5f54f533173324d5.tar.gz
zig-92293214009cbf5d8aede56a5f54f533173324d5.zip
riscv: change up how we do args
- before we were storing each arg in it's own function arg register. with this commit now we store the args in the fa register before calling as per the RISC-V calling convention, however as soon as we enter the callee, aka in airArg, we spill the argument to the stack. this allows us to spend less effort worrying about whether we're going to clobber the function arguments when another function is called inside of the callee. - we were actually clobbering the fa regs inside of resolveCallingConvetion, because of the null argument to allocReg. now each lock is stored in an array which is then iterated over and unlocked, which actually aids in the first point of this commit.
Diffstat (limited to 'src/codegen')
0 files changed, 0 insertions, 0 deletions