Update of /project/movitz/cvsroot/movitz/losp/muerte In directory common-lisp.net:/tmp/cvs-serv29984/losp/muerte
Modified Files: arrays.lisp Log Message: Add some support for *compiler-nonlocal-lispval-{read,write}-segment-prefix*.
Date: Tue Aug 10 05:58:23 2004 Author: ffjeld
Index: movitz/losp/muerte/arrays.lisp diff -u movitz/losp/muerte/arrays.lisp:1.41 movitz/losp/muerte/arrays.lisp:1.42 --- movitz/losp/muerte/arrays.lisp:1.41 Tue Jul 27 06:46:39 2004 +++ movitz/losp/muerte/arrays.lisp Tue Aug 10 05:58:22 2004 @@ -10,7 +10,7 @@ ;;;; Author: Frode Vatvedt Fjeld frodef@acm.org ;;;; Created at: Sun Feb 11 23:14:04 2001 ;;;; -;;;; $Id: arrays.lisp,v 1.41 2004/07/27 13:46:39 ffjeld Exp $ +;;;; $Id: arrays.lisp,v 1.42 2004/08/10 12:58:22 ffjeld Exp $ ;;;; ;;;;------------------------------------------------------------------
@@ -309,7 +309,8 @@ (:addl ,movitz:+movitz-fixnum-factor+ :eax) (:jmp 'return) :any-t - (:movl (:eax :ebx ,(bt:slot-offset 'movitz:movitz-basic-vector 'movitz::data)) + (,movitz:*compiler-nonlocal-lispval-read-segment-prefix* + :movl (:eax :ebx ,(bt:slot-offset 'movitz:movitz-basic-vector 'movitz::data)) :eax) return))) (do-it))))) @@ -346,7 +347,8 @@ ;; t? (:cmpl ,(movitz:basic-vector-type-tag :any-t) :ecx) (:jne 'not-any-t-vector) - (:movl :eax + (,movitz:*compiler-nonlocal-lispval-write-segment-prefix* + :movl :eax (:ebx :edx ,(bt:slot-offset 'movitz:movitz-basic-vector 'movitz::data))) (:jmp 'return)
@@ -433,6 +435,7 @@ `(setf (memref ,simple-vector 2 ,index :lisp) ,value))
(defun svref%unsafe (simple-vector index) +;; (compiler-macro-call svref%unsafe simple-vector index)) (with-inline-assembly (:returns :eax) (:compile-two-forms (:eax :ebx) simple-vector index) (:movl (:eax :ebx #.(bt:slot-offset 'movitz:movitz-basic-vector 'movitz::data)) :eax)))