mirror of
git://git.code.sf.net/p/sbcl/sbcl
synced 2026-09-09 23:16:41 -04:00
Remove "simd-copy-" prefixes from functions
This commit is contained in:
parent
fdd4aeb23c
commit
cead2bb637
|
|
@ -524,7 +524,7 @@
|
|||
(inst cmp tmp-tn 127)
|
||||
(inst b :hi not-ascii-label))))
|
||||
|
||||
(defun simd-copy-utf8-to-character-string (start end string ibuf)
|
||||
(defun utf8-to-character-string (start end string ibuf)
|
||||
(declare (type index start end)
|
||||
(optimize speed (safety 0)))
|
||||
(with-pinned-objects-in-registers (string)
|
||||
|
|
@ -585,7 +585,7 @@
|
|||
(+ start copied))))
|
||||
|
||||
#+sb-unicode
|
||||
(defun simd-copy-ascii-sap-to-character-string (sap string length)
|
||||
(defun ascii-sap-to-character-string (sap string length)
|
||||
(declare (optimize speed (safety 0))
|
||||
(system-area-pointer sap)
|
||||
(index length))
|
||||
|
|
@ -630,7 +630,7 @@
|
|||
do (setf (aref string i)
|
||||
(code-char (sap-ref-8 sap i))))))
|
||||
|
||||
(defun simd-copy-character-string-to-ascii-byte-array (byte-array string length)
|
||||
(defun character-string-to-ascii-byte-array (byte-array string length)
|
||||
(declare (index length)
|
||||
(simple-character-string string)
|
||||
((simple-array (unsigned-byte 8) (*)) byte-array)
|
||||
|
|
@ -681,7 +681,7 @@
|
|||
DONE))
|
||||
byte-array)
|
||||
|
||||
(defun simd-copy-utf8-to-base-string (start end string ibuf)
|
||||
(defun utf8-to-base-string (start end string ibuf)
|
||||
(declare (type index start end)
|
||||
(optimize speed (safety 0)))
|
||||
(with-pinned-objects-in-registers (string)
|
||||
|
|
@ -729,7 +729,7 @@
|
|||
do (setf result (logior (ash result size) ub)))
|
||||
result)))
|
||||
|
||||
(defun simd-copy-utf8-crlf-to-base-string (start end string ibuf)
|
||||
(defun utf8-crlf-to-base-string (start end string ibuf)
|
||||
(declare (type index start end)
|
||||
(optimize speed (safety 0)))
|
||||
(let* ((head (sb-impl::buffer-head ibuf))
|
||||
|
|
@ -856,7 +856,7 @@
|
|||
(setf (sb-impl::buffer-head ibuf) new-head)
|
||||
(truly-the index (+ start copied)))))))
|
||||
|
||||
(defun simd-copy-utf8-crlf-to-character-string (start end string ibuf)
|
||||
(defun utf8-crlf-to-character-string (start end string ibuf)
|
||||
(declare (type index start end)
|
||||
(optimize speed (safety 0)))
|
||||
(let* ((head (sb-impl::buffer-head ibuf))
|
||||
|
|
@ -993,7 +993,7 @@
|
|||
(setf (sb-impl::buffer-head ibuf) new-head)
|
||||
(truly-the index (+ start (ash copied -2))))))))
|
||||
|
||||
(defun simd-copy-character-string-to-utf8 (start end string obuf)
|
||||
(defun character-string-to-utf8 (start end string obuf)
|
||||
(declare (type index start end)
|
||||
(optimize speed (safety 0)))
|
||||
(with-pinned-objects-in-registers (string)
|
||||
|
|
@ -1357,7 +1357,7 @@
|
|||
(inst lsr res found-bits 1)
|
||||
DONE)))
|
||||
|
||||
(defun simd-utf8-strlen (sap)
|
||||
(defun utf8-strlen (sap)
|
||||
(declare (system-area-pointer sap)
|
||||
(optimize speed (safety 0)))
|
||||
(inline-vop
|
||||
|
|
@ -1402,7 +1402,7 @@
|
|||
|
||||
(inst tbnz tmp 5 full)
|
||||
|
||||
;;; 1/2 bytes
|
||||
;;; 1/2 bytes
|
||||
|
||||
;; Identify continuations
|
||||
(inst cmgt tmp3 c-c0 current :16b)
|
||||
|
|
@ -1584,7 +1584,7 @@
|
|||
(inst lsl char-length tmp-tn n-fixnum-tag-bits)
|
||||
DONE))))
|
||||
|
||||
(defun sb-impl::simd-character-string-utf8-length (string)
|
||||
(defun sb-impl::character-string-utf8-length (string)
|
||||
(declare (optimize speed (safety 0)))
|
||||
(with-pinned-objects-in-registers (string)
|
||||
(inline-vop
|
||||
|
|
@ -1682,7 +1682,7 @@
|
|||
(inst add res length (lsl tmp n-fixnum-tag-bits))
|
||||
DONE)))
|
||||
|
||||
(defun simd-copy-utf8-sap-to-character-string (sap string byte-array-length)
|
||||
(defun utf8-sap-to-character-string (sap string byte-array-length)
|
||||
(declare (index byte-array-length)
|
||||
(system-area-pointer sap)
|
||||
(simple-character-string string)
|
||||
|
|
@ -1963,7 +1963,7 @@
|
|||
(incf byte-index 4))))
|
||||
(incf char-index))))))
|
||||
|
||||
(defun simd-copy-character-string-to-utf8-byte-array (byte-array string byte-array-length)
|
||||
(defun character-string-to-utf8-byte-array (byte-array string byte-array-length)
|
||||
(declare (index byte-array-length)
|
||||
(simple-character-string string)
|
||||
((simple-array (unsigned-byte 8) (*)) byte-array)
|
||||
|
|
|
|||
|
|
@ -618,8 +618,8 @@
|
|||
(def :crlf define-utf8-string/crlf utf8->string/crlf bytes-per-utf8-character/crlf simple-get-utf8-char/crlf))
|
||||
|
||||
#+(and sb-unicode 64-bit little-endian
|
||||
(not (or arm64 x86-64))) ;; have true simd definitions
|
||||
(defun sb-vm::simd-copy-utf8-to-character-string (start end string ibuf)
|
||||
(not (or arm64 x86-64))) ;; have simd definitions
|
||||
(defun sb-vm::utf8-to-character-string (start end string ibuf)
|
||||
(declare (type index start end)
|
||||
(optimize speed (safety 0)))
|
||||
(with-pinned-objects (string)
|
||||
|
|
@ -665,7 +665,7 @@
|
|||
|
||||
;;; No validations
|
||||
#+(and sb-unicode 64-bit little-endian (not (or arm64 x86-64)))
|
||||
(defun sb-vm::simd-copy-ascii-sap-to-character-string (sap string length)
|
||||
(defun sb-vm::ascii-sap-to-character-string (sap string length)
|
||||
(declare (index length)
|
||||
(simple-character-string string)
|
||||
(optimize speed (safety 0)))
|
||||
|
|
@ -699,7 +699,7 @@
|
|||
(code-char (sap-ref-8 sap i)))))))
|
||||
|
||||
#-(and sb-unicode 64-bit little-endian)
|
||||
(defun sb-vm::simd-copy-ascii-sap-to-character-string (sap string length)
|
||||
(defun sb-vm::ascii-sap-to-character-string (sap string length)
|
||||
(declare (index length)
|
||||
(simple-character-string string)
|
||||
(optimize speed (safety 0)))
|
||||
|
|
@ -707,7 +707,7 @@
|
|||
do (setf (aref string i) (code-char (sap-ref-8 sap i)))))
|
||||
|
||||
#+(and sb-unicode 64-bit little-endian)
|
||||
(defun sb-vm::simd-copy-utf8-crlf-to-character-string-with-size (start end string ibuf size-buffer)
|
||||
(defun sb-vm::utf8-crlf-to-character-string-with-size (start end string ibuf size-buffer)
|
||||
(declare (type index start end)
|
||||
(optimize speed (safety 0)))
|
||||
(with-pinned-objects (string size-buffer)
|
||||
|
|
@ -757,8 +757,8 @@
|
|||
size-offset)))
|
||||
|
||||
#+(and sb-unicode 64-bit little-endian
|
||||
(not (or arm64 x86-64))) ;; have true simd definitions
|
||||
(defun sb-vm::simd-copy-utf8-to-base-string (start end string ibuf)
|
||||
(not (or arm64 x86-64))) ;; have simd definitions
|
||||
(defun sb-vm::utf8-to-base-string (start end string ibuf)
|
||||
(declare (type index start end)
|
||||
(optimize speed (safety 0)))
|
||||
(with-pinned-objects (string)
|
||||
|
|
@ -900,9 +900,9 @@
|
|||
(do ()
|
||||
(())
|
||||
#+(and sb-unicode 64-bit little-endian)
|
||||
(let ((new-index (sb-vm::simd-copy-utf8-to-character-string index end string (fd-stream-ibuf stream))))
|
||||
(let ((new-index (sb-vm::utf8-to-character-string index end string (fd-stream-ibuf stream))))
|
||||
;; Make sure to change this 1 whenever
|
||||
;; simd-copy-utf8-to-character-string starts processing more than
|
||||
;; utf8-to-character-string starts processing more than
|
||||
;; just ascii characters.
|
||||
(fill size-buffer 1 :start index :end new-index)
|
||||
(setf index new-index))
|
||||
|
|
@ -945,7 +945,7 @@
|
|||
(())
|
||||
#+(and sb-unicode 64-bit little-endian)
|
||||
(setf index
|
||||
(sb-vm::simd-copy-utf8-crlf-to-character-string-with-size index end string (fd-stream-ibuf stream) size-buffer))
|
||||
(sb-vm::utf8-crlf-to-character-string-with-size index end string (fd-stream-ibuf stream) size-buffer))
|
||||
(let* ((ibuf (fd-stream-ibuf stream))
|
||||
(head (buffer-head ibuf))
|
||||
(tail (buffer-tail ibuf))
|
||||
|
|
@ -1009,26 +1009,26 @@
|
|||
(go loop)))))
|
||||
(def fd-stream-read-sequence/utf-8-to-string
|
||||
(simple-array character (*))
|
||||
sb-vm::simd-copy-utf8-to-character-string
|
||||
sb-vm::utf8-to-character-string
|
||||
:lf)
|
||||
#+sb-unicode
|
||||
(def fd-stream-read-sequence/utf-8-to-base-string
|
||||
simple-base-string
|
||||
sb-vm::simd-copy-utf8-to-base-string
|
||||
sb-vm::utf8-to-base-string
|
||||
:lf)
|
||||
(def fd-stream-read-sequence/utf-8-crlf-to-character-string
|
||||
(simple-array character (*))
|
||||
sb-vm::simd-copy-utf8-crlf-to-character-string
|
||||
sb-vm::utf8-crlf-to-character-string
|
||||
:crlf)
|
||||
#+sb-unicode
|
||||
(def fd-stream-read-sequence/utf-8-crlf-to-base-string
|
||||
simple-base-string
|
||||
sb-vm::simd-copy-utf8-crlf-to-base-string
|
||||
sb-vm::utf8-crlf-to-base-string
|
||||
:crlf))
|
||||
|
||||
#+(and sb-unicode 64-bit little-endian
|
||||
(not (or arm64 x86-64)))
|
||||
(defun sb-vm::simd-copy-character-string-to-utf8 (start end string obuf)
|
||||
(defun sb-vm::character-string-to-utf8 (start end string obuf)
|
||||
(declare (type index start end)
|
||||
(optimize speed (safety 0)))
|
||||
(with-pinned-objects (string)
|
||||
|
|
@ -1081,7 +1081,7 @@
|
|||
(when (and (typep string '(simple-array character (*)))
|
||||
(>= (- end start) 16))
|
||||
(multiple-value-bind (new-start newline)
|
||||
(truly-the (values index fixnum &optional) (sb-vm::simd-copy-character-string-to-utf8 start end string obuf))
|
||||
(truly-the (values index fixnum &optional) (sb-vm::character-string-to-utf8 start end string obuf))
|
||||
(setf start new-start)
|
||||
(when (>= newline 0)
|
||||
(setf last-newline newline))))
|
||||
|
|
@ -1350,8 +1350,8 @@
|
|||
:handle-size nil)
|
||||
|
||||
#+(and sb-unicode 64-bit little-endian
|
||||
(not arm64)) ;; have true simd definitions or might be redefined with def-variant
|
||||
(defun sb-vm::simd-copy-utf8-crlf-to-base-string (start end string ibuf)
|
||||
(not arm64)) ;; have simd definitions or might be redefined with def-variant
|
||||
(defun sb-vm::utf8-crlf-to-base-string (start end string ibuf)
|
||||
(declare (type index start end)
|
||||
(optimize speed (safety 0)))
|
||||
(with-pinned-objects (string)
|
||||
|
|
@ -1390,8 +1390,8 @@
|
|||
(truly-the index string-offset))))
|
||||
|
||||
#+(and sb-unicode 64-bit little-endian
|
||||
(not arm64)) ;; have true simd definitions or might be redefined with def-variant
|
||||
(defun sb-vm::simd-copy-utf8-crlf-to-character-string (start end string ibuf)
|
||||
(not arm64)) ;; have simd definitions or might be redefined with def-variant
|
||||
(defun sb-vm::utf8-crlf-to-character-string (start end string ibuf)
|
||||
(declare (type index start end)
|
||||
(optimize speed (safety 0)))
|
||||
(with-pinned-objects (string)
|
||||
|
|
@ -1506,7 +1506,7 @@
|
|||
(zerop (rem (sap-int sap) sb-vm:n-word-bytes)))
|
||||
|
||||
#-arm64
|
||||
(defun sb-vm::simd-utf8-strlen (sap)
|
||||
(defun sb-vm::utf8-strlen (sap)
|
||||
(declare (type system-area-pointer sap)
|
||||
(optimize speed (safety 0)))
|
||||
(macrolet ((return-if-not-cont (x)
|
||||
|
|
@ -1525,7 +1525,7 @@
|
|||
(let ((b0 (sap-ref-8 sap index)))
|
||||
(cond ((< b0 #x80)
|
||||
(when (zerop b0)
|
||||
(return-from sb-vm::simd-utf8-strlen (values index index t)))
|
||||
(return-from sb-vm::utf8-strlen (values index index t)))
|
||||
(incf index 1))
|
||||
(t
|
||||
(return)))))
|
||||
|
|
@ -1578,7 +1578,7 @@
|
|||
(read-from-c-string/utf-8/lf sap element-type))
|
||||
|
||||
#-arm64
|
||||
(defun sb-vm::simd-copy-utf8-sap-to-character-string (sap string byte-length)
|
||||
(defun sb-vm::utf8-sap-to-character-string (sap string byte-length)
|
||||
(declare (optimize speed (safety 0))
|
||||
(type system-area-pointer sap)
|
||||
(type index byte-length)
|
||||
|
|
@ -1619,7 +1619,7 @@
|
|||
(defun read-from-c-string/utf-8/lf (sap element-type)
|
||||
(declare (type system-area-pointer sap)
|
||||
(optimize (speed 3) (safety 0)))
|
||||
(multiple-value-bind (char-length byte-length all-ascii) (sb-vm::simd-utf8-strlen sap)
|
||||
(multiple-value-bind (char-length byte-length all-ascii) (sb-vm::utf8-strlen sap)
|
||||
(unless char-length
|
||||
(find-bad-utf8 sap))
|
||||
(let ((string
|
||||
|
|
@ -1629,11 +1629,11 @@
|
|||
(t (make-string char-length :element-type element-type)))))
|
||||
(if all-ascii
|
||||
(cond ((typep string '(array character))
|
||||
(sb-vm::simd-copy-ascii-sap-to-character-string sap string char-length))
|
||||
(sb-vm::ascii-sap-to-character-string sap string char-length))
|
||||
(t
|
||||
(with-pinned-objects (string)
|
||||
(sb-impl::memcpy (vector-sap string) sap char-length))))
|
||||
(sb-vm::simd-copy-utf8-sap-to-character-string sap string byte-length))
|
||||
(sb-vm::utf8-sap-to-character-string sap string byte-length))
|
||||
string)))
|
||||
|
||||
(declaim (ftype (sfunction ((simple-array character (*))) nil)
|
||||
|
|
@ -1647,9 +1647,9 @@
|
|||
(error "~s modified while validating UTF-8" string))
|
||||
|
||||
(declaim (ftype (sfunction ((simple-array character (*))) (values (or null index) t))
|
||||
simd-character-string-utf8-length))
|
||||
character-string-utf8-length))
|
||||
#-arm64
|
||||
(defun simd-character-string-utf8-length (string)
|
||||
(defun character-string-utf8-length (string)
|
||||
(let* ((string-length (length string))
|
||||
(index 0))
|
||||
(declare (index index))
|
||||
|
|
@ -1663,7 +1663,7 @@
|
|||
(declare (index index))
|
||||
;; ASCII-only
|
||||
(loop when (>= index string-length)
|
||||
do (return-from simd-character-string-utf8-length (values index t))
|
||||
do (return-from character-string-utf8-length (values index t))
|
||||
until (> (char-code (char string index)) 127)
|
||||
do (incf index))
|
||||
(let ((length index))
|
||||
|
|
@ -1676,14 +1676,14 @@
|
|||
((< bits 2048) 2)
|
||||
((< bits 65536)
|
||||
(when (<= #xd800 bits #xdfff)
|
||||
(return-from simd-character-string-utf8-length (values nil nil)))
|
||||
(return-from character-string-utf8-length (values nil nil)))
|
||||
3)
|
||||
(t 4)))
|
||||
(incf index)))
|
||||
(values length nil)))))
|
||||
|
||||
#-arm64
|
||||
(defun sb-vm::simd-copy-character-string-to-ascii-byte-array (byte-array string length)
|
||||
(defun sb-vm::character-string-to-ascii-byte-array (byte-array string length)
|
||||
(declare (index length)
|
||||
(simple-character-string string)
|
||||
((simple-array (unsigned-byte 8) (*)) byte-array)
|
||||
|
|
@ -1711,7 +1711,7 @@
|
|||
(logand (char-code (aref string i)) #xFF)))))
|
||||
|
||||
#-little-endian
|
||||
(defun sb-vm::simd-copy-character-string-to-utf8-byte-array (byte-array string length)
|
||||
(defun sb-vm::character-string-to-utf8-byte-array (byte-array string length)
|
||||
(declare ((simple-array character (*)) string)
|
||||
((simple-array (unsigned-byte 8) (*)) byte-array)
|
||||
(optimize speed (safety 0)))
|
||||
|
|
@ -1742,7 +1742,7 @@
|
|||
(incf index 4)))))))
|
||||
|
||||
#+(and little-endian (not arm64))
|
||||
(defun sb-vm::simd-copy-character-string-to-utf8-byte-array (byte-array string length)
|
||||
(defun sb-vm::character-string-to-utf8-byte-array (byte-array string length)
|
||||
(declare ((simple-array character (*)) string)
|
||||
((simple-array (unsigned-byte 8) (*)) byte-array)
|
||||
(optimize speed (safety 0)))
|
||||
|
|
@ -1791,12 +1791,12 @@
|
|||
(optimize speed (safety 0)))
|
||||
(cond ((base-string-p string) string)
|
||||
(t
|
||||
(multiple-value-bind (buffer-length ascii-only) (simd-character-string-utf8-length string)
|
||||
(multiple-value-bind (buffer-length ascii-only) (character-string-utf8-length string)
|
||||
(unless buffer-length
|
||||
(check-utf8-encoding string))
|
||||
(let ((buffer (make-array (1+ buffer-length) :element-type '(unsigned-byte 8)
|
||||
:initial-element 0)))
|
||||
(if ascii-only
|
||||
(sb-vm::simd-copy-character-string-to-ascii-byte-array buffer string buffer-length)
|
||||
(sb-vm::simd-copy-character-string-to-utf8-byte-array buffer string buffer-length))
|
||||
(sb-vm::character-string-to-ascii-byte-array buffer string buffer-length)
|
||||
(sb-vm::character-string-to-utf8-byte-array buffer string buffer-length))
|
||||
buffer)))))
|
||||
|
|
|
|||
|
|
@ -40,4 +40,4 @@
|
|||
(sb-c::no-verify-arg-count))
|
||||
|
||||
(declaim (ftype (sfunction ((simple-array character (*))) (values (or null index) t))
|
||||
sb-impl::simd-character-string-utf8-length))
|
||||
sb-impl::character-string-utf8-length))
|
||||
|
|
|
|||
|
|
@ -642,7 +642,7 @@
|
|||
DONE)))
|
||||
|
||||
#+sb-unicode
|
||||
(defun simd-copy-utf8-to-character-string (start end string ibuf)
|
||||
(defun utf8-to-character-string (start end string ibuf)
|
||||
(declare (type index start end)
|
||||
(optimize speed (safety 0)))
|
||||
(with-pinned-objects (string)
|
||||
|
|
@ -729,7 +729,7 @@
|
|||
(+ start copied))))
|
||||
|
||||
#+sb-unicode
|
||||
(defun simd-copy-ascii-sap-to-character-string (sap string length)
|
||||
(defun ascii-sap-to-character-string (sap string length)
|
||||
(declare (optimize speed (safety 0))
|
||||
(system-area-pointer sap)
|
||||
(index length))
|
||||
|
|
@ -803,7 +803,7 @@
|
|||
do (setf (aref string i)
|
||||
(code-char (sap-ref-8 sap i))))))
|
||||
|
||||
(def-variant simd-copy-character-string-to-ascii-byte-array :avx2 (byte-array string length)
|
||||
(def-variant character-string-to-ascii-byte-array :avx2 (byte-array string length)
|
||||
(declare (index length)
|
||||
(simple-character-string string)
|
||||
((simple-array (unsigned-byte 8) (*)) byte-array)
|
||||
|
|
@ -858,7 +858,7 @@
|
|||
(inst vzeroupper))))
|
||||
|
||||
#+sb-unicode
|
||||
(defun simd-copy-utf8-to-base-string (start end string ibuf)
|
||||
(defun utf8-to-base-string (start end string ibuf)
|
||||
(declare (type index start end)
|
||||
(optimize speed (safety 0)))
|
||||
(with-pinned-objects (string)
|
||||
|
|
@ -904,7 +904,7 @@
|
|||
(+ start copied))))
|
||||
|
||||
#+sb-unicode
|
||||
(def-variant simd-copy-utf8-crlf-to-base-string :ssse3+popcnt (start end string ibuf)
|
||||
(def-variant utf8-crlf-to-base-string :ssse3+popcnt (start end string ibuf)
|
||||
(declare (type index start end)
|
||||
(optimize speed (safety 0)))
|
||||
(let* ((head (sb-impl::buffer-head ibuf))
|
||||
|
|
@ -1015,7 +1015,7 @@
|
|||
(truly-the index (+ start copied)))))))
|
||||
|
||||
#+sb-unicode
|
||||
(def-variant simd-copy-utf8-crlf-to-character-string :ssse3+popcnt (start end string ibuf)
|
||||
(def-variant utf8-crlf-to-character-string :ssse3+popcnt (start end string ibuf)
|
||||
(declare (type index start end)
|
||||
(optimize speed (safety 0)))
|
||||
(let* ((head (sb-impl::buffer-head ibuf))
|
||||
|
|
@ -1153,7 +1153,7 @@
|
|||
(setf (sb-impl::buffer-head ibuf) new-head)
|
||||
(truly-the index (+ start (truncate copied 4))))))))
|
||||
|
||||
(defun simd-copy-character-string-to-utf8 (start end string obuf)
|
||||
(defun character-string-to-utf8 (start end string obuf)
|
||||
(declare (type index start end)
|
||||
(optimize speed (safety 0)))
|
||||
(with-pinned-objects (string)
|
||||
|
|
@ -1281,7 +1281,7 @@
|
|||
(truly-the index (+ start last-newline))
|
||||
-1))))))
|
||||
|
||||
(def-variant simd-copy-character-string-to-utf8 :avx2 (start end string obuf)
|
||||
(def-variant character-string-to-utf8 :avx2 (start end string obuf)
|
||||
(declare (type index start end)
|
||||
(optimize speed (safety 0)))
|
||||
(with-pinned-objects (string)
|
||||
|
|
@ -1928,7 +1928,7 @@
|
|||
(inst shr res 1)
|
||||
DONE)))
|
||||
|
||||
(def-variant simd-utf8-strlen :avx2 (sap)
|
||||
(def-variant utf8-strlen :avx2 (sap)
|
||||
(declare (system-area-pointer sap)
|
||||
(optimize speed (safety 0)))
|
||||
(inline-vop
|
||||
|
|
@ -2197,7 +2197,7 @@
|
|||
DONE
|
||||
(inst vzeroupper)))))
|
||||
|
||||
(def-variant sb-impl::simd-character-string-utf8-length :avx2 (string)
|
||||
(def-variant sb-impl::character-string-utf8-length :avx2 (string)
|
||||
(with-pinned-objects (string)
|
||||
(inline-vop
|
||||
(((ptr sap-reg t) (vector-sap string))
|
||||
|
|
@ -2308,7 +2308,7 @@
|
|||
|
||||
DONE)))
|
||||
|
||||
(def-variant simd-copy-utf8-sap-to-character-string :avx2 (sap string byte-array-length)
|
||||
(def-variant utf8-sap-to-character-string :avx2 (sap string byte-array-length)
|
||||
(declare (index byte-array-length)
|
||||
(system-area-pointer sap)
|
||||
(simple-character-string string)
|
||||
|
|
@ -2592,7 +2592,7 @@
|
|||
(incf byte-index 4))))
|
||||
(incf char-index))))))
|
||||
|
||||
(def-variant simd-copy-character-string-to-utf8-byte-array :avx2 (byte-array string byte-array-length)
|
||||
(def-variant character-string-to-utf8-byte-array :avx2 (byte-array string byte-array-length)
|
||||
(declare (index byte-array-length)
|
||||
(simple-character-string string)
|
||||
((simple-array (unsigned-byte 8) (*)) byte-array)
|
||||
|
|
|
|||
|
|
@ -2614,11 +2614,11 @@
|
|||
(defknown sb-impl::read-from-c-string/utf-8/lf (system-area-pointer t) simple-string
|
||||
(movable flushable fixed-args))
|
||||
|
||||
(defknown sb-vm::simd-utf8-strlen (system-area-pointer) (values (or null index) index t)
|
||||
(defknown sb-vm::utf8-strlen (system-area-pointer) (values (or null index) index t)
|
||||
(movable flushable fixed-args))
|
||||
|
||||
(defknown (sb-vm::simd-copy-utf8-sap-to-character-string
|
||||
sb-vm::simd-copy-ascii-sap-to-character-string)
|
||||
(defknown (sb-vm::utf8-sap-to-character-string
|
||||
sb-vm::ascii-sap-to-character-string)
|
||||
(system-area-pointer (simple-array character (*)) index)
|
||||
t
|
||||
(movable fixed-args))
|
||||
|
|
|
|||
|
|
@ -56,9 +56,9 @@
|
|||
(let* ((length (length vector))
|
||||
(string (make-protected-array string-length 'character nil)))
|
||||
(unwind-protect
|
||||
(progn (sb-vm::simd-copy-utf8-sap-to-character-string (sb-sys:vector-sap vector)
|
||||
string
|
||||
length)
|
||||
(progn (sb-vm::utf8-sap-to-character-string (sb-sys:vector-sap vector)
|
||||
string
|
||||
length)
|
||||
(copy-seq string))
|
||||
|
||||
(free-protected-array string)))))
|
||||
|
|
@ -82,7 +82,7 @@
|
|||
string)
|
||||
|
||||
(defun strlen (bytes)
|
||||
(sb-vm::simd-utf8-strlen (sb-sys:vector-sap bytes)))
|
||||
(sb-vm::utf8-strlen (sb-sys:vector-sap bytes)))
|
||||
(compile 'strlen)
|
||||
|
||||
(with-test (:name :decode-test)
|
||||
|
|
@ -116,18 +116,18 @@
|
|||
(= strlen-bytes octet-length))
|
||||
(find #\Nul string))
|
||||
(error "(strlen ~s) => ~a, ~a /= ~a, ~a" string strlen-chars strlen-bytes length octet-length)))
|
||||
(let ((utf-length (sb-impl::simd-character-string-utf8-length string)))
|
||||
(let ((utf-length (sb-impl::character-string-utf8-length string)))
|
||||
(unless (= utf-length octet-length)
|
||||
(error "(sb-impl::simd-character-string-utf8-length ~s) => ~a /= ~a"
|
||||
(error "(sb-impl::character-string-utf8-length ~s) => ~a /= ~a"
|
||||
string utf-length octet-length))))
|
||||
(free-protected-array bytes))))))
|
||||
|
||||
(defun encode-test (string byte-length)
|
||||
(let ((byte-array (make-protected-array byte-length '(unsigned-byte 8) nil)))
|
||||
(unwind-protect
|
||||
(progn (sb-vm::simd-copy-character-string-to-utf8-byte-array byte-array
|
||||
string
|
||||
byte-length)
|
||||
(progn (sb-vm::character-string-to-utf8-byte-array byte-array
|
||||
string
|
||||
byte-length)
|
||||
(copy-seq byte-array))
|
||||
(free-protected-array byte-array))))
|
||||
|
||||
|
|
@ -150,9 +150,9 @@
|
|||
(defun encode-test.ascii (string byte-length)
|
||||
(let ((byte-array (make-protected-array byte-length '(unsigned-byte 8) nil)))
|
||||
(unwind-protect
|
||||
(progn (sb-vm::simd-copy-character-string-to-ascii-byte-array byte-array
|
||||
string
|
||||
byte-length)
|
||||
(progn (sb-vm::character-string-to-ascii-byte-array byte-array
|
||||
string
|
||||
byte-length)
|
||||
(copy-seq byte-array))
|
||||
(free-protected-array byte-array))))
|
||||
|
||||
|
|
@ -161,9 +161,9 @@
|
|||
(let* ((length (length vector))
|
||||
(string (make-protected-array string-length 'character nil)))
|
||||
(unwind-protect
|
||||
(progn (sb-vm::simd-copy-ascii-sap-to-character-string (sb-sys:vector-sap vector)
|
||||
string
|
||||
length)
|
||||
(progn (sb-vm::ascii-sap-to-character-string (sb-sys:vector-sap vector)
|
||||
string
|
||||
length)
|
||||
(copy-seq string))
|
||||
|
||||
(free-protected-array string)))))
|
||||
|
|
|
|||
|
|
@ -473,12 +473,12 @@
|
|||
(assert expected-byte-length)
|
||||
(sb-sys:with-pinned-objects (bytes)
|
||||
(multiple-value-bind (length byte-length ascii-p)
|
||||
(sb-vm::simd-utf8-strlen (sb-sys:sap+ (sb-sys:vector-sap bytes) offset))
|
||||
(sb-vm::utf8-strlen (sb-sys:sap+ (sb-sys:vector-sap bytes) offset))
|
||||
(unless (and (eql expected-length length)
|
||||
(eql expected-ascii-p ascii-p)
|
||||
(or (not expected-length)
|
||||
(eql expected-byte-length byte-length)))
|
||||
(error "(sb-vm::simd-utf8-strlen (sb-sys:sap+ (sb-sys:vector-sap ~s) ~s)) => ~a, ~a, ~a; but ~a, ~a, ~a expected"
|
||||
(error "(sb-vm::utf8-strlen (sb-sys:sap+ (sb-sys:vector-sap ~s) ~s)) => ~a, ~a, ~a; but ~a, ~a, ~a expected"
|
||||
bytes offset length byte-length ascii-p
|
||||
expected-length expected-byte-length expected-ascii-p)))))))
|
||||
(test '(1 2 0 255 255) 2 t)
|
||||
|
|
@ -515,10 +515,10 @@
|
|||
(flet ((test (chars expected-length &optional expected-ascii-p)
|
||||
(let ((string (map 'string #'code-char chars)))
|
||||
(multiple-value-bind (length ascii-p)
|
||||
(sb-impl::simd-character-string-utf8-length string)
|
||||
(sb-impl::character-string-utf8-length string)
|
||||
(unless (and (eql expected-length length)
|
||||
(eql expected-ascii-p ascii-p))
|
||||
(error "(sb-impl::simd-character-string-utf8-length ~a) => ~a, ~a; but ~a, ~a expected"
|
||||
(error "(sb-impl::character-string-utf8-length ~a) => ~a, ~a; but ~a, ~a expected"
|
||||
string length ascii-p
|
||||
expected-length expected-ascii-p))))))
|
||||
(test '(97 98 99 0) 4 t)
|
||||
|
|
|
|||
|
|
@ -1586,10 +1586,10 @@ lisp_fun_linkage_space: .zero ~:*~D
|
|||
(member str '(sb-vm::simd-reverse32 sb-vm::simd-reverse8
|
||||
sb-vm::simd-nreverse32 sb-vm::simd-nreverse8
|
||||
#+sb-unicode
|
||||
sb-vm::simd-copy-utf8-crlf-to-character-string
|
||||
sb-vm::utf8-crlf-to-character-string
|
||||
#+sb-unicode
|
||||
sb-vm::simd-copy-utf8-crlf-to-base-string
|
||||
sb-vm::simd-copy-character-string-to-utf8
|
||||
sb-vm::utf8-crlf-to-base-string
|
||||
sb-vm::character-string-to-utf8
|
||||
sb-vm::simd-position32 sb-vm::simd-position32-from-end
|
||||
sb-vm::simd-position8 sb-vm::simd-position8-from-end)
|
||||
:test 'string=)))))))
|
||||
|
|
|
|||
Loading…
Reference in a new issue