[movitz-cvs] CVS update: movitz/losp/muerte/symbols.lisp

Frode Vatvedt Fjeld ffjeld at common-lisp.net
Wed Mar 24 13:31:46 UTC 2004


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 at 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





More information about the Movitz-cvs mailing list