projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
1.0.9.45: cleaner & thread-safe pv-table interning
[sbcl.git]
/
src
/
code
/
array.lisp
diff --git
a/src/code/array.lisp
b/src/code/array.lisp
index
65927a1
..
817bdb7
100644
(file)
--- a/
src/code/array.lisp
+++ b/
src/code/array.lisp
@@
-337,11
+337,7
@@
of specialized arrays is supported."
(:little-endian
(- sb!vm:other-pointer-lowtag))
(:big-endian
(:little-endian
(- sb!vm:other-pointer-lowtag))
(:big-endian
- ;; I'm not completely sure of what this
- ;; 3 represents symbolically. It's
- ;; just what all the LOAD-TYPE vops
- ;; are doing.
- (- 3 sb!vm:other-pointer-lowtag)))))
+ (- (1- sb!vm:n-word-bytes) sb!vm:other-pointer-lowtag)))))
;; WIDETAG-OF needs extra code to handle
;; LIST and FUNCTION lowtags. We're only
;; dispatching on other pointers, so let's
;; WIDETAG-OF needs extra code to handle
;; LIST and FUNCTION lowtags. We're only
;; dispatching on other pointers, so let's
@@
-444,7
+440,7
@@
of specialized arrays is supported."
,@(loop for widetag in '(sb!vm:complex-vector-widetag
sb!vm:complex-vector-nil-widetag
sb!vm:complex-bit-vector-widetag
,@(loop for widetag in '(sb!vm:complex-vector-widetag
sb!vm:complex-vector-nil-widetag
sb!vm:complex-bit-vector-widetag
- sb!vm:complex-character-string-widetag
+ #!+sb-unicode sb!vm:complex-character-string-widetag
sb!vm:complex-base-string-widetag
sb!vm:simple-array-widetag
sb!vm:complex-array-widetag)
sb!vm:complex-base-string-widetag
sb!vm:simple-array-widetag
sb!vm:complex-array-widetag)
@@
-473,6
+469,9
@@
of specialized arrays is supported."
(defun data-vector-ref (array index)
(hairy-data-vector-ref array index))
(defun data-vector-ref (array index)
(hairy-data-vector-ref array index))
+(defun data-vector-ref-with-offset (array index offset)
+ (hairy-data-vector-ref array (+ index offset)))
+
;;; SUBSCRIPTS has a dynamic-extent list structure and is destroyed
(defun %array-row-major-index (array subscripts
&optional (invalid-index-error-p t))
;;; SUBSCRIPTS has a dynamic-extent list structure and is destroyed
(defun %array-row-major-index (array subscripts
&optional (invalid-index-error-p t))