File tree 1 file changed +5
-1
lines changed
1 file changed +5
-1
lines changed Original file line number Diff line number Diff line change @@ -223,6 +223,10 @@ arity. TABLE will be mutated with additional entries."
223
223
name hoister package env)))
224
224
(pop-final-hoist-point hoister))))
225
225
226
+ (declaim (type (integer 0 ) *maximum-optimization-passes* ))
227
+ (defvar *maximum-optimization-passes* 4
228
+ " The maximum number of times the optimizer may re-optimize." )
229
+
226
230
(defun optimize-node (node env)
227
231
" Perform a series of optimizations on NODE in the environment
228
232
ENV. Return a new node which is optimized."
@@ -249,7 +253,7 @@ ENV. Return a new node which is optimized."
249
253
(inline-applications node env)
250
254
(setf redo? (or redo? inlined?))
251
255
(setf node new-node))
252
- (when redo?
256
+ (when ( and redo? ( <= runs *maximum-optimization-passes* ))
253
257
(go :REDO )))
254
258
; ; Return the node.
255
259
node)
You can’t perform that action at this time.
0 commit comments