From cb66371cf2190646942de933046b3d5547df8286 Mon Sep 17 00:00:00 2001 From: Juan Jose Garcia Ripoll Date: Thu, 29 Dec 2011 19:50:10 +0100 Subject: [PATCH] Another expansion of DOLIST which uses unboxing. Seems to produce better code with the new model. --- src/cmp/cmpopt-type.lsp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/cmp/cmpopt-type.lsp b/src/cmp/cmpopt-type.lsp index 0dd9e86bd..c3b0711e7 100644 --- a/src/cmp/cmpopt-type.lsp +++ b/src/cmp/cmpopt-type.lsp @@ -23,12 +23,14 @@ (declare (:read-only ,%limit)) (ext:compiler-typecase ,%limit (fixnum + ;; %LIMIT will be type checked by the compiler to be + ;; a fixnum. We may thus just increase the counter. (let ((,variable 0)) (declare (fixnum ,variable) ,@declarations) (si::while (< ,variable ,%limit) ,@body - (setq ,variable (the fixnum (1+ ,variable)))))) + (reckless (setq ,variable (1+ ,variable)))))) (t (let ((,variable 0)) (declare ,@declarations)