Skip to content
Snippets Groups Projects
Commit e3402cad authored by wlott's avatar wlott
Browse files

Added an :alignment keyword to define-storage-class for specifying the

alignment restrictions for the SC.
parent 66845d03
No related branches found
No related tags found
No related merge requests found
......@@ -130,9 +130,9 @@
;;; Define-Storage-Class -- Public
;;;
;;;
(defmacro define-storage-class (name number sb-name &key (element-size '1)
locations save-p alternate-scs
constant-scs)
(defmacro define-storage-class (name number sb-name &key (element-size '1)
(alignment '1) locations save-p
alternate-scs constant-scs)
"Define-Storage-Class Name Number Storage-Base {Key Value}*
Define a storage class Name that uses the named Storage-Base. Number is a
small, non-negative integer that is used as an alias. The following
......@@ -142,6 +142,10 @@
The size of objects in this SC in whatever units the SB uses. This
defaults to 1.
:Alignment Size
The alignment restrictions for this SC. TNs will only be allocated at
offsets that are an even multiple of this number. Defaults to 1.
:Locations (Location*)
If the SB is :Finite, then this is a list of the offsets within the SB
that are in this SC.
......@@ -198,6 +202,7 @@
(let ((res (make-sc :name ',name :number ',number
:sb (meta-sb-or-lose ',sb-name)
:element-size ,element-size
:alignment ,alignment
:locations ',locations
:save-p ',save-p
:number-stack-p ,nstack-p
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment