Just Launched: You can now import projects and releases from Google Code onto SourceForge
We are excited to release new functionality to enable a 1-click import from Google Code onto the Allura platform on SourceForge. You can import tickets, wikis, source, releases, and more with a few simple steps. Read More
Update of /cvsroot/sbcl/sbcl/src/compiler/x86
In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv18138/src/compiler/x86
184.108.40.206: move bignum allocation out of line on x86-64 from MOVE-FROM-[UN]SIGNED
* Essentially port of the work done for x86 earlier (220.127.116.11.)
Shrinks the core by about 500k.
* Change the high-bits test on x86 to be clearer about what happens
(no magic numbers.)
* Fixups cannot be called directly on x86-64, so make the CALL
instruction barf on that instead of silently generating bogus code.
RCS file: /cvsroot/sbcl/sbcl/src/compiler/x86/move.lisp,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -d -r1.16 -r1.17
--- move.lisp 2 Jan 2008 12:04:09 -0000 1.16
+++ move.lisp 5 Mar 2008 01:48:06 -0000 1.17
@@ -247,7 +247,7 @@
;; The assembly routines test the sign flag from this one, so if
;; you change stuff here, make sure the sign flag doesn't get
;; overwritten before the CALL!
- (inst test x #xe0000000)
+ (inst test x #.(ash lowtag-mask (- n-word-bits n-fixnum-tag-bits 1)))
;; Faster but bigger then SHL Y 2. The cost of doing this speculatively
;; is noise compared to bignum consing if that is needed.
(inst lea y (make-ea :dword :index x :scale 4))