chicken-janitors
[Top][All Lists]
Advanced

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

[Chicken-janitors] #802: (make-vector -1) gets optimised into (##core#in


From: Chicken Trac
Subject: [Chicken-janitors] #802: (make-vector -1) gets optimised into (##core#inline_allocate ("C_i_a_vector" 0))
Date: Sat, 17 Mar 2012 17:14:52 -0000

#802: (make-vector -1) gets optimised into (##core#inline_allocate
("C_i_a_vector" 0))
-----------------------------------------------------+----------------------
 Reporter:  ckeen                                    |       Owner:  felix
     Type:  defect                                   |      Status:  new  
 Priority:  major                                    |   Milestone:  4.8.0
Component:  compiler                                 |     Version:  4.7.x
 Keywords:  optimisation, vector, bad input, kaputt  |  
-----------------------------------------------------+----------------------
 A simple program

 {{{
 (make-vector -1)
 }}}

 compiles into:

 {{{
 [optimized-iteration]
 (lambda (k6)
   (let ((k8 (##core#lambda
               (t1)
               (let ((k10 (##core#lambda
                            (t2)
                            (let ((t3 (##core#inline_allocate
 ("C_a_i_vector" 0))))
                              (let ((k14 (##core#lambda (t4) (k6
 (##core#undefined)))))
                                (let ((k16 (##core#lambda (r17) (r17
 k14))))
                                  (##sys#implicit-exit-handler k16)))))))
                 (##core#callunit "eval" k10)))))
     (##core#callunit "library" k8)))
 }}}

 which results in:

 {{{
 $ /tmp/t
 [panic] out of memory - heap full while resizing - execution terminated

 ##sys#implicit-exit-handler     <--
 }}}

-- 
Ticket URL: <http://bugs.call-cc.org/ticket/802>
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]