Let OFFSET-CONFLICTS-IN-SB check multiple offsets at a time
[sbcl.git] / src / compiler / ppc / insts.lisp
index 4bbf5f4..cdb9f5a 100644 (file)
@@ -42,7 +42,7 @@
 
 (defvar *disassem-use-lisp-reg-names* t)
 
-(!def-vm-support-routine location-number (loc)
+(defun location-number (loc)
   (etypecase loc
     (null)
     (number)
       (#.fun-end-breakpoint-trap
        (nt "Function end breakpoint trap"))
       (#.object-not-instance-trap
-       (nt "Object not instance trap"))
-    )))
+       (nt "Object not instance trap")))))
 
 (eval-when (:compile-toplevel :execute)
 
                     (when (typep si 'fixup)
                       (ecase ,fixup
                         ((:ha :l) (note-fixup segment ,fixup si)))
-                      (setq si 0))
+                      (setq si (or (fixup-offset si) 0)))
                     (emit-d-form-inst segment ,op (reg-tn-encoding rt) (reg-tn-encoding ra) si)))))
 
            (define-d-rs-ui-instruction (name op &key (cost 1) other-dependencies)
     `(inst nor. ,ra ,rs ,rs))
 
 
-  (!def-vm-support-routine emit-nop (segment)
+  (defun emit-nop (segment)
                            (emit-word segment #x60000000))
 
   (define-instruction-macro extlwi (ra rs n b)