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