Changeset 4773


Ignore:
Timestamp:
11/15/03 20:06:02 (18 years ago)
Author:
piso
Message:

COMPILE-TEST: compile ATOM and CONSP inline.

File:
1 edited

Legend:

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

    r4772 r4773  
    22;;;
    33;;; Copyright (C) 2003 Peter Graves
    4 ;;; $Id: jvm.lisp,v 1.31 2003-11-15 19:18:19 piso Exp $
     4;;; $Id: jvm.lisp,v 1.32 2003-11-15 20:06:02 piso Exp $
    55;;;
    66;;; This program is free software; you can redistribute it and/or
     
    471471(defconstant +lisp-symbol-class+ "org/armedbear/lisp/Symbol")
    472472(defconstant +lisp-thread-class+ "org/armedbear/lisp/LispThread")
     473(defconstant +lisp-cons-class+ "org/armedbear/lisp/Cons")
    473474
    474475(defun emit-push-nil ()
     
    686687     0)
    687688    ((153 ; IFEQ
     689      154 ; IFNE
    688690      )
    689691     -1)
     
    15081510           (emit 'instanceof +lisp-symbol-class+)
    15091511           (return-from compile-test 'ifeq))
     1512         (when (eq (car form) 'CONSP)
     1513           (compile-form (second form))
     1514           (unless (remove-store-value)
     1515             (emit-push-value))
     1516           (emit 'instanceof +lisp-cons-class+)
     1517           (return-from compile-test 'ifeq))
     1518         (when (eq (car form) 'ATOM)
     1519           (compile-form (second form))
     1520           (unless (remove-store-value)
     1521             (emit-push-value))
     1522           (emit 'instanceof +lisp-cons-class+)
     1523           (return-from compile-test 'ifne))
    15101524         (let ((s (cdr (assq (car form)
    1511                              '((ATOM      . "atom")
    1512                                (EVENP     . "evenp")
     1525                             '((EVENP     . "evenp")
    15131526                               (FLOATP    . "floatp")
    15141527                               (INTEGERP  . "integerp")
Note: See TracChangeset for help on using the changeset viewer.