From 7498e1250e75c49ee2a10722972930fb0f3270f6 Mon Sep 17 00:00:00 2001
From: ram <ram>
Date: Thu, 27 Sep 1990 18:26:14 +0000
Subject: [PATCH] Eliminated call to IR1-FINALIZE in favor of separate handling
 of free functions and failed optimizations.  Previously the context nodes for
 failed optimizations where being freelisted before IR1-FINALIZE which caused
 NOTE-FAILED-OPTIMIZATION to think that the call had been deleted, squelching
 the note.

---
 compiler/main.lisp | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/compiler/main.lisp b/compiler/main.lisp
index 2fa6a056f..543c5a8a8 100644
--- a/compiler/main.lisp
+++ b/compiler/main.lisp
@@ -223,6 +223,9 @@
 	(event reoptimize-maxed-out)
 	(return))
       (incf loop-count)))
+  
+  (maphash #'note-failed-optimization *failed-optimizations*)
+  (clrhash *failed-optimizations*)
   (undefined-value))
 
 
@@ -997,7 +1000,7 @@
 	(dolist (component components)
 	  (clear-ir1-info component)))))
     
-  (ir1-finalize)
+  (maphash #'check-free-function *free-functions*)
   (undefined-value))
 
 
-- 
GitLab