1.0.23.38: fix bug 430 (stack alloc by nested defstruct constructors)
[sbcl.git] / src / compiler / hppa / macros.lisp
index d3e8070..52b4e4b 100644 (file)
@@ -52,7 +52,7 @@
     (:little-endian
      `(inst ldb ,offset ,source ,target))
     (:big-endian
-     `(inst ldb (+ ,offset 3) ,source ,target))))
+     `(inst ldb (+ ,offset (1- n-word-bytes)) ,source ,target))))
 
 ;;; Macros to handle the fact that we cannot use the machine native call and
 ;;; return instructions.
@@ -80,7 +80,7 @@
   "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."
            (move value result))))))
 
 
-(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