From cdac1211a811de51b6f553692ea62298e58498e9 Mon Sep 17 00:00:00 2001
From: wlott <wlott>
Date: Sun, 2 Dec 1990 12:51:29 +0000
Subject: [PATCH] When we grow SCs, make sure we make at least enough room for
 one more element and any padding necessary to align that element.

---
 compiler/pack.lisp | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/compiler/pack.lisp b/compiler/pack.lisp
index 9833fe7e1..faf5bcd76 100644
--- a/compiler/pack.lisp
+++ b/compiler/pack.lisp
@@ -187,7 +187,12 @@
   (declare (type sc sc))
   (let* ((sb (sc-sb sc))
 	 (size (finite-sb-current-size sb))
-	 (inc (max (sb-size sb) (sc-element-size sc) (- needed-size size)))
+	 (inc (max (sb-size sb)
+		   (+ (sc-element-size sc)
+		      (- (* (ceiling size (sc-alignment sc))
+			    (sc-alignment sc))
+			 size))
+		   (- needed-size size)))
 	 (new-size (+ size inc))
 	 (conflicts (finite-sb-conflicts sb))
 	 (block-size (if (zerop (length conflicts))
-- 
GitLab