(in-package "SB!C")
\f
;;; If non-NIL, emit assembly code. If NIL, emit VOP templates.
-(defvar *do-assembly* nil)
+(defvar *emit-assembly-code-not-vops-p* nil)
;;; a list of (NAME . LABEL) for every entry point
(defvar *entry-points* nil)
(output-file (make-pathname :defaults name
:type "assem")))
;; FIXME: Consider nuking the filename defaulting logic here.
- (let* ((*do-assembly* t)
+ (let* ((*emit-assembly-code-not-vops-p* t)
(name (pathname name))
;; the fasl file currently being output to
(lap-fasl-output (open-fasl-output (pathname output-file) name))
(*code-segment* nil)
(*elsewhere* nil)
(*assembly-optimize* nil)
- (*fixups* nil))
+ (*fixup-notes* nil))
(unwind-protect
(let ((*features* (cons :sb-assembling *features*)))
(init-assembler)
(let ((length (sb!assem:finalize-segment *code-segment*)))
(dump-assembler-routines *code-segment*
length
- *fixups*
+ *fixup-notes*
*entry-points*
lap-fasl-output))
(setq won t))
`(:target ,(reg-spec-temp reg)))))
(defun emit-vop (name options vars)
- (let* ((args (remove :arg vars :key #'reg-spec-kind :test-not #'eq))
- (temps (remove :temp vars :key #'reg-spec-kind :test-not #'eq))
- (results (remove :res vars :key #'reg-spec-kind :test-not #'eq))
+ (let* ((args (remove :arg vars :key #'reg-spec-kind :test #'neq))
+ (temps (remove :temp vars :key #'reg-spec-kind :test #'neq))
+ (results (remove :res vars :key #'reg-spec-kind :test #'neq))
(return-style (or (cadr (assoc :return-style options)) :raw))
(cost (or (cadr (assoc :cost options)) 247))
(vop (make-symbol "VOP")))
,@(apply #'append
(mapcar #'cdr
(remove :ignore call-temps
- :test-not #'eq :key #'car))))
+ :test #'neq :key #'car))))
,@(remove-if (lambda (x)
(member x '(:return-style :cost)))
options
(values (car name&options)
(cdr name&options)))
(let ((regs (mapcar (lambda (var) (apply #'parse-reg-spec var)) vars)))
- (if *do-assembly*
+ (if *emit-assembly-code-not-vops-p*
(emit-assemble name options regs code)
(emit-vop name options regs)))))