0.9.0.25:
[sbcl.git] / src / code / ppc-vm.lisp
index 627599e..79ddf31 100644 (file)
   (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))
     (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))