X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fassembly%2Falpha%2Farray.lisp;h=b67466a1307007d983559ce4af071f5551b47920;hb=df679ed627975948b1cee190f4d79c397588c43e;hp=f6f2a70927f215deeaffee072bf021f412b41e99;hpb=63fcb94b875a97e468d9add229e220ecceec2352;p=sbcl.git diff --git a/src/assembly/alpha/array.lisp b/src/assembly/alpha/array.lisp index f6f2a70..b67466a 100644 --- a/src/assembly/alpha/array.lisp +++ b/src/assembly/alpha/array.lisp @@ -26,18 +26,18 @@ (:temp ndescr non-descriptor-reg nl0-offset)) ;; This is kinda sleezy, changing words like this. But we can because ;; the vop thinks it is temporary. - (inst addq words (+ (1- (ash 1 lowtag-bits)) - (* vector-data-offset word-bytes)) + (inst addq words (+ (1- (ash 1 n-lowtag-bits)) + (* vector-data-offset n-word-bytes)) words) (inst li (lognot lowtag-mask) ndescr) (inst and words ndescr words) (inst srl type word-shift ndescr) (pseudo-atomic () - (inst bis alloc-tn other-pointer-type result) + (inst bis alloc-tn other-pointer-lowtag result) (inst addq alloc-tn words alloc-tn) - (storew ndescr result 0 other-pointer-type) - (storew length result vector-length-slot other-pointer-type))) + (storew ndescr result 0 other-pointer-lowtag) + (storew length result vector-length-slot other-pointer-lowtag))) ;;;; hash primitives #| @@ -61,7 +61,7 @@ (progn result lip accum data byte retaddr) (inst li (make-fixup 'sxhash-simple-substring :assembly-routine) temp1) - (loadw length string vector-length-slot other-pointer-type) + (loadw length string vector-length-slot other-pointer-lowtag) (inst jmp zero-tn temp1 (make-fixup 'sxhash-simple-substring :assembly-routine))) @@ -85,7 +85,7 @@ ;; Get a pointer to the data. (inst addq string - (- (* vector-data-offset word-bytes) other-pointer-type) + (- (* vector-data-offset n-word-bytes) other-pointer-lowtag) lip) (move zero-tn accum) (inst br zero-tn test)