From: Nikodemus S. <de...@us...> - 2008-03-10 18:49:24
|
Update of /cvsroot/sbcl/sbcl/src/assembly/x86 In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv10433/src/assembly/x86 Modified Files: alloc.lisp Log Message: 1.0.15.17: better threaded BIND & UNBIND for x86-64 * x86-64 port of 1.0.15.7, plus some x86 cleanups: -- Rename ALLOCATE-TLS-INDEX-* to ALLOC-TLS-INDEX-* for more consistent asm routine names. -- Use (FIXNUMIZE 1) instead of magic number 4. Shrinks the threaded x86-64 core by ~200k bytes. Index: alloc.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/assembly/x86/alloc.lisp,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- alloc.lisp 2 Mar 2008 22:38:08 -0000 1.9 +++ alloc.lisp 10 Mar 2008 18:49:18 -0000 1.10 @@ -83,7 +83,7 @@ (macrolet ((def (reg) (declare (ignorable reg)) #!+sb-thread - (let* ((name (intern (format nil "ALLOCATE-TLS-INDEX-IN-~A" reg))) + (let* ((name (intern (format nil "ALLOC-TLS-INDEX-IN-~A" reg))) (target-offset (intern (format nil "~A-OFFSET" reg))) (other-offset (if (eql 'eax reg) 'ecx-offset @@ -113,7 +113,7 @@ (inst jmp :ne release-tls-index-lock) ;; Allocate a new tls-index. (load-symbol-value target *free-tls-index*) - (inst add (make-ea-for-symbol-value *free-tls-index*) 4) ; fixnum + 1 + (inst add (make-ea-for-symbol-value *free-tls-index*) (fixnumize 1)) (storew target other symbol-tls-index-slot other-pointer-lowtag) (emit-label release-tls-index-lock) (store-symbol-value 0 *tls-index-lock*) |