Changeset 13792
- Timestamp:
- 01/20/12 01:10:39 (10 years ago)
- Location:
- trunk/abcl/src/org/armedbear/lisp
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abcl/src/org/armedbear/lisp/compiler-pass2.lisp
r13537 r13792 43 43 (require "DUMP-FORM") 44 44 (require "JVM-INSTRUCTIONS") 45 (require "JVM-CLASS-FILE") 45 46 (require "JAVA")) 46 47 -
trunk/abcl/src/org/armedbear/lisp/jvm-class-file.lisp
r13764 r13792 31 31 32 32 (in-package "JVM") 33 (require '#:compiler-types) 33 34 34 35 #| … … 1512 1513 |# 1513 1514 1515 (provide '#:jvm-class-file) -
trunk/abcl/src/org/armedbear/lisp/jvm-instructions.lisp
r13710 r13792 33 33 (in-package #:jvm) 34 34 35 (declaim (inline u2 s1 s2)) 36 37 (defknown u2 (fixnum) cons) 38 (defun u2 (n) 39 (declare (optimize speed)) 40 (declare (type (unsigned-byte 16) n)) 41 (when (not (<= 0 n 65535)) 42 (error "u2 argument ~A out of 65k range." n)) 43 (list (logand (ash n -8) #xff) 44 (logand n #xff))) 45 46 (defknown s1 (fixnum) fixnum) 47 (defun s1 (n) 48 (declare (optimize speed)) 49 (declare (type (signed-byte 8) n)) 50 (when (not (<= -128 n 127)) 51 (error "s1 argument ~A out of 8-bit signed range." n)) 52 (if (< n 0) 53 (1+ (logxor (- n) #xFF)) 54 n)) 55 56 57 (defknown s2 (fixnum) cons) 58 (defun s2 (n) 59 (declare (optimize speed)) 60 (declare (type (signed-byte 16) n)) 61 (when (not (<= -32768 n 32767)) 62 (error "s2 argument ~A out of 16-bit signed range." n)) 63 (u2 (if (< n 0) (1+ (logxor (- n) #xFFFF)) 64 n))) 35 65 36 66 ;; OPCODES -
trunk/abcl/src/org/armedbear/lisp/jvm.lisp
r13514 r13792 71 71 (declare (ignore ignored))) 72 72 73 (declaim (inline u2 s1 s2))74 75 (defknown u2 (fixnum) cons)76 (defun u2 (n)77 (declare (optimize speed))78 (declare (type (unsigned-byte 16) n))79 (when (not (<= 0 n 65535))80 (error "u2 argument ~A out of 65k range." n))81 (list (logand (ash n -8) #xff)82 (logand n #xff)))83 84 (defknown s1 (fixnum) fixnum)85 (defun s1 (n)86 (declare (optimize speed))87 (declare (type (signed-byte 8) n))88 (when (not (<= -128 n 127))89 (error "s1 argument ~A out of 8-bit signed range." n))90 (if (< n 0)91 (1+ (logxor (- n) #xFF))92 n))93 94 95 (defknown s2 (fixnum) cons)96 (defun s2 (n)97 (declare (optimize speed))98 (declare (type (signed-byte 16) n))99 (when (not (<= -32768 n 32767))100 (error "s2 argument ~A out of 16-bit signed range." n))101 (u2 (if (< n 0) (1+ (logxor (- n) #xFFFF))102 n)))103 104 105 106 107 108 73 (defmacro with-saved-compiler-policy (&body body) 109 74 "Saves compiler policy variables, restoring them after evaluating `body'." -
trunk/abcl/src/org/armedbear/lisp/known-symbols.lisp
r13046 r13792 32 32 (in-package #:system) 33 33 34 (require "JVM-CLASS-FILE") 34 35 (require "JAVA") 35 36 -
trunk/abcl/src/org/armedbear/lisp/runtime-class.lisp
r13790 r13792 1 (require "COMPILER-PASS2") 2 (require "JVM-CLASS-FILE") 1 (require "JVM") 3 2 4 3 ;;The package is set to :jvm for convenience, since most of the symbols used … … 187 186 (cond 188 187 ((jvm-class-name-p type) (aload 1)) 189 ((eq type :int) ( iload 1))188 ((eq type :int) (emit 'iload 1)) 190 189 (t (error "Unsupported setter parameter type: ~A" type))) 191 190 (emit-putfield (class-file-class class-file) name type) … … 219 218 220 219 ;;TODO: 220 ;; - Returning nil as null is broken 221 221 ;; - Function calls with 8+ args 222 222 ;; - super method invocation. Idea: generate companion methods super_... to use with plain jcall. Add a flag per method to optionally disable this when not needed.
Note: See TracChangeset
for help on using the changeset viewer.