Changeset 5208
- Timestamp:
- Sep 16, 2006, 11:45:10 PM (18 years ago)
- File:
-
- 1 edited
-
trunk/ccl/level-1/l1-streams.lisp (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ccl/level-1/l1-streams.lisp
r5202 r5208 481 481 482 482 (declaim (inline %ioblock-read-u8-byte)) 483 484 483 (defun %ioblock-read-u8-byte (ioblock) 485 484 (declare (optimize (speed 3) (safety 0))) … … 497 496 (io-buffer-buffer buf)) idx))) 498 497 498 (declaim (inline %ioblock-read-s8-byte)) 499 (defun %ioblock-read-s8-byte (ioblock) 500 (declare (optimize (speed 3) (safety 0))) 501 (let* ((buf (ioblock-inbuf ioblock)) 502 (idx (io-buffer-idx buf)) 503 (limit (io-buffer-count buf))) 504 (declare (fixnum idx limit)) 505 (when (= idx limit) 506 (unless (%ioblock-advance ioblock t) 507 (return-from %ioblock-read-s8-byte :eof)) 508 (setq idx (io-buffer-idx buf) 509 limit (io-buffer-count buf))) 510 (setf (io-buffer-idx buf) (the fixnum (1+ idx))) 511 (aref (the (simple-array (signed-byte 8) (*)) 512 (io-buffer-buffer buf)) idx))) 513 499 514 (declaim (inline %ioblock-read-u16-byte)) 500 501 515 (defun %ioblock-read-u16-byte (ioblock) 502 516 (declare (optimize (speed 3) (safety 0))) … … 513 527 (aref (the (simple-array (unsigned-byte 16) (*)) 514 528 (io-buffer-buffer buf)) idx))) 529 530 (declaim (inline %ioblock-read-s16-byte)) 531 (defun %ioblock-read-s16-byte (ioblock) 532 (declare (optimize (speed 3) (safety 0))) 533 (let* ((buf (ioblock-inbuf ioblock)) 534 (idx (io-buffer-idx buf)) 535 (limit (io-buffer-count buf))) 536 (declare (fixnum idx limit)) 537 (when (= idx limit) 538 (unless (%ioblock-advance ioblock t) 539 (return-from %ioblock-read-s16-byte :eof)) 540 (setq idx (io-buffer-idx buf) 541 limit (io-buffer-count buf))) 542 (setf (io-buffer-idx buf) (the fixnum (1+ idx))) 543 (aref (the (simple-array (signed-byte 16) (*)) 544 (io-buffer-buffer buf)) idx))) 545 546 (declaim (inline %ioblock-read-u32-byte)) 547 (defun %ioblock-read-u32-byte (ioblock) 548 (declare (optimize (speed 3) (safety 0))) 549 (let* ((buf (ioblock-inbuf ioblock)) 550 (idx (io-buffer-idx buf)) 551 (limit (io-buffer-count buf))) 552 (declare (fixnum idx limit)) 553 (when (= idx limit) 554 (unless (%ioblock-advance ioblock t) 555 (return-from %ioblock-read-u32-byte :eof)) 556 (setq idx (io-buffer-idx buf) 557 limit (io-buffer-count buf))) 558 (setf (io-buffer-idx buf) (the fixnum (1+ idx))) 559 (aref (the (simple-array (unsigned-byte 32) (*)) 560 (io-buffer-buffer buf)) idx))) 561 562 (defun %private-ioblock-read-u16-byte (ioblock) 563 (check-ioblock-owner ioblock) 564 (%ioblock-read-u16-byte ioblock)) 565 566 (defun %locked-ioblock-read-u16-byte (ioblock) 567 (check-ioblock-owner ioblock) 568 (%ioblock-read-u16-byte ioblock)) 569 515 570 516 571 (declaim (inline %ioblock-read-swapped-u16-byte)) … … 902 957 (defun %ioblock-write-u8-element (ioblock element) 903 958 (declare (optimize (speed 3) (safety 0))) 904 (unless (eql element (logand #xff element)) 905 (report-bad-arg element '(unsigned-byte 8))) 959 (let* ((buf (ioblock-outbuf ioblock)) 960 (idx (io-buffer-idx buf)) 961 (count (io-buffer-count buf)) 962 (limit (io-buffer-limit buf))) 963 (declare (fixnum idx limit count)) 964 (when (= idx limit) 965 (%ioblock-force-output ioblock nil) 966 (setq idx 0 count 0)) 967 (setf (aref (the (simple-array (unsigned-byte 8) (*)) (io-buffer-buffer buf)) idx) element) 968 (incf idx) 969 (setf (io-buffer-idx buf) idx) 970 (when (> idx count) 971 (setf (io-buffer-count buf) idx)) 972 (setf (ioblock-dirty ioblock) t) 973 element)) 974 975 (declaim (inline %ioblock-write-u16-element)) 976 (defun %ioblock-write-u16-element (ioblock element) 977 (declare (optimize (speed 3) (safety 0))) 906 978 (let* ((buf (ioblock-outbuf ioblock)) 907 979 (idx (io-buffer-idx buf)) … … 990 1062 (funcall encode-function char #'%ioblock-write-u8-element ioblock))))) 991 1063 992 (defun %ioblock-write- byte (ioblock byte)1064 (defun %ioblock-write-u8-byte (ioblock byte) 993 1065 (declare (optimize (speed 3) (safety 0))) 994 (%ioblock-write-element ioblock byte)) 1066 (if (= byte (logand #xff byte)) 1067 (%ioblock-write-u8-element ioblock byte) 1068 (error "Can't write ~s to stream ~s". (byte (ioblock-stream ioblock))))) 995 1069 996 1070
Note:
See TracChangeset
for help on using the changeset viewer.
