[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.
cheers,
felix