From f7fb2b8213c2d3e56d10c093f97b5013a8edece9 Mon Sep 17 00:00:00 2001 From: rtoy <rtoy> Date: Sun, 8 Aug 2004 18:23:34 +0000 Subject: [PATCH] Bootstrap file for ppc allocation macro. Don't understand why this is needed but it helps. --- bootfiles/19a/boot4.lisp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 bootfiles/19a/boot4.lisp diff --git a/bootfiles/19a/boot4.lisp b/bootfiles/19a/boot4.lisp new file mode 100644 index 000000000..bf2313bb8 --- /dev/null +++ b/bootfiles/19a/boot4.lisp @@ -0,0 +1,19 @@ +;; Allocation macro for PPC to abstract out all allocation. +#+ppc +(in-package "PPC") +(setf lisp::*enable-package-locked-errors* nil) +#+ppc +(defmacro allocation (result-tn size lowtag &key stack-p temp-tn) + (declare (ignore stack-p temp-tn)) + (let ((alloc-size (gensym))) + `(let ((,alloc-size ,size)) + (if (logbitp (1- lowtag-bits) ,lowtag) + (progn + (inst ori ,result-tn alloc-tn ,lowtag)) + (progn + (inst clrrwi ,result-tn alloc-tn lowtag-bits) + (inst ori ,result-tn ,result-tn ,lowtag))) + (if (numberp ,alloc-size) + (inst addi alloc-tn alloc-tn ,alloc-size) + (inst add alloc-tn alloc-tn ,alloc-size))))) + -- GitLab