[movitz-cvs] CVS update: movitz/image.lisp
Frode Vatvedt Fjeld
ffjeld at common-lisp.net
Wed May 4 22:47:59 UTC 2005
Update of /project/movitz/cvsroot/movitz
In directory common-lisp.net:/tmp/cvs-serv2314
Modified Files:
image.lisp
Log Message:
re-arranged movitz-run-time-context a bit.
Date: Thu May 5 00:47:59 2005
Author: ffjeld
Index: movitz/image.lisp
diff -u movitz/image.lisp:1.94 movitz/image.lisp:1.95
--- movitz/image.lisp:1.94 Tue May 3 22:12:53 2005
+++ movitz/image.lisp Thu May 5 00:47:58 2005
@@ -9,7 +9,7 @@
;;;; Created at: Sun Oct 22 00:22:43 2000
;;;; Distribution: See the accompanying file COPYING.
;;;;
-;;;; $Id: image.lisp,v 1.94 2005/05/03 20:12:53 ffjeld Exp $
+;;;; $Id: image.lisp,v 1.95 2005/05/04 22:47:58 ffjeld Exp $
;;;;
;;;;------------------------------------------------------------------
@@ -22,11 +22,6 @@
:initform :run-time-context)
(padding
:binary-type 3)
- (name
- :binary-type word
- :initform :bootup
- :map-binary-write 'movitz-read-and-intern
- :map-binary-read-delayed 'movitz-word)
(class
:binary-type word
:map-binary-write 'movitz-intern
@@ -38,8 +33,14 @@
:map-binary-write 'movitz-read-and-intern
:map-binary-read-delayed 'movitz-word
:initarg :slots
- :initform #()
+ :initform #(:init nil)
:accessor run-time-context-slots)
+ (scratch1
+ :binary-type word
+ :initform 0)
+ (scratch2
+ :binary-type word
+ :initform 0)
(fast-car
:binary-type code-vector-word
:initform nil
@@ -58,12 +59,6 @@
:map-binary-write 'movitz-intern-code-vector
:map-binary-read-delayed 'movitz-word-code-vector
:binary-tag :primitive-function)
- (fast-cdddr
- :binary-type code-vector-word
- :initform nil
- :map-binary-write 'movitz-intern-code-vector
- :map-binary-read-delayed 'movitz-word-code-vector
- :binary-tag :primitive-function)
(fast-car-ebx
:binary-type code-vector-word
:initform nil
@@ -118,11 +113,6 @@
:map-binary-write 'movitz-intern-code-vector
:map-binary-read-delayed 'movitz-word-code-vector
:binary-tag :primitive-function)
- ;; per thread parameters
- (dynamic-env
- :binary-type word
- :initform 0)
- ;; More per-thread parameters
(unwind-protect-tag
:binary-type word
:map-binary-read-delayed 'movitz-word
@@ -133,6 +123,11 @@
:map-binary-read-delayed 'movitz-word
:map-binary-write 'movitz-read-and-intern
:initform 'muerte::restart-protect-tag)
+ (new-unbound-value
+ :binary-type word
+ :map-binary-read-delayed 'movitz-word
+ :map-binary-write 'movitz-read-and-intern
+ :initform 'unbound)
(stack-bottom ; REMEMBER BOCHS!
:binary-type word
:initform #x0ff000)
@@ -162,11 +157,6 @@
:binary-type movitz-symbol
:reader movitz-run-time-context-null-symbol
:initarg :null-symbol)
- (new-unbound-value
- :binary-type word
- :map-binary-read-delayed 'movitz-word
- :map-binary-write 'movitz-read-and-intern
- :initform 'unbound)
;; primitive functions global constants
(pop-current-values
:binary-type code-vector-word
@@ -288,21 +278,37 @@
:binary-tag :global-function
:map-binary-write 'movitz-intern
:map-binary-read-delayed 'movitz-word)
- (complicated-class-of
- :binary-type word
- :binary-tag :global-function
- :map-binary-read-delayed 'movitz-word
- :map-binary-write 'movitz-intern)
(complicated-compare
:binary-type word
:binary-tag :global-function
:map-binary-read-delayed 'movitz-word
:map-binary-write 'movitz-intern)
+ (dynamic-env
+ :binary-type word
+ :initform 0)
+ (the-class-t
+ :binary-type word
+ :initform t
+ :map-binary-write (lambda (x type)
+ (declare (ignore type))
+ (movitz-read-and-intern (funcall 'muerte::movitz-find-class x)
+ 'word))
+ :map-binary-read-delayed 'movitz-word)
+ (copy-funobj
+ :binary-type word
+ ;; :accessor movitz-run-time-context-copy-funobj
+ :initform 'muerte::copy-funobj
+ :map-binary-write (lambda (name type)
+ (declare (ignore type))
+ (movitz-intern (movitz-env-named-function name))))
+
+
(num-values
:binary-type word ; Fixnum
:initform 0)
(values
:binary-type #.(* 4 +movitz-multiple-values-limit+))
+
(cons-pointer
:binary-type code-vector-word
:initform nil
@@ -349,46 +355,6 @@
map))
'word)))
:map-binary-read-delayed 'movitz-word)
- ;; Some well-known classes
- (the-class-t
- :binary-type word
- :initform t
- :map-binary-write (lambda (x type)
- (declare (ignore type))
- (movitz-read-and-intern (funcall 'muerte::movitz-find-class x)
- 'word))
- :map-binary-read-delayed 'movitz-word)
- (exception-handlers
- :binary-type word
- :map-binary-write 'movitz-intern
- :map-binary-read-delayed 'movitz-word
- :initarg :exception-handlers
- :accessor movitz-run-time-context-exception-handlers)
- (interrupt-descriptor-table
- :binary-type word
- :accessor movitz-run-time-context-interrupt-descriptor-table
- :initform (make-array 256 :initial-element 'muerte::default-interrupt-trampoline)
- :map-binary-read-delayed 'movitz-word
- :map-binary-write 'map-interrupt-trampolines-to-idt)
- (toplevel-funobj
- :binary-type word
- :initform nil
- :accessor movitz-run-time-context-toplevel-funobj
- :map-binary-write 'movitz-intern
- :map-binary-read-delayed 'movitz-word)
- (global-properties
- :binary-type word
- :initform nil
- :accessor movitz-run-time-context-global-properties
- :map-binary-write 'movitz-intern
- :map-binary-read-delayed 'movitz-word)
- (copy-funobj
- :binary-type word
- ;; :accessor movitz-run-time-context-copy-funobj
- :initform 'muerte::copy-funobj
- :map-binary-write (lambda (name type)
- (declare (ignore type))
- (movitz-intern (movitz-env-named-function name))))
(physical-address-offset
:binary-type lu32
:initform (image-ds-segment-base *image*))
@@ -399,22 +365,10 @@
:map-binary-read-delayed (lambda (x type)
(declare (ignore x type))
(movitz-read nil)))
- (stack-vector
- :binary-type word
- :initform nil
- :map-binary-write 'movitz-read-and-intern
- :map-binary-read-delayed (lambda (x type)
- (declare (ignore x type))
- (movitz-read nil)))
(self
:binary-type word
:initform 6
:map-binary-read-delayed 'movitz-word)
- (parent
- :binary-type word
- :initform nil
- :map-binary-write 'movitz-read-and-intern
- :map-binary-read-delayed 'movitz-word)
(protect-non-pointer-area
:binary-type lu32
:initform 3)
@@ -436,12 +390,6 @@
:binary-type lu32
:initform 0)
(non-pointers-end :binary-type :label) ; ========= NON-POINTER-END =======
- (scratch1
- :binary-type word
- :initform 0)
- (scratch2
- :binary-type word
- :initform 0)
(ret-trampoline
:binary-type code-vector-word
:map-binary-write 'movitz-intern-code-vector
@@ -456,7 +404,43 @@
:binary-type code-vector-word
:map-binary-write 'movitz-intern-code-vector
:map-binary-read-delayed 'movitz-word-code-vector
- :binary-tag :primitive-function))
+ :binary-tag :primitive-function)
+ (complicated-class-of
+ :binary-type word
+ :binary-tag :global-function
+ :map-binary-read-delayed 'movitz-word
+ :map-binary-write 'movitz-intern)
+ (stack-vector
+ :binary-type word
+ :initform nil
+ :map-binary-write 'movitz-read-and-intern
+ :map-binary-read-delayed (lambda (x type)
+ (declare (ignore x type))
+ (movitz-read nil)))
+ (exception-handlers
+ :binary-type word
+ :map-binary-write 'movitz-intern
+ :map-binary-read-delayed 'movitz-word
+ :initarg :exception-handlers
+ :accessor movitz-run-time-context-exception-handlers)
+ (interrupt-descriptor-table
+ :binary-type word
+ :accessor movitz-run-time-context-interrupt-descriptor-table
+ :initform (make-array 256 :initial-element 'muerte::default-interrupt-trampoline)
+ :map-binary-read-delayed 'movitz-word
+ :map-binary-write 'map-interrupt-trampolines-to-idt)
+ (toplevel-funobj
+ :binary-type word
+ :initform nil
+ :accessor movitz-run-time-context-toplevel-funobj
+ :map-binary-write 'movitz-intern
+ :map-binary-read-delayed 'movitz-word)
+ (global-properties
+ :binary-type word
+ :initform nil
+ :accessor movitz-run-time-context-global-properties
+ :map-binary-write 'movitz-intern
+ :map-binary-read-delayed 'movitz-word))
(:slot-align null-symbol -5))
(defun atomically-continuation-simple-pf (pf-name)
More information about the Movitz-cvs
mailing list