From cb12827d32fd4f1651e216d5e8c5eca122afc6de Mon Sep 17 00:00:00 2001 From: wlott <wlott> Date: Tue, 10 Jul 1990 18:34:18 +0000 Subject: [PATCH] Added a copy-list to keep from modifying the source code in define-primitive-object. Replaced the silly (eval `(make-... stuff with a call to make-.... Moved float-format-digits into the code sources, 'cause it's needed at run-time. --- compiler/mips/parms.lisp | 29 +++++++++++++---------------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/compiler/mips/parms.lisp b/compiler/mips/parms.lisp index fa518bbaf..e7432123f 100644 --- a/compiler/mips/parms.lisp +++ b/compiler/mips/parms.lisp @@ -7,7 +7,7 @@ ;;; Scott Fahlman (FAHLMAN@CMUC). ;;; ********************************************************************** ;;; -;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/mips/parms.lisp,v 1.63 1990/07/07 13:10:58 ram Exp $ +;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/mips/parms.lisp,v 1.64 1990/07/10 18:34:18 wlott Exp $ ;;; ;;; This file contains some parameterizations of various VM ;;; attributes for the MIPS. This file is separate from other stuff so @@ -93,11 +93,6 @@ (defconstant double-float-digits (+ (byte-size double-float-significand-byte) word-bits 1)) -(defun float-format-digits (format) - (ecase format - ((short-float single-float) single-float-digits) - ((double-float long-float) double-float-digits))) - ;;;; Description of the target address space. @@ -264,19 +259,20 @@ &key header lowtag &allow-other-keys) &rest slots) + (setf options (copy-list options)) (remf options :header) (remf options :lowtag) (let ((prim-obj - (eval `(make-primitive-object - :name ',name - :header ,header - :lowtag ,lowtag - :options ',options - :slots (list ,@(mapcar #'(lambda (slot) - (if (atom slot) - `(make-slot ',slot) - `(apply #'make-slot ',slot))) - slots)))))) + (make-primitive-object :name name + :header header + :lowtag lowtag + :options options + :slots (mapcar #'(lambda (slot) + (if (atom slot) + (make-slot slot) + (apply #'make-slot + slot))) + slots)))) (collect ((forms) (exports)) (let ((offset (if (primitive-object-header prim-obj) 1 0)) (variable-length nil)) @@ -316,6 +312,7 @@ (export ',(exports)) ,@(forms))))) + (defvar *primitive-objects* nil) (defmacro define-for-each-primitive-object ((var) &body body) -- GitLab