aboutsummaryrefslogtreecommitdiff
path: root/elymas/lib
diff options
context:
space:
mode:
Diffstat (limited to 'elymas/lib')
-rw-r--r--elymas/lib/sys/so.ey6
1 files changed, 6 insertions, 0 deletions
diff --git a/elymas/lib/sys/so.ey b/elymas/lib/sys/so.ey
index c1284a1..3bf7018 100644
--- a/elymas/lib/sys/so.ey
+++ b/elymas/lib/sys/so.ey
@@ -180,9 +180,11 @@
{
0 nextIntegerRegister 6 min range { availableIntegerRegisters :pushqReg } each
+ /rbp :pushqReg
} /pushIntegerStorage deffst
{
+ /rbp :popqReg
0 nextIntegerRegister 6 min range reverse { availableIntegerRegisters :popqReg } each
} /popIntegerStorage deffst
@@ -372,6 +374,10 @@
/rbp /rsp :movqRegReg
+ args len INTREGISTERS gt {
+ args len INTREGISTERS sub 8 mul /rsp :addqImm8Reg
+ } rep
+
returnWrapper
/rbx :pushqReg