1.0.24: release, will be tagged as sbcl_1_0_24
[sbcl.git] / src / compiler / sparc / macros.lisp
index bc8149e..5136a42 100644 (file)
@@ -70,7 +70,7 @@
       (:little-endian
        `(inst ldub ,n-target ,n-source ,n-offset))
       (:big-endian
-       `(inst ldub ,n-target ,n-source (+ ,n-offset 3))))))
+       `(inst ldub ,n-target ,n-source (+ ,n-offset (1- n-word-bytes)))))))
 
 ;;; Macros to handle the fact that we cannot use the machine native call and
 ;;; return instructions.
@@ -94,7 +94,7 @@
 (defmacro emit-return-pc (label)
   "Emit a return-pc header word.  LABEL is the label to use for this return-pc."
   `(progn
-     (align n-lowtag-bits)
+     (emit-alignment n-lowtag-bits)
      (emit-label ,label)
      (inst lra-header-word)))
 
           (inst byte (length ,vector))
           (dotimes (i (length ,vector))
             (inst byte (aref ,vector i))))
-        (align word-shift)))))
+        (emit-alignment word-shift)))))
 
 (defmacro error-call (vop error-code &rest values)
   "Cause an error.  ERROR-CODE is the error to cause."
         (inst t :ne pseudo-atomic-trap)))))
 
 
-(defmacro sb!sys::with-pinned-objects ((&rest objects) &body body)
+(def!macro with-pinned-objects ((&rest objects) &body body)
   "Arrange with the garbage collector that the pages occupied by
 OBJECTS will not be moved in memory for the duration of BODY.
 Useful for e.g. foreign calls where another thread may trigger