- 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/jvm.lisp
r12881 r12882 63 63 (declare (ignore ignored))) 64 64 65 (declaim (inline u2 s1 s2)) 66 67 (defknown u2 (fixnum) cons) 68 (defun u2 (n) 69 (declare (optimize speed)) 70 (declare (type (unsigned-byte 16) n)) 71 (when (not (<= 0 n 65535)) 72 (error "u2 argument ~A out of 65k range." n)) 73 (list (logand (ash n -8) #xff) 74 (logand n #xff))) 75 76 (defknown s1 (fixnum) fixnum) 77 (defun s1 (n) 78 (declare (optimize speed)) 79 (declare (type (signed-byte 8) n)) 80 (when (not (<= -128 n 127)) 81 (error "s2 argument ~A out of 16-bit signed range." n)) 82 (if (< n 0) 83 (1+ (logxor (- n) #xFF)) 84 n)) 85 86 87 (defknown s2 (fixnum) cons) 88 (defun s2 (n) 89 (declare (optimize speed)) 90 (declare (type (signed-byte 16) n)) 91 (when (not (<= -32768 n 32767)) 92 (error "s2 argument ~A out of 16-bit signed range." n)) 93 (u2 (if (< n 0) (1+ (logxor (- n) #xFFFF)) 94 n))) 95 96 97 98 65 99 66 100 (defmacro with-saved-compiler-policy (&body body)
Note: See TracChangeset
for help on using the changeset viewer.