From: Paul K. <pk...@gm...> - 2008-06-12 15:30:11
|
On 4-Jun-08, at 8:40 AM, Nikodemus Siivola wrote: > Update of /cvsroot/sbcl/sbcl > In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv19220 > > Modified Files: > NEWS OPTIMIZATIONS build-order.lisp-expr > package-data-list.lisp-expr version.lisp-expr > Log Message: > 1.0.17.24: refactor handling of constants in the compiler > > * Coalesce non-circular lists, bit-vectors, and non-base-strings in > the > file-compiler. (We could do more, but these are the "easy" ones.) > Takes > care of OPTIMIZATIONS #34 in practice: outside the file compiler > one can > still trick the system into similar behaviour, but that seems a > fairly > academic concern. > > * Never go through SYMBOL-VALUE at runtime to fetch the value of a > constant > variable in compiled code. [...] > * Gets rid of INFO :VARIABLE :CONSTANT-VALUE, and just uses SYMBOL- > VALUE to > store constant values. (trimmed unlikely to be relevant changes) 1.0.17.24 is confused between the host's and the cross-compiler's definition of, e.g., most-positive-fixnum. This causes a failure in from-xc/target-sxhash when building a 32 bit SBCL from a 64 bit host. Simply adding (eval-when (:compile-toplevel :load-toplevel) (format t "m-p-f: ~A~%" most-positive-fixnum)) to target-sxhash.lisp confirms that "; compiling (FORMAT T ...)m-p-f: 1152921504606846975" (: I'm not certain how to tackle this one. Paul Khuong |
From: Paul K. <pk...@gm...> - 2008-06-15 11:19:07
|
On 12-Jun-08, at 11:29 AM, Paul Khuong wrote: > On 4-Jun-08, at 8:40 AM, Nikodemus Siivola wrote: >> >> * Gets rid of INFO :VARIABLE :CONSTANT-VALUE, and just uses SYMBOL- >> VALUE to >> store constant values. > > 1.0.17.24 is confused between the host's and the cross-compiler's > definition of, e.g., most-positive-fixnum. This causes a failure in > from-xc/target-sxhash when building a 32 bit SBCL from a 64 bit host. Fixed in 1.0.17.35 by putting :XC-CONSTANT-VALUE back, only for cross- compilation, instead of looking at our host's definitions of standard CL constants. Paul Khuong |