Hello, Andy Wingo <wi...@pobox.com> skribis:
> On Mon 17 Sep 2018 11:35, l...@gnu.org (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’.