[armedbear-cvs] r11509 - trunk/abcl/src/org/armedbear/lisp

Ville Voutilainen vvoutilainen at common-lisp.net
Mon Dec 29 23:19:46 UTC 2008


Author: vvoutilainen
Date: Mon Dec 29 23:19:42 2008
New Revision: 11509

Log:
Remove Cons special case from car/cdr, it doesn't seem
to make a big difference.


Modified:
   trunk/abcl/src/org/armedbear/lisp/compiler-pass2.lisp

Modified: trunk/abcl/src/org/armedbear/lisp/compiler-pass2.lisp
==============================================================================
--- trunk/abcl/src/org/armedbear/lisp/compiler-pass2.lisp	(original)
+++ trunk/abcl/src/org/armedbear/lisp/compiler-pass2.lisp	Mon Dec 29 23:19:42 2008
@@ -4578,15 +4578,8 @@
       (emit-move-from-stack target))))
 
 (defun emit-car/cdr (arg target representation field)
-  (cond ((eq (derive-type arg) 'CONS)
-	 (compile-form arg 'stack nil)
-	 (emit 'checkcast +lisp-cons-class+)
-	 (emit 'getfield +lisp-cons-class+ field +lisp-object+)
-	 (fix-boxing representation nil)
-	 (emit-move-from-stack target representation))
-	(t
-	 (compile-forms-and-maybe-emit-clear-values arg 'stack nil)
-	 (emit-invoke-method field target representation))))
+  (compile-forms-and-maybe-emit-clear-values arg 'stack nil)
+  (emit-invoke-method field target representation))
 
 (defun p2-car (form target representation)
   (unless (check-arg-count form 1)




More information about the armedbear-cvs mailing list