* bug fix: compile-times no longer scale linearly with the size of
quoted lists in source-code. (lp#654289)
* bug fix: better errors for unknown external-formats in OPEN. (lp#561974)
+ * bug fix: DEBUG>SPEED no longer degrades ALIEN-FUNCALL performance quite
+ so badly. (lp#654485)
changes in sbcl-1.0.43 relative to sbcl-1.0.42:
* incompatible change: FD-STREAMS no longer participate in the serve-event
(setf body `(invoke-with-saved-fp-and-pc (lambda () ,body))))
(/noshow "returning from DEFTRANSFORM ALIEN-FUNCALL" (params) body)
`(lambda (function ,@(params))
+ (declare (optimize (let-conversion 3)))
,body)))))))
(defoptimizer (%alien-funcall derive-type) ((function type &rest args))
(verify (signed 16) #x003f8042 #x-7fbe)
(verify (signed 16) #x003f7042 #x7042)))
+(with-test (:name :bug-654485)
+ ;; DEBUG 2 used to prevent let-conversion of the open-coded ALIEN-FUNCALL body,
+ ;; which in turn led the dreaded %SAP-ALIEN note.
+ (handler-case
+ (compile nil
+ `(lambda (program argv)
+ (declare (optimize (debug 2)))
+ (with-alien ((sys-execv1 (function int c-string (* c-string)) :extern
+ "execv"))
+ (values (alien-funcall sys-execv1 program argv)))))
+ (compiler-note (n)
+ (error n))))
+
;;; success
;;; checkins which aren't released. (And occasionally for internal
;;; versions, especially for internal versions off the main CVS
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"1.0.43.22"
+"1.0.43.23"