[Top][All Lists]
[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.
- [Chicken-janitors] #802: (make-vector -1) gets optimised into (##core#inline_allocate ("C_i_a_vector" 0)),
Chicken Trac <=