Changeset 5878


Ignore:
Timestamp:
02/19/04 17:39:50 (17 years ago)
Author:
piso
Message:

Work in progress: COMPILE-FUNCTION.

File:
1 edited

Legend:

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

    r5877 r5878  
    22;;;
    33;;; Copyright (C) 2003-2004 Peter Graves
    4 ;;; $Id: jvm.lisp,v 1.72 2004-02-19 15:38:59 piso Exp $
     4;;; $Id: jvm.lisp,v 1.73 2004-02-19 17:39:50 piso Exp $
    55;;;
    66;;; This program is free software; you can redistribute it and/or
     
    21592159   (let ((obj (second form)))
    21602160     (cond ((symbolp obj)
    2161             (let ((g (declare-symbol obj)))
    2162               (emit 'getstatic
    2163                     *this-class*
    2164                     g
    2165                     "Lorg/armedbear/lisp/Symbol;")
    2166               (emit-invokevirtual +lisp-object-class+
    2167                                   "getSymbolFunctionOrDie"
    2168                                   "()Lorg/armedbear/lisp/LispObject;"
    2169                                   0)
    2170               (emit-store-value)))
     2161            (if (memq (symbol-package obj) +known-packages+)
     2162                (let ((g (declare-function obj)))
     2163                  (emit 'getstatic
     2164                        *this-class*
     2165                        g
     2166                        "Lorg/armedbear/lisp/LispObject;")
     2167                  (emit-store-value))
     2168                (let ((g (declare-symbol obj)))
     2169                  (emit 'getstatic
     2170                        *this-class*
     2171                        g
     2172                        "Lorg/armedbear/lisp/Symbol;")
     2173                  (emit-invokevirtual +lisp-object-class+
     2174                                      "getSymbolFunctionOrDie"
     2175                                      "()Lorg/armedbear/lisp/LispObject;"
     2176                                      0)
     2177                  (emit-store-value))))
    21712178           #+nil
    21722179           ((and (consp obj) (eq (car obj) 'LAMBDA))
Note: See TracChangeset for help on using the changeset viewer.