Changeset 5031
- Timestamp:
- Aug 26, 2006, 2:08:02 AM (18 years ago)
- File:
-
- 1 edited
-
trunk/ccl/level-1/x86-trap-support.lisp (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ccl/level-1/x86-trap-support.lisp
r5013 r5031 26 26 (defconstant gp-regs-offset (+ (get-field-offset :ucontext.uc_mcontext) 27 27 (get-field-offset :mcontext_t.gregs))) 28 (defmacro xp-gp-regs (xp) xp) 28 29 (defconstant flags-register-offset #$REG_EFL) 29 30 (defparameter *encoded-gpr-to-indexed-gpr* … … 49 50 (progn 50 51 (defconstant gp-regs-offset (get-field-offset :ucontext_t.uc_mcontext)) 52 (defmacro xp-gp-regs (xp) xp) 51 53 (defconstant flags-register-offset 22) 52 54 (defparameter *encoded-gpr-to-indexed-gpr* … … 78 80 (:ss :x86_thread_state64_t) 79 81 (:fs :x86_float_state64_t))))) 80 (defconstant gp-regs-offset (+ (get-field-offset :ucontext64.uc_mcontext64) 81 (get-field-offset :mcontext64.ss))) 82 (defconstant gp-regs-offset 0) 83 (defmacro xp-gp-regs (xp) 84 `(pref (pref ,xp :ucontext64.uc_mcontext64) :mcontext64.ss)) 85 82 86 (defconstant flags-register-offset 17) 83 87 (defparameter *encoded-gpr-to-indexed-gpr* … … 101 105 102 106 (defun indexed-gpr-lisp (xp igpr) 103 (%get-object xp(+ gp-regs-offset (ash igpr x8664::word-shift))))107 (%get-object (xp-gp-regs xp) (+ gp-regs-offset (ash igpr x8664::word-shift)))) 104 108 (defun (setf indexed-gpr-lisp) (new xp igpr) 105 (%set-object xp(+ gp-regs-offset (ash igpr x8664::word-shift)) new))109 (%set-object (xp-gp-regs xp) (+ gp-regs-offset (ash igpr x8664::word-shift)) new)) 106 110 (defun encoded-gpr-lisp (xp gpr) 107 111 (indexed-gpr-lisp xp (aref *encoded-gpr-to-indexed-gpr* gpr))) … … 109 113 (setf (indexed-gpr-lisp xp (aref *encoded-gpr-to-indexed-gpr* gpr)) new)) 110 114 (defun indexed-gpr-integer (xp igpr) 111 (%get-signed-long-long xp(+ gp-regs-offset (ash igpr x8664::word-shift))))115 (%get-signed-long-long (xp-gp-regs xp) (+ gp-regs-offset (ash igpr x8664::word-shift)))) 112 116 (defun (setf indexed-gpr-integer) (new xp igpr) 113 117 (setf 114 (%get-signed-long-long xp(+ gp-regs-offset (ash igpr x8664::word-shift)))118 (%get-signed-long-long (xp-gp-regs xp) (+ gp-regs-offset (ash igpr x8664::word-shift))) 115 119 new)) 116 120 (defun encoded-gpr-integer (xp gpr) … … 119 123 (setf (indexed-gpr-integer xp (aref *encoded-gpr-to-indexed-gpr* gpr)) new)) 120 124 (defun indexed-gpr-macptr (xp igpr) 121 (%get-ptr xp(+ gp-regs-offset (ash igpr x8664::word-shift))))125 (%get-ptr (xp-gp-regs xp) (+ gp-regs-offset (ash igpr x8664::word-shift)))) 122 126 (defun (setf indexed-gpr-macptr) (new xp igpr) 123 (setf (%get-ptr xp(+ gp-regs-offset (ash igpr x8664::word-shift))) new))127 (setf (%get-ptr (xp-gp-regs xp) (+ gp-regs-offset (ash igpr x8664::word-shift))) new)) 124 128 (defun indexed-gpr-macptr (xp igpr) 125 (%get-ptr xp(+ gp-regs-offset (ash igpr x8664::word-shift))))129 (%get-ptr (xp-gp-regs xp) (+ gp-regs-offset (ash igpr x8664::word-shift)))) 126 130 (defun encoded-gpr-macptr (xp gpr) 127 131 (indexed-gpr-macptr xp (aref *encoded-gpr-to-indexed-gpr* gpr))) … … 129 133 (setf (indexed-gpr-macptr xp (aref *encoded-gpr-to-indexed-gpr* gpr)) new)) 130 134 (defun xp-flags-register (xp) 131 (%get-signed-long-long xp(+ gp-regs-offset (ash flags-register-offset x8664::fixnumshift))))135 (%get-signed-long-long (xp-gp-regs xp) (+ gp-regs-offset (ash flags-register-offset x8664::fixnumshift)))) 132 136 133 137
Note:
See TracChangeset
for help on using the changeset viewer.
