1.0.32.12: Fix slot-value on specialized parameters in SVUC methods
[sbcl.git] / src / assembly / ppc / assem-rtns.lisp
index d59e074..b0b7057 100644 (file)
                           (:temp target-uwp any-reg nl2-offset))
   (declare (ignore start count))
 
-  (let ((error (generate-error-code nil invalid-unwind-error)))
+  (let ((error (generate-error-code nil 'invalid-unwind-error)))
     (inst cmpwi block 0)
     (inst beq error))
 
 
   loop
 
-  (let ((error (generate-error-code nil unseen-throw-tag-error target)))
+  (let ((error (generate-error-code nil 'unseen-throw-tag-error target)))
     (inst cmpwi catch 0)
     (inst beq error))
 
   exit
 
   (move target catch)
-  (inst ba (make-fixup 'unwind :assembly-routine)))
-
-
-
+  ;; reuse catch
+  (inst lr catch (make-fixup 'unwind :assembly-routine))
+  (inst mtlr catch)
+  (inst blr))