CMUCL commit: intl-branch src (14 files)
Raymond Toy
rtoy at common-lisp.net
Thu Mar 18 23:17:22 CET 2010
Date: Thursday, March 18, 2010 @ 18:17:21
Author: rtoy
Path: /project/cmucl/cvsroot/src
Tag: intl-branch
Modified: code/eval.lisp code/extfmts.lisp code/macros.lisp
compiler/main.lisp compiler/proclaim.lisp compiler/x86/insts.lisp
general-info/release-20b.txt i18n/locale/cmucl-x86-vm.pot
i18n/locale/cmucl.pot
i18n/locale/en at piglatin/LC_MESSAGES/cmucl-x86-vm.po
i18n/locale/en at piglatin/LC_MESSAGES/cmucl.po
i18n/locale/ko/LC_MESSAGES/cmucl-x86-vm.po
i18n/locale/ko/LC_MESSAGES/cmucl.po pcl/boot.lisp
Merge changes from HEAD, update po files.
-----------------------------------------------------+
code/eval.lisp | 5
code/extfmts.lisp | 17 +
code/macros.lisp | 4
compiler/main.lisp | 35 +++-
compiler/proclaim.lisp | 29 ++-
compiler/x86/insts.lisp | 123 ++++++++++----
general-info/release-20b.txt | 25 ++
i18n/locale/cmucl-x86-vm.pot | 134 +++++++++++----
i18n/locale/cmucl.pot | 22 +-
i18n/locale/en at piglatin/LC_MESSAGES/cmucl-x86-vm.po | 156 +++++++++++++-----
i18n/locale/en at piglatin/LC_MESSAGES/cmucl.po | 32 +--
i18n/locale/ko/LC_MESSAGES/cmucl-x86-vm.po | 134 +++++++++++----
i18n/locale/ko/LC_MESSAGES/cmucl.po | 22 +-
pcl/boot.lisp | 5
14 files changed, 524 insertions(+), 219 deletions(-)
Index: src/code/eval.lisp
diff -u src/code/eval.lisp:1.45.12.2 src/code/eval.lisp:1.45.12.3
--- src/code/eval.lisp:1.45.12.2 Tue Feb 9 10:18:21 2010
+++ src/code/eval.lisp Thu Mar 18 18:17:15 2010
@@ -5,7 +5,7 @@
;;; Carnegie Mellon University, and has been placed in the public domain.
;;;
(ext:file-comment
- "$Header: /project/cmucl/cvsroot/src/code/eval.lisp,v 1.45.12.2 2010-02-09 15:18:21 rtoy Exp $")
+ "$Header: /project/cmucl/cvsroot/src/code/eval.lisp,v 1.45.12.3 2010-03-18 22:17:15 rtoy Exp $")
;;;
;;; **********************************************************************
;;;
@@ -302,7 +302,8 @@
(info (kernel:%code-debug-info code)))
(if info
(let ((source (first (c::compiled-debug-info-source info))))
- (cond ((and (eq (c::debug-source-from source) :lisp)
+ (cond ((and source
+ (eq (c::debug-source-from source) :lisp)
(eq (c::debug-source-info source) fun))
(values (second (svref (c::debug-source-name source) 0))
nil name))
Index: src/code/extfmts.lisp
diff -u src/code/extfmts.lisp:1.20.4.2 src/code/extfmts.lisp:1.20.4.3
--- src/code/extfmts.lisp:1.20.4.2 Tue Feb 9 10:18:21 2010
+++ src/code/extfmts.lisp Thu Mar 18 18:17:15 2010
@@ -5,7 +5,7 @@
;;; domain.
;;;
(ext:file-comment
- "$Header: /project/cmucl/cvsroot/src/code/extfmts.lisp,v 1.20.4.2 2010-02-09 15:18:21 rtoy Exp $")
+ "$Header: /project/cmucl/cvsroot/src/code/extfmts.lisp,v 1.20.4.3 2010-03-18 22:17:15 rtoy Exp $")
;;;
;;; **********************************************************************
;;;
@@ -362,12 +362,15 @@
(or (gethash name *external-formats*)
(and (consp name) (find-external-format name))
- (and (let ((*package* (find-package "STREAM"))
- (lisp::*enable-package-locked-errors* nil)
- (s (open (format nil "ext-formats:~(~A~).lisp" name)
- :if-does-not-exist nil :external-format :iso8859-1)))
- (when s
- (null (nth-value 1 (ext:compile-from-stream s)))))
+ (and (with-standard-io-syntax
+ ;; Use standard IO syntax so that changes by the user
+ ;; don't mess up compiling the external format.
+ (let ((*package* (find-package "STREAM"))
+ (lisp::*enable-package-locked-errors* nil)
+ (s (open (format nil "ext-formats:~(~A~).lisp" name)
+ :if-does-not-exist nil :external-format :iso8859-1)))
+ (when s
+ (null (nth-value 1 (ext:compile-from-stream s))))))
(gethash name *external-formats*))))
(defun %composed-ef-name (a b)
Index: src/code/macros.lisp
diff -u src/code/macros.lisp:1.113.10.7 src/code/macros.lisp:1.113.10.8
--- src/code/macros.lisp:1.113.10.7 Mon Mar 1 19:39:16 2010
+++ src/code/macros.lisp Thu Mar 18 18:17:15 2010
@@ -5,7 +5,7 @@
;;; Carnegie Mellon University, and has been placed in the public domain.
;;;
(ext:file-comment
- "$Header: /project/cmucl/cvsroot/src/code/macros.lisp,v 1.113.10.7 2010-03-02 00:39:16 rtoy Exp $")
+ "$Header: /project/cmucl/cvsroot/src/code/macros.lisp,v 1.113.10.8 2010-03-18 22:17:15 rtoy Exp $")
;;;
;;; **********************************************************************
;;;
@@ -359,12 +359,12 @@
;;; Similar to %Defmacro, ...
;;;
(defun c::%%defun (name def doc &optional inline-expansion)
+ (c::define-function-name name)
(setf (fdefinition name) def)
(when doc
(if (and (consp name) (eq (first name) 'setf))
(setf (documentation (second name) 'setf) doc)
(setf (documentation name 'function) doc)))
- (c::define-function-name name)
(when (eq (info function where-from name) :assumed)
(setf (info function where-from name) :defined)
(when (info function assumed-type name)
Index: src/compiler/main.lisp
diff -u src/compiler/main.lisp:1.148.2.7 src/compiler/main.lisp:1.148.2.8
--- src/compiler/main.lisp:1.148.2.7 Thu Feb 25 22:38:17 2010
+++ src/compiler/main.lisp Thu Mar 18 18:17:16 2010
@@ -5,7 +5,7 @@
;;; Carnegie Mellon University, and has been placed in the public domain.
;;;
(ext:file-comment
- "$Header: /project/cmucl/cvsroot/src/compiler/main.lisp,v 1.148.2.7 2010-02-26 03:38:17 rtoy Exp $")
+ "$Header: /project/cmucl/cvsroot/src/compiler/main.lisp,v 1.148.2.8 2010-03-18 22:17:16 rtoy Exp $")
;;;
;;; **********************************************************************
;;;
@@ -1922,6 +1922,7 @@
(defun compile-fix-function-name (lambda name)
(declare (type clambda lambda) (type (or symbol cons) name))
(when name
+ (note-if-accessor name)
(let ((fun (ref-leaf
(continuation-next
(node-cont (lambda-bind lambda))))))
@@ -1933,11 +1934,14 @@
;;; COMPILE -- Public
;;;
-(defun compile (name &optional (definition (fdefinition name)))
- _N"Compiles the function whose name is NAME. If DEFINITION is supplied,
- it should be a lambda expression that is compiled and then placed in the
- function cell of NAME. If NAME is Nil, the compiled code object is
- returned."
+(defun compile (name &optional (definition (or (macro-function name)
+ (fdefinition name))))
+ _N"Compiles the function (or macro-function) whose name is NAME. If
+ DEFINITION is supplied, it should be a lambda expression that is
+ compiled. IF NAME names a macro, then the compiled expression
+ replaces the existing macro-function. If NAME names a function, the
+ compiled expression is placed in the function cell of NAME. If NAME
+ is Nil, the compiled code object is returned."
(with-compilation-unit ()
(with-ir1-namespace
(let* ((*backend* *native-backend*)
@@ -1955,10 +1959,20 @@
;; If the definition is already a compiled function,
;; compile either produces that function itself (i.e.,
;; is an identity operation) or an equivalent function.
+ ;;
+ ;; But if the function lambda expression is available,
+ ;; and if the expression is defined in a null lexical
+ ;; environment, recompile from sources. (This was the
+ ;; old behavior, which is quite useful.)
(form (etypecase definition
((or cons eval:interpreted-function)
`#',(get-lambda-to-compile definition))
- (function `',definition)))
+ (function
+ (multiple-value-bind (exp lexenv)
+ (function-lambda-expression definition)
+ (if (and exp (not lexenv))
+ `#',exp
+ `',definition)))))
(*source-info* (make-lisp-source-info form))
(*top-level-lambdas* ())
(*converting-for-interpreter* nil)
@@ -1987,6 +2001,8 @@
(find-source-paths form 0)
(let ((lambda (ir1-top-level form '(original-source-start 0 0) t)))
+ ;; XXX: If NAME is a macro function, do we need to do
+ ;; call COMPILE-FIX-FUNCTION-NAME?
(compile-fix-function-name lambda name)
(let* ((component
(block-component (node-block (lambda-bind lambda))))
@@ -2003,7 +2019,10 @@
(return (or name res)))
(fix-core-source-info *source-info* *compile-object* res)
(when name
- (setf (fdefinition name) res))
+ (if (and (symbolp name)
+ (macro-function name))
+ (setf (macro-function name) res)
+ (setf (fdefinition name) res)))
(cond ((or (> *compiler-error-count* start-errors)
(> *compiler-warning-count* start-warnings))
Index: src/compiler/proclaim.lisp
diff -u src/compiler/proclaim.lisp:1.44.24.5 src/compiler/proclaim.lisp:1.44.24.6
--- src/compiler/proclaim.lisp:1.44.24.5 Thu Feb 25 22:38:17 2010
+++ src/compiler/proclaim.lisp Thu Mar 18 18:17:16 2010
@@ -5,7 +5,7 @@
;;; Carnegie Mellon University, and has been placed in the public domain.
;;;
(ext:file-comment
- "$Header: /project/cmucl/cvsroot/src/compiler/proclaim.lisp,v 1.44.24.5 2010-02-26 03:38:17 rtoy Exp $")
+ "$Header: /project/cmucl/cvsroot/src/compiler/proclaim.lisp,v 1.44.24.6 2010-03-18 22:17:16 rtoy Exp $")
;;;
;;; **********************************************************************
;;;
@@ -225,28 +225,35 @@
name)))
(undefined-value))
+;;; Note-If-Accessor -- Interface
+;;;
+;;; Check if Name is also the name of a slot accessor for some
+;;; structure. If it is, we signal an continuable error. If we
+;;; continue, assume the user knows what he's doing and redefine the
+;;; function.
+(defun note-if-accessor (name)
+ (let ((for (info function accessor-for name)))
+ (when for
+ (cerror "Assume redefinition is compatible and allow it"
+ "Redefining slot accessor ~S for structure type ~S"
+ name (%class-name for))
+ ;;(undefine-structure for)
+ (setf (info function kind name) :function))))
;;; Define-Function-Name -- Interface
;;;
;;; Check the legality of a function name that is being introduced.
;;; -- If it names a macro, then give a warning and blast the macro
;;; information.
-;;; -- If it is a structure slot accessor, give a warning and blast the
-;;; structure.
+;;; -- If it is a structure slot accessor, give a continuable error
+;;; and allow redefinition if continued.
;;; -- Check for conflicting setf macros.
;;;
(defun define-function-name (name)
(check-function-name name)
(ecase (info function kind name)
(:function
- (let ((for (info function accessor-for name)))
- (when for
- (compiler-warning
- _N"Undefining structure type:~% ~S~@
- so that this slot accessor can be redefined:~% ~S"
- (%class-name for) name)
- (undefine-structure for)
- (setf (info function kind name) :function))))
+ (note-if-accessor name))
(:macro
(compiler-warning _N"~S previously defined as a macro." name)
(setf (info function kind name) :function)
Index: src/compiler/x86/insts.lisp
diff -u src/compiler/x86/insts.lisp:1.33.14.2 src/compiler/x86/insts.lisp:1.33.14.3
--- src/compiler/x86/insts.lisp:1.33.14.2 Fri Feb 26 10:44:30 2010
+++ src/compiler/x86/insts.lisp Thu Mar 18 18:17:17 2010
@@ -7,7 +7,7 @@
;;; Scott Fahlman or slisp-group at cs.cmu.edu.
;;;
(ext:file-comment
- "$Header: /project/cmucl/cvsroot/src/compiler/x86/insts.lisp,v 1.33.14.2 2010-02-26 15:44:30 rtoy Exp $")
+ "$Header: /project/cmucl/cvsroot/src/compiler/x86/insts.lisp,v 1.33.14.3 2010-03-18 22:17:17 rtoy Exp $")
;;;
;;; **********************************************************************
;;;
@@ -3200,22 +3200,99 @@
(emit-sse-inst segment src dst ,prefix ,(1+ (ash op 1))
:operand-size :do-not-set)))))))
(define-movsd/ss-sse-inst movsd #xf2 #b0001000)
- (define-movsd/ss-sse-inst movss #xf3 #b0001000)
+ (define-movsd/ss-sse-inst movss #xf3 #b0001000))
+
+
+;; MOVHLPS and MOVLHPS are incorrectly disassembled as MOVLPS and
+;; MOVHPS (respectively). I (rtoy) don't know how to fix that;
+;; instead. just print a note with the correct instruction name.
+(defun movlps-control (chunk inst stream dstate)
+ (when stream
+ (when (>= (ldb (byte 8 16) chunk) #xc0)
+ (disassem:note "MOVHLPS" dstate))))
+
+(defun movhps-control (chunk inst stream dstate)
+ (when stream
+ (when (>= (ldb (byte 8 16) chunk) #xc0)
+ (disassem:note "MOVLHPS" dstate))))
+
+
+(macrolet ((define-mov-sse-inst (name prefix opcode-from opcode-to
+ &key force-to-mem reg-reg-name control)
+ `(progn
+ ,(when reg-reg-name
+ `(define-instruction ,reg-reg-name (segment dst src)
+ (:emitter
+ (assert (xmm-register-p dst))
+ (assert (xmm-register-p src))
+ (emit-regular-sse-inst segment dst src ,prefix ,opcode-from))))
+ (define-instruction ,name (segment dst src)
+ ,@(if prefix
+ `((:printer ext-xmm-xmm/mem
+ ((prefix ,prefix) (op ,opcode-from))
+ :default
+ :control ,control)
+ #+nil
+ (:printer ext-rex-xmm-xmm/mem
+ ((prefix ,prefix) (op ,opcode-from)))
+ (:printer ext-xmm-xmm/mem
+ ((prefix ,prefix) (op ,opcode-to))
+ '(:name :tab reg/mem ", " reg)
+ :control ,control)
+ #+nil
+ (:printer ext-rex-xmm-xmm/mem
+ ((prefix ,prefix) (op ,opcode-to))
+ '(:name :tab reg/mem ", " reg)))
+ `((:printer xmm-xmm/mem
+ ((op ,opcode-from))
+ :default
+ :control ,control)
+ #+nil
+ (:printer rex-xmm-xmm/mem
+ ((op ,opcode-from)))
+ (:printer xmm-xmm/mem
+ ((op ,opcode-to))
+ '(:name :tab reg/mem ", " reg)
+ :control ,control)
+ #+nil
+ (:printer rex-xmm-xmm/mem
+ ((op ,opcode-to))
+ '(:name :tab reg/mem ", " reg))))
+ (:emitter
+ (cond ((xmm-register-p dst)
+ ,(when force-to-mem
+ `(assert (not (or (register-p src)
+ (xmm-register-p src)))))
+ (emit-regular-sse-inst segment dst src ,prefix ,opcode-from))
+ (t
+ (assert (xmm-register-p src))
+ ,(when force-to-mem
+ `(assert (not (or (register-p dst)
+ (xmm-register-p dst)))))
+ (emit-regular-sse-inst segment src dst ,prefix ,opcode-to))))))))
+ ;; direction bit?
+
+ ;; This is useful for moving between xmm registers. We don't have
+ ;; aligned 128-bit objects.
+ (define-mov-sse-inst movapd #x66 #x28 #x29)
+ (define-mov-sse-inst movaps nil #x28 #x29)
+ (define-mov-sse-inst movdqa #x66 #x6f #x7f)
+ (define-mov-sse-inst movdqu #xf3 #x6f #x7f)
+
+ ;; Load/store high part of packed single/double. Low part untouched.
+ (define-mov-sse-inst movhpd #x66 #x16 #x17 :force-to-mem t)
+ (define-mov-sse-inst movlpd #x66 #x12 #x13 :force-to-mem t)
+ ;; Note: movhps and movlhps have exactly the same encoding. The
+ ;; only difference is that movhps moves between registers and memory
+ ;; and movlhps moves between registers. Same for movlps and movhlps.
+ (define-mov-sse-inst movhps nil #x16 #x17 :reg-reg-name movlhps :control #'movhps-control)
+ (define-mov-sse-inst movlps nil #x12 #x13 :reg-reg-name movhlps :control #'movlps-control)
+
;; We don't enforce it, but movupd should be used for moving to/from
;; memory because we 128-bit objects aren't aligned on 128-bit
;; boundaries.
- (define-movsd/ss-sse-inst movupd #x66 #b0001000)
- (define-movsd/ss-sse-inst movups nil #b0001000)
- ;; This is useful for moving between xmm registers. We don't have
- ;; aligned 128-bit objects.
- (define-movsd/ss-sse-inst movapd #x66 #b0010100)
- (define-movsd/ss-sse-inst movaps nil #b0010100)
- ;; Load/store high part of packed double. Low part untouched.
- (define-movsd/ss-sse-inst movhpd #x66 #b0001011)
- ;; Load/store low part of packed double. High part untouched.
- (define-movsd/ss-sse-inst movlpd #x66 #b0001001)
- (define-movsd/ss-sse-inst movlps nil #b0001001)
- )
+ (define-mov-sse-inst movupd #x66 #x10 #x11)
+ (define-mov-sse-inst movups nil #x10 #x11))
;;; MOVQ
(define-instruction movq (segment dst src)
@@ -3238,24 +3315,6 @@
(emit-sse-inst segment dst src #xf2 #x12
:operand-size :do-not-set)))
-;;; MOVHLPS
-;;;
-;;; dst[63:0] = src[127:64]
-;;; dst[127:64] unchanged.
-(define-instruction movhlps (segment dst src)
- (:printer xmm-xmm/mem ((op #x12)))
- (:emitter
- (assert (xmm-register-p src))
- (emit-sse-inst segment dst src nil #x12
- :operand-size :do-not-set)))
-
-(define-instruction movlhps (segment dst src)
- (:printer xmm-xmm/mem ((op #x16)))
- (:emitter
- (assert (xmm-register-p src))
- (emit-sse-inst segment dst src nil #x16
- :operand-size :do-not-set)))
-
;;; SHUFPD
;;;
;;; Shuffle packed double floats. Basically, the low part of dst is
Index: src/general-info/release-20b.txt
diff -u src/general-info/release-20b.txt:1.9.2.1 src/general-info/release-20b.txt:1.9.2.2
--- src/general-info/release-20b.txt:1.9.2.1 Mon Feb 15 10:18:17 2010
+++ src/general-info/release-20b.txt Thu Mar 18 18:17:17 2010
@@ -42,6 +42,8 @@
* ANSI compliance fixes:
+ - COMPILE will update the macro-function if the specified names a
+ macro. (Previously, the fdefinition of the name was set.)
* Bugfixes:
- On Unicode builds, printing of '|\|| and '|`| was incorrect
@@ -78,8 +80,26 @@
- GET-MACRO-CHARACTER would return the wrong second value because
*READTABLE* was always being used instead of the specified
readtable.
- - Compiling a file containing "(compile nil (lambda ...))" caused
- an error when loading the file. This is fixed.
+ - COMPILE-FILE was generating an error when compiling COMPILE
+ forms. This is fixed.
+ - A critical bug in SSE2 support has been fixed. Multiplying a
+ complex single-float by a single-float produced the wrong
+ result.
+ - Fix issue where CMUCL does not correctly handle FLETs in
+ DEFMETHOD bodies which use the same name as that of the generic
+ function. The generic function was called instead of the local
+ function.
+ - CMUCL would fail to compile external formats if *readtable* was
+ not the standard readtable. This is fixed by using the standard
+ I/O syntax when compiling the external format.
+ - The debugger help message is updated to reflect the actual
+ options for L and PP commands. Help for the DESCRIBE command
+ has been added.
+ - CMUCL now signals a cerror when attempting to redefine a slot
+ accessor via DEFUN or COMPILE. If continued, the accessor is
+ redefined, and CMUCL assumes the new definition is usable as a
+ slot accessor. Previously, CMUCL would print a warning and
+ undefine the structure.
* Trac Tickets:
#33: get-dispatch-macro-character doesn't signal errors in
@@ -104,7 +124,6 @@
is abslute or relative. Previously, the result was take from
the SOURCE pathname, except if TO were absolute, in which case
the result was absolute.
-
* Improvements to the PCL implementation of CLOS:
* Changes to building procedure:
Index: src/i18n/locale/cmucl-x86-vm.pot
diff -u src/i18n/locale/cmucl-x86-vm.pot:1.1.2.1 src/i18n/locale/cmucl-x86-vm.pot:1.1.2.2
--- src/i18n/locale/cmucl-x86-vm.pot:1.1.2.1 Fri Feb 26 10:38:18 2010
+++ src/i18n/locale/cmucl-x86-vm.pot Thu Mar 18 18:17:17 2010
@@ -139,7 +139,7 @@
#: target:compiler/x86/alloc.lisp target:compiler/x86/cell.lisp
#: target:compiler/x86/debug.lisp target:compiler/x86/arith.lisp
#: target:compiler/x86/memory.lisp target:compiler/x86/char.lisp
-#: target:compiler/x86/float-sse2.lisp target:compiler/x86/move.lisp
+#: target:compiler/x86/float.lisp target:compiler/x86/move.lisp
msgid "Unknown SC to SC-Case for ~S:~% ~S"
msgstr ""
@@ -152,7 +152,7 @@
msgstr ""
#: target:compiler/x86/call.lisp target:compiler/x86/debug.lisp
-#: target:compiler/x86/char.lisp target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/char.lisp target:compiler/x86/float.lisp
#: target:compiler/x86/move.lisp
msgid ""
"Load TN allocated, but no move function?~@\n"
@@ -183,122 +183,182 @@
msgid "word integer argument move"
msgstr ""
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "Ignoring bogus i387 Constant ~a"
msgstr ""
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "float move"
msgstr ""
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
+msgid "complex float move"
+msgstr ""
+
+#: target:compiler/x86/float.lisp
msgid "float to pointer coercion"
msgstr ""
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "pointer to float coercion"
msgstr ""
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "complex float to pointer coercion"
msgstr ""
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "complex double-double float to pointer coercion"
msgstr ""
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "pointer to complex float coercion"
msgstr ""
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "float argument move"
msgstr ""
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "complex float argument move"
msgstr ""
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "complex double-double-float argument move"
msgstr ""
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "inline float arithmetic"
msgstr ""
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "inline float comparison"
msgstr ""
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "inline float coercion"
msgstr ""
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "inline float truncate"
msgstr ""
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
+msgid "inline NPX function"
+msgstr ""
+
+#: target:compiler/x86/float.lisp
+msgid "inline tan function"
+msgstr ""
+
+#: target:compiler/x86/float.lisp
+msgid "inline sin/cos function"
+msgstr ""
+
+#: target:compiler/x86/float.lisp
+msgid "inline exp function"
+msgstr ""
+
+#: target:compiler/x86/float.lisp
+msgid "inline expm1 function"
+msgstr ""
+
+#: target:compiler/x86/float.lisp
+msgid "inline log function"
+msgstr ""
+
+#: target:compiler/x86/float.lisp
+msgid "inline log10 function"
+msgstr ""
+
+#: target:compiler/x86/float.lisp
+msgid "inline pow function"
+msgstr ""
+
+#: target:compiler/x86/float.lisp
+msgid "inline scalbn function"
+msgstr ""
+
+#: target:compiler/x86/float.lisp
+msgid "inline scalb function"
+msgstr ""
+
+#: target:compiler/x86/float.lisp
+msgid "inline log1p function"
+msgstr ""
+
+#: target:compiler/x86/float.lisp
+msgid "inline log1p with limited x range function"
+msgstr ""
+
+#: target:compiler/x86/float.lisp
+msgid "inline logb function"
+msgstr ""
+
+#: target:compiler/x86/float.lisp
+msgid "inline atan function"
+msgstr ""
+
+#: target:compiler/x86/float.lisp
+msgid "inline atan2 function"
+msgstr ""
+
+#: target:compiler/x86/float.lisp
msgid "inline complex single-float creation"
msgstr ""
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "inline complex double-float creation"
msgstr ""
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
+msgid "inline complex long-float creation"
+msgstr ""
+
+#: target:compiler/x86/float.lisp
msgid "complex float realpart"
msgstr ""
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "complex float imagpart"
msgstr ""
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "inline dummy FP register bias"
msgstr ""
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "double-double float move"
msgstr ""
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "double double float to pointer coercion"
msgstr ""
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "pointer to double-double-float coercion"
msgstr ""
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "double double-float argument move"
msgstr ""
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "inline double-double-float creation"
msgstr ""
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "double-double high part"
msgstr ""
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "double-double low part"
msgstr ""
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "inline complex double-double-float creation"
msgstr ""
-#: target:compiler/x86/float-sse2.lisp
-msgid "inline complex float arithmetic"
-msgstr ""
-
-#: target:compiler/x86/float-sse2.lisp
-msgid "inline complex float/float arithmetic"
-msgstr ""
-
#: target:compiler/x86/char.lisp
msgid "character untagging"
msgstr ""
Index: src/i18n/locale/cmucl.pot
diff -u src/i18n/locale/cmucl.pot:1.1.2.36 src/i18n/locale/cmucl.pot:1.1.2.37
--- src/i18n/locale/cmucl.pot:1.1.2.36 Tue Mar 9 15:18:32 2010
+++ src/i18n/locale/cmucl.pot Thu Mar 18 18:17:17 2010
@@ -4953,12 +4953,6 @@
msgstr ""
#: target:compiler/proclaim.lisp
-msgid ""
-"Undefining structure type:~% ~S~@\n"
-" so that this slot accessor can be redefined:~% ~S"
-msgstr ""
-
-#: target:compiler/proclaim.lisp
msgid "~S previously defined as a macro."
msgstr ""
@@ -15721,11 +15715,11 @@
#: target:assembly/x86/arith.lisp target:assembly/x86/array.lisp
#: target:assembly/x86/assem-rtns.lisp target:compiler/x86/type-vops.lisp
-#: target:compiler/x86/pred.lisp target:compiler/x86/sse2-array.lisp
+#: target:compiler/x86/pred.lisp target:compiler/x86/x87-array.lisp
#: target:compiler/x86/print.lisp target:compiler/x86/nlx.lisp
-#: target:compiler/x86/values.lisp target:compiler/x86/sse2-c-call.lisp
+#: target:compiler/x86/values.lisp target:compiler/x86/x87-c-call.lisp
#: target:compiler/x86/subprim.lisp target:compiler/x86/static-fn.lisp
-#: target:compiler/x86/system.lisp target:compiler/x86/sse2-sap.lisp
+#: target:compiler/x86/system.lisp target:compiler/x86/x87-sap.lisp
#: target:compiler/x86/sap.lisp target:compiler/meta-vmdef.lisp
msgid "Unknown SC to SC-Case for ~S:~% ~S"
msgstr ""
@@ -17068,10 +17062,12 @@
#: target:compiler/main.lisp
msgid ""
-"Compiles the function whose name is NAME. If DEFINITION is supplied,\n"
-" it should be a lambda expression that is compiled and then placed in the\n"
-" function cell of NAME. If NAME is Nil, the compiled code object is\n"
-" returned."
+"Compiles the function (or macro-function) whose name is NAME. If\n"
+" DEFINITION is supplied, it should be a lambda expression that is\n"
+" compiled. IF NAME names a macro, then the compiled expression\n"
+" replaces the existing macro-function. If NAME names a function, the\n"
+" compiled expression is placed in the function cell of NAME. If NAME\n"
+" is Nil, the compiled code object is returned."
msgstr ""
#: target:compiler/main.lisp
Index: src/i18n/locale/en at piglatin/LC_MESSAGES/cmucl-x86-vm.po
diff -u src/i18n/locale/en at piglatin/LC_MESSAGES/cmucl-x86-vm.po:1.1.2.3 src/i18n/locale/en at piglatin/LC_MESSAGES/cmucl-x86-vm.po:1.1.2.4
--- src/i18n/locale/en at piglatin/LC_MESSAGES/cmucl-x86-vm.po:1.1.2.3 Thu Mar 18 12:58:37 2010
+++ src/i18n/locale/en at piglatin/LC_MESSAGES/cmucl-x86-vm.po Thu Mar 18 18:17:18 2010
@@ -198,7 +198,7 @@
#: target:compiler/x86/alloc.lisp target:compiler/x86/cell.lisp
#: target:compiler/x86/debug.lisp target:compiler/x86/arith.lisp
#: target:compiler/x86/memory.lisp target:compiler/x86/char.lisp
-#: target:compiler/x86/float-sse2.lisp target:compiler/x86/move.lisp
+#: target:compiler/x86/float.lisp target:compiler/x86/move.lisp
msgid "Unknown SC to SC-Case for ~S:~% ~S"
msgstr "Unknownway SC otay SC-Asecay orfay ~S:~% ~S"
@@ -211,7 +211,7 @@
msgstr "onstantcay oadlay"
#: target:compiler/x86/call.lisp target:compiler/x86/debug.lisp
-#: target:compiler/x86/char.lisp target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/char.lisp target:compiler/x86/float.lisp
#: target:compiler/x86/move.lisp
msgid ""
"Load TN allocated, but no move function?~@\n"
@@ -245,122 +245,198 @@
msgid "word integer argument move"
msgstr "ordway integerway argumentway ovemay"
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "Ignoring bogus i387 Constant ~a"
msgstr "Ignoringway ogusbay i387 Onstantcay ~away"
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "float move"
msgstr "oatflay ovemay"
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
+#, fuzzy
+msgid "complex float move"
+msgstr "omplexcay oatflay argumentway ovemay"
+
+#: target:compiler/x86/float.lisp
msgid "float to pointer coercion"
msgstr "oatflay otay ointerpay oercioncay"
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "pointer to float coercion"
msgstr "ointerpay otay oatflay oercioncay"
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "complex float to pointer coercion"
msgstr "omplexcay oatflay otay ointerpay oercioncay"
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "complex double-double float to pointer coercion"
msgstr "omplexcay oubleday-oubleday oatflay otay ointerpay oercioncay"
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "pointer to complex float coercion"
msgstr "ointerpay otay omplexcay oatflay oercioncay"
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "float argument move"
msgstr "oatflay argumentway ovemay"
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "complex float argument move"
msgstr "omplexcay oatflay argumentway ovemay"
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "complex double-double-float argument move"
msgstr "omplexcay oubleday-oubleday-oatflay argumentway ovemay"
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "inline float arithmetic"
msgstr "inlineway oatflay arithmeticway"
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "inline float comparison"
msgstr "inlineway oatflay omparisoncay"
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "inline float coercion"
msgstr "inlineway oatflay oercioncay"
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "inline float truncate"
msgstr "inlineway oatflay uncatetray"
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
+#, fuzzy
+msgid "inline NPX function"
+msgstr "inlineway omparisoncay"
+
+#: target:compiler/x86/float.lisp
+#, fuzzy
+msgid "inline tan function"
+msgstr "inlineway oatflay oercioncay"
+
+#: target:compiler/x86/float.lisp
+#, fuzzy
+msgid "inline sin/cos function"
+msgstr "inlineway omparisoncay"
+
+#: target:compiler/x86/float.lisp
+#, fuzzy
+msgid "inline exp function"
+msgstr "inlineway omparisoncay"
+
+#: target:compiler/x86/float.lisp
+#, fuzzy
+msgid "inline expm1 function"
+msgstr "inlineway ixnumfay omparisoncay"
+
+#: target:compiler/x86/float.lisp
+#, fuzzy
+msgid "inline log function"
+msgstr "inlineway oatflay oercioncay"
+
+#: target:compiler/x86/float.lisp
+#, fuzzy
+msgid "inline log10 function"
+msgstr "inlineway oatflay oercioncay"
+
+#: target:compiler/x86/float.lisp
+#, fuzzy
+msgid "inline pow function"
+msgstr "inlineway oatflay oercioncay"
+
+#: target:compiler/x86/float.lisp
+#, fuzzy
+msgid "inline scalbn function"
+msgstr "inlineway omparisoncay"
+
+#: target:compiler/x86/float.lisp
+#, fuzzy
+msgid "inline scalb function"
+msgstr "inlineway omparisoncay"
+
+#: target:compiler/x86/float.lisp
+#, fuzzy
+msgid "inline log1p function"
+msgstr "inlineway oatflay oercioncay"
+
+#: target:compiler/x86/float.lisp
+msgid "inline log1p with limited x range function"
+msgstr ""
+
+#: target:compiler/x86/float.lisp
+#, fuzzy
+msgid "inline logb function"
+msgstr "inlineway oatflay oercioncay"
+
+#: target:compiler/x86/float.lisp
+#, fuzzy
+msgid "inline atan function"
+msgstr "inlineway oatflay oercioncay"
+
+#: target:compiler/x86/float.lisp
+#, fuzzy
+msgid "inline atan2 function"
+msgstr "inlineway oatflay oercioncay"
+
+#: target:compiler/x86/float.lisp
msgid "inline complex single-float creation"
msgstr "inlineway omplexcay inglesay-oatflay eationcray"
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "inline complex double-float creation"
msgstr "inlineway omplexcay oubleday-oatflay eationcray"
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
+#, fuzzy
+msgid "inline complex long-float creation"
+msgstr "inlineway omplexcay inglesay-oatflay eationcray"
+
+#: target:compiler/x86/float.lisp
msgid "complex float realpart"
msgstr "omplexcay oatflay ealpartray"
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "complex float imagpart"
msgstr "omplexcay oatflay imagpartway"
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "inline dummy FP register bias"
msgstr "inlineway ummyday FP egisterray iasbay"
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "double-double float move"
msgstr "oubleday-oubleday oatflay ovemay"
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "double double float to pointer coercion"
msgstr "oubleday oubleday oatflay otay ointerpay oercioncay"
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "pointer to double-double-float coercion"
msgstr "ointerpay otay oubleday-oubleday-oatflay oercioncay"
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "double double-float argument move"
msgstr "oubleday oubleday-oatflay argumentway ovemay"
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "inline double-double-float creation"
msgstr "inlineway oubleday-oubleday-oatflay eationcray"
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "double-double high part"
msgstr "oubleday-oubleday ighhay artpay"
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "double-double low part"
msgstr "oubleday-oubleday owlay artpay"
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "inline complex double-double-float creation"
msgstr "inlineway omplexcay oubleday-oubleday-oatflay eationcray"
-#: target:compiler/x86/float-sse2.lisp
-msgid "inline complex float arithmetic"
-msgstr "inlineway omplexcay oatflay arithmeticway"
-
-#: target:compiler/x86/float-sse2.lisp
-msgid "inline complex float/float arithmetic"
-msgstr "inlineway omplexcay oatflay/oatflay arithmeticway"
-
#: target:compiler/x86/char.lisp
msgid "character untagging"
msgstr "aracterchay untaggingway"
@@ -453,3 +529,9 @@
#: target:compiler/x86/array.lisp
msgid "inline array store"
msgstr "inlineway arrayway toresay"
+
+#~ msgid "inline complex float arithmetic"
+#~ msgstr "inlineway omplexcay oatflay arithmeticway"
+
+#~ msgid "inline complex float/float arithmetic"
+#~ msgstr "inlineway omplexcay oatflay/oatflay arithmeticway"
Index: src/i18n/locale/en at piglatin/LC_MESSAGES/cmucl.po
diff -u src/i18n/locale/en at piglatin/LC_MESSAGES/cmucl.po:1.1.2.11 src/i18n/locale/en at piglatin/LC_MESSAGES/cmucl.po:1.1.2.12
--- src/i18n/locale/en at piglatin/LC_MESSAGES/cmucl.po:1.1.2.11 Thu Mar 18 12:58:37 2010
+++ src/i18n/locale/en at piglatin/LC_MESSAGES/cmucl.po Thu Mar 18 18:17:18 2010
@@ -7069,14 +7069,6 @@
" ~% ~S"
#: target:compiler/proclaim.lisp
-msgid ""
-"Undefining structure type:~% ~S~@\n"
-"\t so that this slot accessor can be redefined:~% ~S"
-msgstr ""
-"Undefiningway ucturestray ypetay:~% ~S~@\n"
-"\t osay atthay isthay otslay accessorway ancay ebay edefinedray:~% ~S"
-
-#: target:compiler/proclaim.lisp
msgid "~S previously defined as a macro."
msgstr "~S eviouslypray efinedday asway away acromay."
@@ -22651,11 +22643,11 @@
#: target:assembly/x86/arith.lisp target:assembly/x86/array.lisp
#: target:assembly/x86/assem-rtns.lisp target:compiler/x86/type-vops.lisp
-#: target:compiler/x86/pred.lisp target:compiler/x86/sse2-array.lisp
+#: target:compiler/x86/pred.lisp target:compiler/x86/x87-array.lisp
#: target:compiler/x86/print.lisp target:compiler/x86/nlx.lisp
-#: target:compiler/x86/values.lisp target:compiler/x86/sse2-c-call.lisp
+#: target:compiler/x86/values.lisp target:compiler/x86/x87-c-call.lisp
#: target:compiler/x86/subprim.lisp target:compiler/x86/static-fn.lisp
-#: target:compiler/x86/system.lisp target:compiler/x86/sse2-sap.lisp
+#: target:compiler/x86/system.lisp target:compiler/x86/x87-sap.lisp
#: target:compiler/x86/sap.lisp target:compiler/meta-vmdef.lisp
msgid "Unknown SC to SC-Case for ~S:~% ~S"
msgstr "Unknownway SC otay SC-Asecay orfay ~S:~% ~S"
@@ -24665,11 +24657,14 @@
msgstr "Ancay't indfay away efinitionday orfay ~S."
#: target:compiler/main.lisp
+#, fuzzy
msgid ""
-"Compiles the function whose name is NAME. If DEFINITION is supplied,\n"
-" it should be a lambda expression that is compiled and then placed in the\n"
-" function cell of NAME. If NAME is Nil, the compiled code object is\n"
-" returned."
+"Compiles the function (or macro-function) whose name is NAME. If\n"
+" DEFINITION is supplied, it should be a lambda expression that is\n"
+" compiled. IF NAME names a macro, then the compiled expression\n"
+" replaces the existing macro-function. If NAME names a function, the\n"
+" compiled expression is placed in the function cell of NAME. If NAME\n"
+" is Nil, the compiled code object is returned."
msgstr ""
"Ompilescay ethay unctionfay osewhay amenay isway NAME. Ifway DEFINITION "
"isway uppliedsay,\n"
@@ -28702,3 +28697,10 @@
#: target:pcl/gray-streams.lisp
msgid " Gray Streams Protocol Support"
msgstr " Aygray Eamsstray Otocolpray Upportsay"
+
+#~ msgid ""
+#~ "Undefining structure type:~% ~S~@\n"
+#~ "\t so that this slot accessor can be redefined:~% ~S"
+#~ msgstr ""
+#~ "Undefiningway ucturestray ypetay:~% ~S~@\n"
+#~ "\t osay atthay isthay otslay accessorway ancay ebay edefinedray:~% ~S"
Index: src/i18n/locale/ko/LC_MESSAGES/cmucl-x86-vm.po
diff -u src/i18n/locale/ko/LC_MESSAGES/cmucl-x86-vm.po:1.1.2.2 src/i18n/locale/ko/LC_MESSAGES/cmucl-x86-vm.po:1.1.2.3
--- src/i18n/locale/ko/LC_MESSAGES/cmucl-x86-vm.po:1.1.2.2 Tue Mar 9 15:22:16 2010
+++ src/i18n/locale/ko/LC_MESSAGES/cmucl-x86-vm.po Thu Mar 18 18:17:20 2010
@@ -138,7 +138,7 @@
#: target:compiler/x86/alloc.lisp target:compiler/x86/cell.lisp
#: target:compiler/x86/debug.lisp target:compiler/x86/arith.lisp
#: target:compiler/x86/memory.lisp target:compiler/x86/char.lisp
-#: target:compiler/x86/float-sse2.lisp target:compiler/x86/move.lisp
+#: target:compiler/x86/float.lisp target:compiler/x86/move.lisp
msgid "Unknown SC to SC-Case for ~S:~% ~S"
msgstr ""
@@ -151,7 +151,7 @@
msgstr ""
#: target:compiler/x86/call.lisp target:compiler/x86/debug.lisp
-#: target:compiler/x86/char.lisp target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/char.lisp target:compiler/x86/float.lisp
#: target:compiler/x86/move.lisp
msgid ""
"Load TN allocated, but no move function?~@\n"
@@ -182,122 +182,182 @@
msgid "word integer argument move"
msgstr ""
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "Ignoring bogus i387 Constant ~a"
msgstr ""
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "float move"
msgstr ""
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
+msgid "complex float move"
+msgstr ""
+
+#: target:compiler/x86/float.lisp
msgid "float to pointer coercion"
msgstr ""
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "pointer to float coercion"
msgstr ""
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "complex float to pointer coercion"
msgstr ""
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "complex double-double float to pointer coercion"
msgstr ""
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "pointer to complex float coercion"
msgstr ""
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "float argument move"
msgstr ""
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "complex float argument move"
msgstr ""
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "complex double-double-float argument move"
msgstr ""
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "inline float arithmetic"
msgstr ""
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "inline float comparison"
msgstr ""
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "inline float coercion"
msgstr ""
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "inline float truncate"
msgstr ""
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
+msgid "inline NPX function"
+msgstr ""
+
+#: target:compiler/x86/float.lisp
+msgid "inline tan function"
+msgstr ""
+
+#: target:compiler/x86/float.lisp
+msgid "inline sin/cos function"
+msgstr ""
+
+#: target:compiler/x86/float.lisp
+msgid "inline exp function"
+msgstr ""
+
+#: target:compiler/x86/float.lisp
+msgid "inline expm1 function"
+msgstr ""
+
+#: target:compiler/x86/float.lisp
+msgid "inline log function"
+msgstr ""
+
+#: target:compiler/x86/float.lisp
+msgid "inline log10 function"
+msgstr ""
+
+#: target:compiler/x86/float.lisp
+msgid "inline pow function"
+msgstr ""
+
+#: target:compiler/x86/float.lisp
+msgid "inline scalbn function"
+msgstr ""
+
+#: target:compiler/x86/float.lisp
+msgid "inline scalb function"
+msgstr ""
+
+#: target:compiler/x86/float.lisp
+msgid "inline log1p function"
+msgstr ""
+
+#: target:compiler/x86/float.lisp
+msgid "inline log1p with limited x range function"
+msgstr ""
+
+#: target:compiler/x86/float.lisp
+msgid "inline logb function"
+msgstr ""
+
+#: target:compiler/x86/float.lisp
+msgid "inline atan function"
+msgstr ""
+
+#: target:compiler/x86/float.lisp
+msgid "inline atan2 function"
+msgstr ""
+
+#: target:compiler/x86/float.lisp
msgid "inline complex single-float creation"
msgstr ""
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "inline complex double-float creation"
msgstr ""
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
+msgid "inline complex long-float creation"
+msgstr ""
+
+#: target:compiler/x86/float.lisp
msgid "complex float realpart"
msgstr ""
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "complex float imagpart"
msgstr ""
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "inline dummy FP register bias"
msgstr ""
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "double-double float move"
msgstr ""
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "double double float to pointer coercion"
msgstr ""
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "pointer to double-double-float coercion"
msgstr ""
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "double double-float argument move"
msgstr ""
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "inline double-double-float creation"
msgstr ""
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "double-double high part"
msgstr ""
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "double-double low part"
msgstr ""
-#: target:compiler/x86/float-sse2.lisp
+#: target:compiler/x86/float.lisp
msgid "inline complex double-double-float creation"
msgstr ""
-#: target:compiler/x86/float-sse2.lisp
-msgid "inline complex float arithmetic"
-msgstr ""
-
-#: target:compiler/x86/float-sse2.lisp
-msgid "inline complex float/float arithmetic"
-msgstr ""
-
#: target:compiler/x86/char.lisp
msgid "character untagging"
msgstr ""
Index: src/i18n/locale/ko/LC_MESSAGES/cmucl.po
diff -u src/i18n/locale/ko/LC_MESSAGES/cmucl.po:1.1.2.37 src/i18n/locale/ko/LC_MESSAGES/cmucl.po:1.1.2.38
--- src/i18n/locale/ko/LC_MESSAGES/cmucl.po:1.1.2.37 Tue Mar 9 15:22:16 2010
+++ src/i18n/locale/ko/LC_MESSAGES/cmucl.po Thu Mar 18 18:17:20 2010
@@ -4954,12 +4954,6 @@
msgstr ""
#: target:compiler/proclaim.lisp
-msgid ""
-"Undefining structure type:~% ~S~@\n"
-"\t so that this slot accessor can be redefined:~% ~S"
-msgstr ""
-
-#: target:compiler/proclaim.lisp
msgid "~S previously defined as a macro."
msgstr ""
@@ -15774,11 +15768,11 @@
#: target:assembly/x86/arith.lisp target:assembly/x86/array.lisp
#: target:assembly/x86/assem-rtns.lisp target:compiler/x86/type-vops.lisp
-#: target:compiler/x86/pred.lisp target:compiler/x86/sse2-array.lisp
+#: target:compiler/x86/pred.lisp target:compiler/x86/x87-array.lisp
#: target:compiler/x86/print.lisp target:compiler/x86/nlx.lisp
-#: target:compiler/x86/values.lisp target:compiler/x86/sse2-c-call.lisp
+#: target:compiler/x86/values.lisp target:compiler/x86/x87-c-call.lisp
#: target:compiler/x86/subprim.lisp target:compiler/x86/static-fn.lisp
-#: target:compiler/x86/system.lisp target:compiler/x86/sse2-sap.lisp
+#: target:compiler/x86/system.lisp target:compiler/x86/x87-sap.lisp
#: target:compiler/x86/sap.lisp target:compiler/meta-vmdef.lisp
msgid "Unknown SC to SC-Case for ~S:~% ~S"
msgstr ""
@@ -17122,10 +17116,12 @@
#: target:compiler/main.lisp
msgid ""
-"Compiles the function whose name is NAME. If DEFINITION is supplied,\n"
-" it should be a lambda expression that is compiled and then placed in the\n"
-" function cell of NAME. If NAME is Nil, the compiled code object is\n"
-" returned."
+"Compiles the function (or macro-function) whose name is NAME. If\n"
+" DEFINITION is supplied, it should be a lambda expression that is\n"
+" compiled. IF NAME names a macro, then the compiled expression\n"
+" replaces the existing macro-function. If NAME names a function, the\n"
+" compiled expression is placed in the function cell of NAME. If NAME\n"
+" is Nil, the compiled code object is returned."
msgstr ""
#: target:compiler/main.lisp
Index: src/pcl/boot.lisp
diff -u src/pcl/boot.lisp:1.73.34.2 src/pcl/boot.lisp:1.73.34.3
--- src/pcl/boot.lisp:1.73.34.2 Fri Feb 12 20:28:04 2010
+++ src/pcl/boot.lisp Thu Mar 18 18:17:20 2010
@@ -25,7 +25,7 @@
;;; *************************************************************************
(file-comment
- "$Header: /project/cmucl/cvsroot/src/pcl/boot.lisp,v 1.73.34.2 2010-02-13 01:28:04 rtoy Exp $")
+ "$Header: /project/cmucl/cvsroot/src/pcl/boot.lisp,v 1.73.34.3 2010-03-18 22:17:20 rtoy Exp $")
(in-package :pcl)
(intl:textdomain "cmucl")
@@ -1178,7 +1178,8 @@
(optimize-slot-writer form required-parameters slots env))
;;
((and (valid-function-name-p (car form))
- (info-gf-name-p (car form)))
+ (info-gf-name-p (car form))
+ (not (walker::environment-function env (car form))))
(optimize-gf-call form required-parameters calls env))
(t
form))))
More information about the cmucl-commit
mailing list