chicken-janitors
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-janitors] #874: Compiling some files may cause infinite opt


From: Chicken Trac
Subject: Re: [Chicken-janitors] #874: Compiling some files may cause infinite optimization loops, eating all available memory
Date: Sun, 01 Jul 2012 14:38:57 -0000

#874: Compiling some files may cause infinite optimization loops, eating all
available memory
-----------------------+----------------------------------------------------
  Reporter:  mario     |       Owner:       
      Type:  defect    |      Status:  new  
  Priority:  major     |   Milestone:  4.8.0
 Component:  compiler  |     Version:  4.7.x
Resolution:            |    Keywords:       
-----------------------+----------------------------------------------------

Comment(by sjamaan):

 Further simplification: if you convert it to a nested {{{if}}} the problem
 still occurs:

 {{{
 #!scm
 (if (not (= 1 2))
     (print 2)
     (if (not (= 5 6))
         (print 4)
         (if (not (= 7 8))
             (print 5)
             (if (not (= 9 10))
                 (print 6)
                 (print 'nothing)))))
 }}}

 {{{
 $ csc -debug o test.scm
 Removed `not' forms: 4
 contracted procedure: k46
 folded constant expression: (= (quote 9) (quote 10))
 contracted procedure: k37
 contracted procedure: k46
 folded constant expression: (= (quote 9) (quote 10))
 folded constant expression: (= (quote 7) (quote 8))
 contracted procedure: k28
 contracted procedure: k46
 folded constant expression: (= (quote 9) (quote 10))
 contracted procedure: k37
 contracted procedure: k46
 folded constant expression: (= (quote 9) (quote 10))
 folded constant expression: (= (quote 7) (quote 8))
 folded constant expression: (= (quote 5) (quote 6))
 contracted procedure: k19
 contracted procedure: k46
 folded constant expression: (= (quote 9) (quote 10))
 contracted procedure: k37
 contracted procedure: k46
 folded constant expression: (= (quote 9) (quote 10))
 folded constant expression: (= (quote 7) (quote 8))
 contracted procedure: k28
 contracted procedure: k46
 folded constant expression: (= (quote 9) (quote 10))
 contracted procedure: k37
 contracted procedure: k46
 folded constant expression: (= (quote 9) (quote 10))
 folded constant expression: (= (quote 7) (quote 8))
 folded constant expression: (= (quote 5) (quote 6))
 folded constant expression: (= (quote 1) (quote 2))
 replaced variables: 117
 contracted procedure: k19
 removed binding forms: 2
 substituted constant variable: r20
 contracted procedure: k28
 removed binding forms: 4
 removed conditional forms: 1
 removed binding forms: 1
 }}}

-- 
Ticket URL: <http://bugs.call-cc.org/ticket/874#comment:3>
Chicken Scheme <http://www.call-with-current-continuation.org/>
Chicken Scheme is a compiler for the Scheme programming language.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]