X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fpack.lisp;fp=src%2Fcompiler%2Fpack.lisp;h=eeb865110e99eb70db773b398e59f5034c0b8c1d;hb=44fa19275c08a17b9d80d95102c1a8bc0da7a17e;hp=cdc23187ba4644d7882741b404082706859acfb3;hpb=df2d632ead05d542d3cdd2d8d162060ee586c151;p=sbcl.git diff --git a/src/compiler/pack.lisp b/src/compiler/pack.lisp index cdc2318..eeb8651 100644 --- a/src/compiler/pack.lisp +++ b/src/compiler/pack.lisp @@ -215,12 +215,13 @@ (let* ((sb (sc-sb sc)) (size (finite-sb-current-size sb)) (align-mask (1- (sc-alignment sc))) - (inc (max (sb-size sb) + (inc (max (finite-sb-size-increment sb) (+ (sc-element-size sc) (- (logandc2 (+ size align-mask) align-mask) size)) (- needed-size size))) - (new-size (+ size inc)) + (new-size (let ((align-mask (1- (finite-sb-size-alignment sb)))) + (logandc2 (+ size inc align-mask) align-mask))) (conflicts (finite-sb-conflicts sb)) (block-size (if (zerop (length conflicts)) (ir2-block-count *component-being-compiled*)