[Top][All Lists]

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

Re: [Chicken-hackers] [PATCH] clustering

From: Felix
Subject: Re: [Chicken-hackers] [PATCH] clustering
Date: Mon, 07 Nov 2011 01:50:59 +0100 (CET)

From: Christian Kellermann <address@hidden>
Subject: Re: [Chicken-hackers] [PATCH] clustering
Date: Sun, 6 Nov 2011 12:46:36 +0100

> * felix winkelmann <address@hidden> [111027 11:18]:
>> The attached patch adds an optimization (originally suggested by
>> chairman shinn), which turns groups of local procedures into "dispatch
>> loop". This can give good performance improvements in tight code that
>> performs no (or few) CPS calls. Currently it is not enabled by
>> default, but will probably later be enabled for optimization levels 2
>> and higher.
> The patch looks fine to me. However I found this part:
> diff --git a/support.scm b/support.scm
> index 28c950b..444504d 100644
> --- a/support.scm
> +++ b/support.scm
> @@ -618,7 +619,11 @@
>         ((##core#closure)
>          `(##core#closure ,params ,@(map walk subs)) )
>         ((##core#variable) (car params))
> -       ((quote) `(quote ,(car params)))
> +       ((quote)
> +        (let ((c (car params)))
> +          (if (or (boolean? c) (string? c) (number? c) (char? c))
> +              c
> +              `(quote ,(car params)))))
>         ((let)
>          `(let ,(map list params (map walk (butlast subs)))
>             ,(walk (last subs)) ) )
> Is this an optimisatoin that has sneaked in behind your back? If
> so, I will commit it separately. If it is necessary for the patch
> to work, I am all ears to hear about it.

It's a small change to the translation of the internal node tree back
to s-expressions (mainly for debugging and error output). This change
omits unnecessary quotes in the output. I probably should have made
this a different patch, but I was too lazy.


reply via email to

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