projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
0.9.0.25:
[sbcl.git]
/
src
/
code
/
ppc-vm.lisp
diff --git
a/src/code/ppc-vm.lisp
b/src/code/ppc-vm.lisp
index
627599e
..
79ddf31
100644
(file)
--- a/
src/code/ppc-vm.lisp
+++ b/
src/code/ppc-vm.lisp
@@
-86,6
+86,13
@@
(declare (type (alien (* os-context-t)) context))
(deref (context-register-addr context index)))
(declare (type (alien (* os-context-t)) context))
(deref (context-register-addr context index)))
+(define-alien-routine ("os_context_lr_addr" context-lr-addr) (* unsigned-long)
+ (context (* os-context-t)))
+
+(defun context-lr (context)
+ (declare (type (alien (* os-context-t)) context))
+ (int-sap (deref (context-lr-addr context))))
+
(defun %set-context-register (context index new)
(declare (type (alien (* os-context-t)) context))
(setf (deref (context-register-addr context index))
(defun %set-context-register (context index new)
(declare (type (alien (* os-context-t)) context))
(setf (deref (context-register-addr context index))
@@
-162,10
+169,7
@@
(declare (type system-area-pointer pc)
(type (unsigned-byte 8) length)
(type (simple-array (unsigned-byte 8) (*)) vector))
(declare (type system-area-pointer pc)
(type (unsigned-byte 8) length)
(type (simple-array (unsigned-byte 8) (*)) vector))
- (copy-from-system-area pc (* sb!vm:n-byte-bits 5)
- vector (* sb!vm:n-word-bits
- sb!vm:vector-data-offset)
- (* length sb!vm:n-byte-bits))
+ (copy-ub8-from-system-area pc 5 vector 0 length)
(let* ((index 0)
(error-number (sb!c:read-var-integer vector index)))
(collect ((sc-offsets))
(let* ((index 0)
(error-number (sb!c:read-var-integer vector index)))
(collect ((sc-offsets))