Ignore:
Timestamp:
06/09/10 11:27:42 (13 years ago)
Author:
Mark Evenson
Message:

Undo previous commmit.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/abcl/src/org/armedbear/lisp/compiler-pass2.lisp

    r12748 r12749  
    199199          n)))
    200200
     201(defconstant +fasl-loader-class+
     202  "org/armedbear/lisp/FaslClassLoader")
    201203(defconstant +java-string+ "Ljava/lang/String;")
    202204(defconstant +java-object+ "Ljava/lang/Object;")
     
    22682270   (setf g (symbol-name (gensym "LFUN")))
    22692271   (let* ((pathname (abcl-class-file-pathname (local-function-class-file local-function)))
     2272    (class-name (concatenate 'string "org/armedbear/lisp/" (pathname-name pathname)))
    22702273    (*code* *static-code*))
    22712274     ;; fixme *declare-inline*
    2272      (declare-field g +lisp-object+ +field-access-default+)
    2273      (emit 'ldc (pool-string (file-namestring pathname)))
    2274      (emit-invokestatic +lisp-function-proxy-class+ "loadPreloadedFunction"
    2275       (list +java-string+) +lisp-object+)
     2275     (declare-field g +lisp-object+ +field-access-private+)
     2276     (emit 'new class-name)
     2277     (emit 'dup)
     2278     (emit-invokespecial-init class-name '())
     2279
     2280     ;(emit 'ldc (pool-string (pathname-name pathname)))
     2281     ;(emit-invokestatic +fasl-loader-class+ "faslLoadFunction"
     2282     ;(list +java-string+) +lisp-object+)
     2283
     2284;     (emit 'ldc (pool-string (file-namestring pathname)))
     2285     
     2286;     (emit-invokestatic +lisp-function-proxy-class+ "loadPreloadedFunction"
     2287;     (list +java-string+) +lisp-object+)
    22762288     (emit 'putstatic *this-class* g +lisp-object+)
    22772289     (setf *static-code* *code*)
     
    24182430             (typep form 'double-float)
    24192431             (characterp form)
    2420              (stringp form)
    2421              (packagep form)
    2422              (pathnamep form)
    2423              (vectorp form)
    24242432             (stringp form)
    24252433             (packagep form)
     
    50995107               (emit 'getstatic *this-class*
    51005108                     g +lisp-object+))))) ; Stack: template-function
    5101          ((member name *functions-defined-in-current-file* :test #'equal)
     5109         ((and (member name *functions-defined-in-current-file* :test #'equal)
     5110         (not (notinline-p name)))
    51025111          (emit 'getstatic *this-class*
    51035112                (declare-setf-function name) +lisp-object+)
     
    75497558      (compile-function-call form target representation))))
    75507559
     7560#|(defknown p2-java-jcall (t t t) t)
     7561(define-inlined-function p2-java-jcall (form target representation)
     7562  ((and (> *speed* *safety*)
     7563  (< 1 (length form))
     7564  (eq 'jmethod (car (cadr form)))
     7565  (every #'stringp (cdr (cadr form)))))
     7566  (let ((m (ignore-errors (eval (cadr form)))))
     7567    (if m
     7568  (let ((must-clear-values nil)
     7569        (arg-types (raw-arg-types (jmethod-params m))))
     7570    (declare (type boolean must-clear-values))
     7571    (dolist (arg (cddr form))
     7572      (compile-form arg 'stack nil)
     7573      (unless must-clear-values
     7574        (unless (single-valued-p arg)
     7575    (setf must-clear-values t))))
     7576    (when must-clear-values
     7577      (emit-clear-values))
     7578    (dotimes (i (jarray-length raw-arg-types))
     7579      (push (jarray-ref raw-arg-types i) arg-types))
     7580    (emit-invokevirtual (jclass-name (jmethod-declaring-class m))
     7581            (jmethod-name m)
     7582            (nreverse arg-types)
     7583            (jmethod-return-type m)))
     7584      ;; delay resolving the method to run-time; it's unavailable now
     7585      (compile-function-call form target representation))))|#
    75517586
    75527587(defknown p2-char= (t t t) t)
     
    82258260  t)
    82268261
     8262(defun p2-with-inline-code (form target representation)
     8263  ;;form = (with-inline-code (&optional target-var repr-var) ...body...)
     8264  (destructuring-bind (&optional target-var repr-var) (cadr form)
     8265    (eval `(let (,@(when target-var `((,target-var ,target)))
     8266     ,@(when repr-var `((,repr-var ,representation))))
     8267       ,@(cddr form)))))
     8268
    82278269(defun compile-1 (compiland stream)
    82288270  (let ((*all-variables* nil)
     
    85178559  (install-p2-handler 'java:jconstructor   'p2-java-jconstructor)
    85188560  (install-p2-handler 'java:jmethod        'p2-java-jmethod)
     8561;  (install-p2-handler 'java:jcall          'p2-java-jcall)
    85198562  (install-p2-handler 'char=               'p2-char=)
    85208563  (install-p2-handler 'characterp          'p2-characterp)
     
    86018644  (install-p2-handler 'write-8-bits        'p2-write-8-bits)
    86028645  (install-p2-handler 'zerop               'p2-zerop)
     8646  (install-p2-handler 'with-inline-code    'p2-with-inline-code)
    86038647  t)
    86048648
Note: See TracChangeset for help on using the changeset viewer.