Changeset 8305


Ignore:
Timestamp:
12/27/04 18:14:09 (17 years ago)
Author:
piso
Message:

COMPILE-FUNCTION-CALL: the function name might be an uninterned symbol.

File:
1 edited

Legend:

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

    r8304 r8305  
    22;;;
    33;;; Copyright (C) 2003-2004 Peter Graves
    4 ;;; $Id: jvm.lisp,v 1.322 2004-12-27 17:43:05 piso Exp $
     4;;; $Id: jvm.lisp,v 1.323 2004-12-27 18:14:09 piso Exp $
    55;;;
    66;;; This program is free software; you can redistribute it and/or
     
    24892489;;     (when (neq new-form form)
    24902490;;       (return-from compile-function-call (compile-form new-form :target target))))
    2491   (let ((fun (car form))
     2491  (let ((op (car form))
    24922492        (args (cdr form)))
    2493     (unless (symbolp fun)
    2494       (error "COMPILE-FUNCTION-CALL ~S is not a symbol" fun))
    2495     (when (find-local-function fun)
     2493    (unless (symbolp op)
     2494      (error "COMPILE-FUNCTION-CALL ~S is not a symbol" op))
     2495    (when (find-local-function op)
    24962496      (return-from compile-function-call (compile-local-function-call form target)))
    24972497    (let ((numargs (length args)))
    24982498      (case (length args)
    24992499        (1
    2500          (when (compile-function-call-1 fun args target representation)
     2500         (when (compile-function-call-1 op args target representation)
    25012501           (return-from compile-function-call)))
    25022502        (2
    2503          (when (compile-function-call-2 fun args target representation)
     2503         (when (compile-function-call-2 op args target representation)
    25042504           (return-from compile-function-call)))
    25052505        (3
    2506          (when (compile-function-call-3 fun args target)
     2506         (when (compile-function-call-3 op args target)
    25072507           (return-from compile-function-call))))
    25082508      (unless (> *speed* *debug*)
    25092509        (emit-push-current-thread))
    25102510      (cond
    2511        ((eq fun (compiland-name *current-compiland*)) ; recursive call
     2511       ((eq op (compiland-name *current-compiland*)) ; recursive call
    25122512        (emit 'aload 0)) ; this
    2513        ((inline-ok fun)
     2513       ((inline-ok op)
    25142514        (emit 'getstatic
    25152515              *this-class*
    2516               (declare-function fun)
     2516              (declare-function op)
    25172517              +lisp-object+))
     2518       ((null (symbol-package op))
     2519        (let ((g (if *compile-file-truename*
     2520                     (declare-object-as-string op)
     2521                     (declare-object op))))
     2522          (emit 'getstatic
     2523                *this-class*
     2524                g
     2525                +lisp-object+)))
    25182526       (t
    25192527        (emit 'getstatic
    25202528              *this-class*
    2521               (declare-symbol fun)
     2529              (declare-symbol op)
    25222530              +lisp-symbol+)))
    25232531      (process-args args)
Note: See TracChangeset for help on using the changeset viewer.