SB storage base (in compiler IR2)
SC storage class (in compiler IR2)
TN temporary name (?) (in compiler IR2)
- VAR variable
+ VAR variable (in the lisp entity "noun" sense, not in the
+ adjectival sense)
XEP external entry point
Making them even more consistent (within the limits of ANSI and
MOP compatibility) would probably be good.
"PRIMITIVE-OBJECT-LOWTAG" "PRIMITIVE-OBJECT-NAME"
"PRIMITIVE-OBJECT-OPTIONS" "PRIMITIVE-OBJECT-P"
"PRIMITIVE-OBJECT-SIZE" "PRIMITIVE-OBJECT-SLOTS"
- "PRIMITIVE-OBJECT-VARIABLE-LENGTH" "PRINT-ALLOCATED-OBJECTS"
+ "PRIMITIVE-OBJECT-VARIABLE-LENGTH-P" "PRINT-ALLOCATED-OBJECTS"
"RANDOM-IMMEDIATE-SC-NUMBER" "RATIO-DENOMINATOR-SLOT"
"RATIO-NUMERATOR-SLOT" "RATIO-SIZE" "RATIO-WIDETAG"
"*READ-ONLY-SPACE-FREE-POINTER*"
(let ((widetag (primitive-object-widetag obj))
(lowtag (primitive-object-lowtag obj))
(name (primitive-object-name obj))
- (variable (primitive-object-var-length obj))
+ (variable (primitive-object-variable-length-p obj))
(size (primitive-object-size obj)))
(cond
((not lowtag))
;; This attribute indicates that this ``instruction'' can be
;; variable length, and therefore had better never be used in a
;; branch delay slot.
- var-length)
+ variable-length)
(defstruct (instruction
(:include sset-element)
(when countdown
(decf countdown)
(aver (not (instruction-attributep (inst-attributes inst)
- var-length))))
+ variable-length))))
(cond ((instruction-attributep (inst-attributes inst) branch)
(unless countdown
(setf countdown (inst-delay inst)))
(let ((inst (car remaining)))
(unless (and delay-slot-p
(instruction-attributep (inst-attributes inst)
- var-length))
+ variable-length))
;; We've got us a live one here. Go for it.
#!+sb-show-assem (format *trace-output* "emitting ~S~%" inst)
;; Delete it from the list of insts.
(ir2-convert-setter node block name offset lowtag)))))
name)
-(defun %def-alloc (name words var-length header lowtag inits)
+(defun %def-alloc (name words variable-length-p header lowtag inits)
(let ((info (fun-info-or-lose name)))
(setf (fun-info-ir2-convert info)
- (if var-length
+ (if variable-length-p
(lambda (node block)
(ir2-convert-variable-allocation node block name words header
lowtag inits))
(options nil :type list)
(slots nil :type list)
(size 0 :type fixnum)
- (var-length nil :type (member t nil)))
+ (variable-length-p nil :type (member t nil)))
(defvar *primitive-objects* nil)
&rest slot-specs)
(collect ((slots) (exports) (constants) (forms) (inits))
(let ((offset (if widetag 1 0))
- (var-length nil))
+ (variable-length-p nil))
(dolist (spec slot-specs)
- (when var-length
+ (when variable-length-p
(error "No more slots can follow a :rest-p slot."))
(destructuring-bind
(slot-name &rest options
(when init
(inits (cons init offset)))
(when rest-p
- (setf var-length t))
+ (setf variable-length-p t))
(incf offset length)))
- (unless var-length
+ (unless variable-length-p
(let ((size (symbolicate name "-SIZE")))
(constants `(def!constant ,size ,offset))
(exports size)))
(when alloc-trans
- (forms `(def-alloc ,alloc-trans ,offset ,var-length ,widetag
+ (forms `(def-alloc ,alloc-trans ,offset ,variable-length-p ,widetag
,lowtag ',(inits))))
`(progn
(eval-when (:compile-toplevel :load-toplevel :execute)
:lowtag lowtag
:slots (slots)
:size offset
- :var-length var-length))
+ :variable-length-p variable-length-p))
,@(constants))
,@(forms)))))
\f
`(%def-reffer ',name ,offset ,lowtag))
(defmacro def-setter (name offset lowtag)
`(%def-setter ',name ,offset ,lowtag))
-(defmacro def-alloc (name words var-length header lowtag inits)
- `(%def-alloc ',name ,words ,var-length ,header ,lowtag ,inits))
+(defmacro def-alloc (name words variable-length-p header lowtag inits)
+ `(%def-alloc ',name ,words ,variable-length-p ,header ,lowtag ,inits))
;;; KLUDGE: The %DEF-FOO functions used to implement the macros here
;;; are defined later in another file, since they use structure slot
;;; setters defined later, and we can't have physical forward
;;;(def-assembler-params
;;; :scheduler-p t
;;; :max-locations 100)
+(eval-when (:compile-toplevel :load-toplevel :execute)
+ (setf sb!assem:*assem-scheduler-p* t)
+ (setf sb!assem:*assem-max-locations* 100))
\f
;;; Constants, types, conversion functions, some disassembler stuff.
(defun reg-tn-encoding (tn)
;;; for internal versions, especially for internal versions off the
;;; main CVS branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.7.6.16"
+"0.7.6.17"