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

Alessio Stalla astalla at common-lisp.net
Sun Oct 17 19:36:14 UTC 2010


Author: astalla
Date: Sun Oct 17 15:36:13 2010
New Revision: 12979

Log:
Do not create class files for local functions that have been inlined


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

Modified: trunk/abcl/src/org/armedbear/lisp/compiler-pass1.lisp
==============================================================================
--- trunk/abcl/src/org/armedbear/lisp/compiler-pass1.lisp	(original)
+++ trunk/abcl/src/org/armedbear/lisp/compiler-pass1.lisp	Sun Oct 17 15:36:13 2010
@@ -918,8 +918,8 @@
 	     (setf (compiland-lambda-expression compiland) lambda-expression)
 	     (setf (local-function-definition local-function)
 		   (copy-tree definition))
-	     (setf (local-function-inline-expansion local-function)
-		   (generate-inline-expansion block-name lambda-list body))
+	     ;(setf (local-function-inline-expansion local-function)
+	     ;(generate-inline-expansion block-name lambda-list body))
 	     (p1-compiland compiland)))
 	 (push local-function local-functions)))
       ((with-saved-compiler-policy
@@ -933,7 +933,12 @@
 	   (dolist (special (flet-free-specials block))
 	     (push special *visible-variables*))
 	   (setf (flet-form block)
-		 (list* (car form) local-functions (p1-body (cddr form))))
+		 (list* (car form)
+			(remove-if (lambda (fn)
+				     (and (inline-p (local-function-name fn))
+					  (not (local-function-references-needed-p fn))))
+				   local-functions)
+			(p1-body (cddr form))))
 	   block)))))
 
 




More information about the armedbear-cvs mailing list