Update of /project/movitz/cvsroot/movitz/losp/muerte In directory common-lisp.net:/tmp/cvs-serv18306
Modified Files: symbols.lisp Log Message: In make-symbol, use %word-offset rather than %other-to-symbol.
Date: Wed Mar 24 08:31:45 2004 Author: ffjeld
Index: movitz/losp/muerte/symbols.lisp diff -u movitz/losp/muerte/symbols.lisp:1.3 movitz/losp/muerte/symbols.lisp:1.4 --- movitz/losp/muerte/symbols.lisp:1.3 Mon Mar 22 11:38:20 2004 +++ movitz/losp/muerte/symbols.lisp Wed Mar 24 08:31:43 2004 @@ -10,7 +10,7 @@ ;;;; Author: Frode Vatvedt Fjeld frodef@acm.org ;;;; Created at: Tue Sep 4 23:55:41 2001 ;;;; -;;;; $Id: symbols.lisp,v 1.3 2004/03/22 16:38:20 ffjeld Exp $ +;;;; $Id: symbols.lisp,v 1.4 2004/03/24 13:31:43 ffjeld Exp $ ;;;; ;;;;------------------------------------------------------------------
@@ -120,20 +120,10 @@ (not (eq (movitz-accessor symbol movitz-symbol function-value) (load-global-constant movitz::unbound-function))))))
-(defun %other-to-symbol (x) - (with-inline-assembly (:returns :eax) - (:compile-form (:result-mode :eax) x) - (:leal (:eax 2) :ecx) - (:testb 7 :cl) - (:jnz '(:sub-program () - (:compile-form (:result-mode :ignore) - (error "Not an other heap-object: ~S" x)) - (:jmp 'continue))) - continue - (:addl 1 :eax))) - (defun make-symbol (name) - (let ((symbol (%other-to-symbol (malloc-clumps 3)))) + (eval-when (:compile-toplevel) + (assert (= 1 (- (movitz:tag :symbol) (movitz:tag :other))))) + (let ((symbol (%word-offset (malloc-clumps 3) 1))) (setf-movitz-accessor (symbol movitz-symbol package) nil) (setf-movitz-accessor (symbol movitz-symbol hash-key) (sxhash name)) (setf (symbol-flags symbol) 0