Changeset 8409


Ignore:
Timestamp:
01/29/05 16:24:54 (16 years ago)
Author:
piso
Message:

Work in progress (tested).

File:
1 edited

Legend:

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

    r8408 r8409  
    22;;;
    33;;; Copyright (C) 2003-2005 Peter Graves
    4 ;;; $Id: jvm.lisp,v 1.375 2005-01-28 03:38:58 piso Exp $
     4;;; $Id: jvm.lisp,v 1.376 2005-01-29 16:24:54 piso Exp $
    55;;;
    66;;; This program is free software; you can redistribute it and/or
     
    26252625      (error "COMPILE-FUNCTION-CALL ~S is not a symbol" op))
    26262626    (when (find-local-function op)
    2627       (return-from compile-function-call (compile-local-function-call form target)))
     2627      (return-from compile-function-call
     2628                   (compile-local-function-call form target representation)))
    26282629    (let ((numargs (length args)))
    26292630      (case (length args)
     
    27202721      (emit 'aastore))))
    27212722
    2722 (defun compile-local-function-call (form target)
     2723(defun compile-local-function-call (form target representation)
    27232724  (let* ((compiland *current-compiland*)
    27242725         (op (car form))
     
    27962797          (emit-invokevirtual +lisp-object-class+ "execute" arg-types result-type)))
    27972798
    2798     (cond ((null target)
    2799            (emit 'pop)
    2800            (maybe-emit-clear-values form))
    2801           ((eq target :stack))
    2802           ((fixnump target)
    2803            (emit 'astore target))
    2804           (t
    2805            (%format t "line 1876~%")
    2806            (aver nil)))
     2799    (when (eq representation :unboxed-fixnum)
     2800      (emit-unbox-fixnum))
     2801    (emit-move-from-stack target representation)
    28072802    (when saved-vars
    28082803      (restore-variables saved-vars))))
Note: See TracChangeset for help on using the changeset viewer.