X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fvop.lisp;h=ae18a61183fca96fff76fe8afd8872c3924384b6;hb=69e6aef5e6fb3bd682c7a2cbf774034d2ea58ee8;hp=5e3504a7a02400b4e46a9c4e7099ecdc7d921407;hpb=092fae0666f1472c919b8ecf1a011d3869c0c6a5;p=sbcl.git diff --git a/src/compiler/vop.lisp b/src/compiler/vop.lisp index 5e3504a..ae18a61 100644 --- a/src/compiler/vop.lisp +++ b/src/compiler/vop.lisp @@ -752,6 +752,12 @@ ;;; A FINITE-SB holds information needed by the packing algorithm for ;;; finite SBs. (def!struct (finite-sb (:include sb)) + ;; the minimum number of location by which to grow this SB + ;; if it is :unbounded + (size-increment 1 :type index) + ;; current-size must always be a multiple of this. It is assumed + ;; to be a power of two. + (size-alignment 1 :type index) ;; the number of locations currently allocated in this SB (current-size 0 :type index) ;; the last location packed in, used by pack to scatter TNs to @@ -842,6 +848,7 @@ ;; true if this SC or one of its alternates in in the NUMBER-STACK SB. (number-stack-p nil :type boolean) ;; alignment restriction. The offset must be an even multiple of this. + ;; this must be a power of two. (alignment 1 :type (and index (integer 1))) ;; a list of locations that we avoid packing in during normal ;; register allocation to ensure that these locations will be free