Remove duplicate implementations of (setf aref/sbit/bit).
[sbcl.git] / src / code / sc-offset.lisp
index 001367c..0f20089 100644 (file)
 ;;;; We represent the place where some value is stored with a SC-OFFSET,
 ;;;; which is the SC number and offset encoded as an integer.
 
-(defconstant-eqx sc-offset-scn-byte (byte 5 0) #'equalp)
-(defconstant-eqx sc-offset-offset-byte (byte 22 5) #'equalp)
+;;;; FIXME: this layout is hardcoded in some .S files,
+;;;; undefined_tramp in at least ppc-assem.S and mips-assem.S uses it.
+;;;; Ideally, it shouldn't be hardcoded.
+(defconstant-eqx sc-offset-scn-byte (byte 6 0) #'equalp)
+(defconstant-eqx sc-offset-offset-byte (byte 21 6) #'equalp)
 (def!type sc-offset () '(unsigned-byte 27))
 
 (defmacro make-sc-offset (scn offset)
   `(dpb ,scn sc-offset-scn-byte
-       (dpb ,offset sc-offset-offset-byte 0)))
+        (dpb ,offset sc-offset-offset-byte 0)))
 
 (defmacro sc-offset-scn (sco) `(ldb sc-offset-scn-byte ,sco))
 (defmacro sc-offset-offset (sco) `(ldb sc-offset-offset-byte ,sco))