X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Falpha%2Farray.lisp;h=07a862250147b907d25cf8c31ef1f7e467d93249;hb=c5d49a98212cf02fbfd0dd7f58a6177142c1c4a9;hp=2f6404cfca5b973be2c00c30c67bcd42df6d0aee;hpb=8823bb36153336539b7f1f541fbdc5c7717ebb19;p=sbcl.git diff --git a/src/compiler/alpha/array.lisp b/src/compiler/alpha/array.lisp index 2f6404c..07a8622 100644 --- a/src/compiler/alpha/array.lisp +++ b/src/compiler/alpha/array.lisp @@ -22,7 +22,7 @@ (:temporary (:scs (non-descriptor-reg)) header) (:results (result :scs (descriptor-reg))) (:generator 13 - (inst addq rank (+ (* array-dimensions-offset n-word-bytes) + (inst addq rank (+ (* (1+ array-dimensions-offset) n-word-bytes) lowtag-mask) bytes) (inst li (lognot lowtag-mask) header) @@ -528,10 +528,6 @@ ;;; These vops are useful for accessing the bits of a vector irrespective of ;;; what type of vector it is. ;;; -(define-full-reffer raw-bits * 0 other-pointer-lowtag (unsigned-reg) unsigned-num - %raw-bits) -(define-full-setter set-raw-bits * 0 other-pointer-lowtag (unsigned-reg) - unsigned-num %set-raw-bits) (define-full-reffer vector-raw-bits * vector-data-offset other-pointer-lowtag (unsigned-reg) unsigned-num %vector-raw-bits) (define-full-setter set-vector-raw-bits * vector-data-offset other-pointer-lowtag