X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fassembly%2Fx86%2Fassem-rtns.lisp;h=3596ae7e6136a4234e5a6d551cb221bf607731b8;hb=ffa9a31f62e3e2abab8ebcbb3bfdab9725feaf7f;hp=108acb4c08d3fec2cd6853d5b3059ccfecfd6835;hpb=dc038a23a34c53e44b6de20b3e391cc05470e4af;p=sbcl.git diff --git a/src/assembly/x86/assem-rtns.lisp b/src/assembly/x86/assem-rtns.lisp index 108acb4..3596ae7 100644 --- a/src/assembly/x86/assem-rtns.lisp +++ b/src/assembly/x86/assem-rtns.lisp @@ -126,7 +126,7 @@ (move ecx esi) (inst sub ecx esp-tn) - ;; Check for all the args fitting the the registers. + ;; Check for all the args fitting the registers. (inst cmp ecx (fixnumize 3)) (inst jmp :le REGISTER-ARGS) @@ -197,7 +197,7 @@ (declare (ignore start count)) - (load-symbol-value catch *current-catch-block*) + (load-tl-symbol-value catch *current-catch-block*) LOOP @@ -232,7 +232,7 @@ (inst or block block) ; check for NULL pointer (inst jmp :z error)) - (load-symbol-value uwp *current-unwind-protect-block*) + (load-tl-symbol-value uwp *current-unwind-protect-block*) ;; Does *CURRENT-UNWIND-PROTECT-BLOCK* match the value stored in ;; argument's CURRENT-UWP-SLOT? @@ -247,7 +247,9 @@ (move block uwp) ;; Set next unwind protect context. (loadw uwp uwp unwind-block-current-uwp-slot) - (store-symbol-value uwp *current-unwind-protect-block*) + ;; we're about to reload ebp anyway, so let's borrow it here as a + ;; temporary. Hope this works + (store-tl-symbol-value uwp *current-unwind-protect-block* ebp-tn) DO-EXIT