constant 0.
** implementation of ASH-MOD32 on X86 did not work for the shift
greater than 32.
+ ** FLUSH-DEST did not mark blocks for type check regeneration.
planned incompatible changes in 0.8.x:
* (not done yet, but planned:) When the profiling interface settles
(let ((prev (node-prev use)))
(let ((block (ctran-block prev)))
(setf (component-reoptimize (block-component block)) t)
- (setf (block-attributep (block-flags block) flush-p type-asserted)
+ (setf (block-attributep (block-flags block)
+ flush-p type-asserted type-check)
t)))
(setf (node-lvar use) nil))
(setf (lvar-uses lvar) nil))
(declare (type (integer 4303063 101130078) a))
(mask-field (byte 18 2) (ash a 77))))
57132532)))
+
+;;; MISC.101 and MISC.103: FLUSH-DEST did not mark the USE's block for
+;;; type check regeneration
+(assert (eql (funcall
+ (compile nil '(lambda (a c)
+ (declare (type (integer 185501219873 303014665162) a))
+ (declare (type (integer -160758 255724) c))
+ (declare (optimize (speed 3)))
+ (let ((v8
+ (- -554046873252388011622614991634432
+ (ignore-errors c)
+ (unwind-protect 2791485))))
+ (max (ignore-errors a)
+ (let ((v6 (- v8 (restart-case 980))))
+ (min v8 v6))))))
+ 259448422916 173715)
+ 259448422916))
+(assert (eql (funcall
+ (compile nil '(lambda (a b)
+ (min -80
+ (abs
+ (ignore-errors
+ (+
+ (logeqv b
+ (block b6
+ (return-from b6
+ (load-time-value -6876935))))
+ (if (logbitp 1 a) b (setq a -1522022182249))))))))
+ -1802767029877 -12374959963)
+ -80))
;;; 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".)
-"0.8.5.7"
+"0.8.5.8"