projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
0.7.12.42:
[sbcl.git]
/
src
/
compiler
/
knownfun.lisp
diff --git
a/src/compiler/knownfun.lisp
b/src/compiler/knownfun.lisp
index
78433e0
..
86f4b85
100644
(file)
--- a/
src/compiler/knownfun.lisp
+++ b/
src/compiler/knownfun.lisp
@@
-25,7
+25,7
@@
;;; breakdown of side effects, since we do very little code motion on
;;; IR1. We are interested in some deeper semantic properties such as
;;; whether it is safe to pass stack closures to.
;;; breakdown of side effects, since we do very little code motion on
;;; IR1. We are interested in some deeper semantic properties such as
;;; whether it is safe to pass stack closures to.
-(def-boolean-attribute ir1
+(!def-boolean-attribute ir1
;; may call functions that are passed as arguments. In order to
;; determine what other effects are present, we must find the
;; effects of all arguments that may be functions.
;; may call functions that are passed as arguments. In order to
;; determine what other effects are present, we must find the
;; effects of all arguments that may be functions.
@@
-51,7
+51,10
@@
;; may be eliminated if value is unused. The function has no side
;; effects except possibly cons. If a function might signal errors,
;; then it is not flushable even if it is movable, foldable or
;; may be eliminated if value is unused. The function has no side
;; effects except possibly cons. If a function might signal errors,
;; then it is not flushable even if it is movable, foldable or
- ;; unsafely-flushable. Implies UNSAFELY-FLUSHABLE.
+ ;; unsafely-flushable. Implies UNSAFELY-FLUSHABLE. (In safe code
+ ;; type checking of arguments is always performed by the caller, so
+ ;; a function which SHOULD signal an error if arguments are not of
+ ;; declared types may be FLUSHABLE.)
flushable
;; unsafe call may be eliminated if value is unused. The function
;; has no side effects except possibly cons and signalling an error
flushable
;; unsafe call may be eliminated if value is unused. The function
;; has no side effects except possibly cons and signalling an error
@@
-176,8
+179,8
@@
(defun %defknown (names type attributes &key derive-type optimizer)
(let ((ctype (specifier-type type))
(info (make-fun-info :attributes attributes
(defun %defknown (names type attributes &key derive-type optimizer)
(let ((ctype (specifier-type type))
(info (make-fun-info :attributes attributes
- :derive-type derive-type
- :optimizer optimizer))
+ :derive-type derive-type
+ :optimizer optimizer))
(target-env *info-environment*))
(dolist (name names)
(let ((old-fun-info (info :function :info name)))
(target-env *info-environment*))
(dolist (name names)
(let ((old-fun-info (info :function :info name)))