Update of /project/movitz/cvsroot/movitz/losp/muerte In directory common-lisp.net:/tmp/cvs-serv3402
Modified Files: cons.lisp Log Message: Improve accessors to observe *compiler-nonlocal-lispval-read/write-segment-prefix* more. Also don't use the movitz-accessor etc. macros anymore, use memref and movitz-type-slot-offset instead.
Date: Thu Oct 21 22:33:59 2004 Author: ffjeld
Index: movitz/losp/muerte/cons.lisp diff -u movitz/losp/muerte/cons.lisp:1.7 movitz/losp/muerte/cons.lisp:1.8 --- movitz/losp/muerte/cons.lisp:1.7 Fri Aug 6 16:46:06 2004 +++ movitz/losp/muerte/cons.lisp Thu Oct 21 22:33:59 2004 @@ -9,7 +9,7 @@ ;;;; Created at: Fri Dec 8 15:25:45 2000 ;;;; Distribution: See the accompanying file COPYING. ;;;; -;;;; $Id: cons.lisp,v 1.7 2004/08/06 14:46:06 ffjeld Exp $ +;;;; $Id: cons.lisp,v 1.8 2004/10/21 20:33:59 ffjeld Exp $ ;;;; ;;;;------------------------------------------------------------------
@@ -24,8 +24,10 @@ (:leal (:eax -1) :ecx) (:testb 3 :cl) (:jnz '(:sub-program () (:int 61))) - (:movl (:eax -1) :ebx) - (:movl (:eax 3) :eax) + (#.movitz:*compiler-nonlocal-lispval-read-segment-prefix* + :movl (:eax -1) :ebx) + (#.movitz:*compiler-nonlocal-lispval-read-segment-prefix* + :movl (:eax 3) :eax) (:ret)))
(define-primitive-function fast-car () @@ -34,7 +36,8 @@ (:leal (:eax -1) :ecx) (:testb 3 :cl) (:jnz '(:sub-program () (:int 61))) - (:movl (:eax -1) :eax) + (#.movitz:*compiler-nonlocal-lispval-read-segment-prefix* + :movl (:eax -1) :eax) (:ret)))
(define-primitive-function fast-car-ebx () @@ -46,7 +49,8 @@ (:jnz '(:sub-program () (:movl :ebx :eax) (:int 66))) - (:movl (:ebx -1) :eax) + (#.movitz:*compiler-nonlocal-lispval-read-segment-prefix* + :movl (:ebx -1) :eax) (:ret)))
(define-primitive-function fast-cdr () @@ -55,7 +59,8 @@ (:leal (:eax -1) :ecx) (:testb 3 :cl) (:jnz '(:sub-program () (:int 61))) - (:movl (:eax 3) :eax) + (#.movitz:*compiler-nonlocal-lispval-read-segment-prefix* + :movl (:eax 3) :eax) (:ret)))
(define-primitive-function fast-cddr () @@ -64,11 +69,13 @@ (:leal (:eax -1) :ecx) (:testb 3 :cl) (:jnz '(:sub-program () (:int 61))) - (:movl (:eax 3) :eax) + (#.movitz:*compiler-nonlocal-lispval-read-segment-prefix* + :movl (:eax 3) :eax) (:leal (:eax -1) :ecx) (:testb 3 :cl) (:jnz '(:sub-program () (:int 61))) - (:movl (:eax 3) :eax) + (#.movitz:*compiler-nonlocal-lispval-read-segment-prefix* + :movl (:eax 3) :eax) (:ret)))
(define-primitive-function fast-cdddr () @@ -77,15 +84,18 @@ (:leal (:eax -1) :ecx) (:testb 3 :cl) (:jnz '(:sub-program (not-cons) (:int 61))) - (:movl (:eax 3) :eax) + (#.movitz:*compiler-nonlocal-lispval-read-segment-prefix* + :movl (:eax 3) :eax) (:leal (:eax -1) :ecx) (:testb 3 :cl) (:jnz '(:sub-program (not-cons) (:int 61))) - (:movl (:eax 3) :eax) + (#.movitz:*compiler-nonlocal-lispval-read-segment-prefix* + :movl (:eax 3) :eax) (:leal (:eax -1) :ecx) (:testb 3 :cl) (:jnz '(:sub-program (not-cons) (:int 61))) - (:movl (:eax 3) :eax) + (#.movitz:*compiler-nonlocal-lispval-read-segment-prefix* + :movl (:eax 3) :eax) (:ret)))
(define-primitive-function fast-cdr-ebx () @@ -97,7 +107,8 @@ (:jnz '(:sub-program () (:movl :ebx :eax) (:int 61))) - (:movl (:ebx 3) :eax) + (#.movitz:*compiler-nonlocal-lispval-read-segment-prefix* + :movl (:ebx 3) :eax) (:ret)))
;; Prefetching versions. Only works on .. PII or so and upwards. @@ -109,8 +120,10 @@ (:leal (:eax -1) :ecx) (:testb 3 :cl) (:jnz '(:sub-program () (:int 61))) - (:movl (:eax -1) :ebx) - (:movl (:eax 3) :eax) + (#.movitz:*compiler-nonlocal-lispval-read-segment-prefix* + :movl (:eax -1) :ebx) + (#.movitz:*compiler-nonlocal-lispval-read-segment-prefix* + :movl (:eax 3) :eax) (:ret)))
(define-primitive-function prefetching-fast-car () @@ -120,7 +133,8 @@ (:leal (:eax -1) :ecx) (:testb 3 :cl) (:jnz '(:sub-program () (:int 61))) - (:movl (:eax -1) :eax) + (#.movitz:*compiler-nonlocal-lispval-read-segment-prefix* + :movl (:eax -1) :eax) (:ret)))
(define-primitive-function prefetching-fast-car-ebx () @@ -133,7 +147,8 @@ (:jnz '(:sub-program () (:movl :ebx :eax) (:int 61))) - (:movl (:ebx -1) :eax) + (#.movitz:*compiler-nonlocal-lispval-read-segment-prefix* + :movl (:ebx -1) :eax) (:ret)))
(define-primitive-function prefetching-fast-cdr () @@ -143,7 +158,8 @@ (:leal (:eax -1) :ecx) (:testb 3 :cl) (:jnz '(:sub-program () (:int 61))) - (:movl (:eax 3) :eax) + (#.movitz:*compiler-nonlocal-lispval-read-segment-prefix* + :movl (:eax 3) :eax) (:prefetch-nta (:eax)) (:ret)))
@@ -157,7 +173,8 @@ (:jnz '(:sub-program () (:movl :ebx :eax) (:int 61))) - (:movl (:ebx 3) :eax) + (#.movitz:*compiler-nonlocal-lispval-read-segment-prefix* + :movl (:ebx 3) :eax) (:prefetch-nta (:eax)) (:ret)))
@@ -170,7 +187,8 @@ (:jnz '(:sub-program () (:movl :ebx :eax) (:int 61))) - (:movl :eax (:ebx -1)))) + (#.movitz:*compiler-nonlocal-lispval-write-segment-prefix* + :movl :eax (:ebx -1))))
(defun (setf cdr) (value cell) (with-inline-assembly (:returns :eax) @@ -181,8 +199,8 @@ (:jnz '(:sub-program () (:movl :ebx :eax) (:int 61))) - (:movl :eax (:ebx 3)))) - + (#.movitz:*compiler-nonlocal-lispval-write-segment-prefix* + :movl :eax (:ebx 3))))
(defun car (x) (car x)) (defun cdr (x) (cdr x))