[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: guile 3 update, september edition
From: |
Ludovic Courtès |
Subject: |
Re: guile 3 update, september edition |
Date: |
Tue, 18 Sep 2018 15:51:08 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) |
Hello,
Andy Wingo <address@hidden> skribis:
> On Mon 17 Sep 2018 11:35, address@hidden (Ludovic Courtès) writes:
>
>>> The threshold at which Guile will automatically JIT-compile is set from
>>> the GUILE_JIT_THRESHOLD environment variable. By default it is 50000.
>>> If you set it to -1, you disable the JIT. If you set it to 0, *all*
>>> code will be JIT-compiled. The test suite passes at
>>> GUILE_JIT_THRESHOLD=0, indicating that all features in Guile are
>>> supported by the JIT. Set the GUILE_JIT_LOG environment variable to 1
>>> or 2 to see JIT progress.
>>
>> Just to be clear, does GUILE_JIT_THRESHOLD represents the number of
>> times a given instruction pointer is hit?
>
> No. It is an abstract "hotness" counter associated with a function's
> code. (I say "function's code" because many closures can share the same
> code and thus the same counter. It's not in the scm_tc7_program object
> because some procedures don't have these.)
>
> All counters start at 0 when Guile starts. A function's counters
> increment by 30 when a function is called, currently, and 2 on every
> loop back-edge. I have not attempted to tweak these values yet.
OK, I see.
Exciting times!
Ludo’.