chicken-hackers
[Top][All Lists]
Advanced

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

Re: [Chicken-hackers] a cas of chicken overoptimizing


From: Felix
Subject: Re: [Chicken-hackers] a cas of chicken overoptimizing
Date: Tue, 14 Feb 2012 11:07:51 +0100 (CET)

> 
> (define (write-blob-to-sql sql identifier last blob c-c)
>  (define ins '())
>  (define del '())
>  (if (vector? blob)
>      (begin
>       (set! ins (vector-ref blob 1))
>       (set! del (vector-ref blob 2))
>       (set! blob (vector-ref blob 0))))
>  (if (or (pair? ins) (pair? del))
>      (<handle-ins-and-del>))
>  (<do-some-more>))
> 
> "<handle-ins-and-del>" used to be reliably executed for at least a
> year.

This is caused by a flow-analysis bug. Compiling with "-verbose" gives
warnings about these two type-checks, so you should enable this option
if you assume something's not right.

As a quick fix, changing line 645 in scrutinizer.scm to "(if #f ...)"
should get your code running. I will try to provide a proper patch
in the meantime.

Thanks for reporting this.


cheers,
felix



reply via email to

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