[movitz-cvs] CVS update: movitz/losp/muerte/cons.lisp
Frode Vatvedt Fjeld
ffjeld at common-lisp.net
Thu Oct 21 20:33:59 UTC 2004
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))
More information about the Movitz-cvs
mailing list