X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Fx86-assem.S;h=37fcafaf9faa648e959e2d98af0c442db66ad88b;hb=d25e3478acccec70402ff32554669a982be8e281;hp=8101da2b097e84ba44ec7eb3ff4786038016c84b;hpb=7244742c3a9478d13d813aaae8135973eb4b89aa;p=sbcl.git diff --git a/src/runtime/x86-assem.S b/src/runtime/x86-assem.S index 8101da2..37fcafa 100644 --- a/src/runtime/x86-assem.S +++ b/src/runtime/x86-assem.S @@ -272,10 +272,10 @@ Ldone: #endif /* Alloc new frame. */ - mov %esp,%ebx # The current sp marks start of new frame. - push %ebp # fp in save location S0 - sub $8,%esp # Ensure 3 slots are allocated, one above. - mov %ebx,%ebp # Switch to new frame. + push %ebp # Dummy for return address + push %ebp # fp in save location S1 + mov %esp,%ebp # The current sp marks start of new frame. + sub $4,%esp # Ensure 3 slots are allocated, two above. call *CLOSURE_FUN_OFFSET(%eax)