From 8ab3918f89bc537bdbdf2d400535c97cacf2dbb8 Mon Sep 17 00:00:00 2001 From: Drahflow Date: Fri, 18 Oct 2013 14:28:30 +0200 Subject: Stack clean up after stack-based arguments --- elymas/lib/sys/so.ey | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'elymas/lib/sys') 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 -- cgit v1.2.3