- Timestamp:
- 08/09/10 12:23:20 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/generic-class-file/abcl/src/org/armedbear/lisp/compiler-pass2.lisp
r12881 r12882 79 79 (defun pool-double (double) 80 80 (pool-add-double *pool* double)) 81 82 (defknown u2 (fixnum) cons)83 (defun u2 (n)84 (declare (optimize speed))85 (declare (type (unsigned-byte 16) n))86 (when (not (<= 0 n 65535))87 (error "u2 argument ~A out of 65k range." n))88 (list (logand (ash n -8) #xff)89 (logand n #xff)))90 91 (defknown s1 (fixnum) fixnum)92 (defun s1 (n)93 (declare (optimize speed))94 (declare (type (signed-byte 8) n))95 (when (not (<= -128 n 127))96 (error "s2 argument ~A out of 16-bit signed range." n))97 (if (< n 0)98 (1+ (logxor (- n) #xFF))99 n))100 101 102 (defknown s2 (fixnum) cons)103 (defun s2 (n)104 (declare (optimize speed))105 (declare (type (signed-byte 16) n))106 (when (not (<= -32768 n 32767))107 (error "s2 argument ~A out of 16-bit signed range." n))108 (u2 (if (< n 0) (1+ (logxor (- n) #xFFFF))109 n)))110 111 81 112 82 (defun add-exception-handler (start end handler type)
Note: See TracChangeset
for help on using the changeset viewer.