This it's my choice. This number is common for all JIT counters (hot_loop, hot_func, hot_return). It's value was selected to provide the best precision when different counters have different thresholds. Unfortunately, I can't remember the exact equations or logic I used at that time.
Thanks. Dmitry. On Thu, Jan 13, 2022 at 1:01 PM Su, Tao <tao...@intel.com> wrote: > Hi Internal, > I am not sure this is a correct mail list for asking source code related > question. > If not, I am sorry. Appreciate you guys' help. > > I am reading PHP8 JIT related source code and found that zend_jit.h has a > magic definition > ZEND_JIT_COUNTER_INIT as 32531 which I do not quite understand how this > number was chosen and why? > Anybody can provide some historic information? > #define ZEND_JIT_COUNTER_INIT 32531 > > A code example using this definition (looks like the 2nd parameter > computes into a fixed number if hot_func is set by php.ini) > ZEND_OPCODE_TAIL_CALL_EX(zend_jit_trace_counter_helper, > ((ZEND_JIT_COUNTER_INIT + JIT_G(hot_func) - 1) / > JIT_G(hot_func))); > > > ======================================= > Tony Su (Su, Tao) > make a 'lazy' programmer diligently with efficiency > >