Ignore:
Timestamp:
01/20/12 01:10:39 (10 years ago)
Author:
astalla
Message:

A small reorganization of compiler/jvm code. Runtime-class wasn't autoloading properly in certain situations due to a wrong dependency graph among some system files.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/abcl/src/org/armedbear/lisp/jvm.lisp

    r13514 r13792  
    7171  (declare (ignore ignored)))
    7272
    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 
    10873(defmacro with-saved-compiler-policy (&body body)
    10974  "Saves compiler policy variables, restoring them after evaluating `body'."
Note: See TracChangeset for help on using the changeset viewer.