Re: Reason for ZEND_JIT_COUNTER_INIT set to 32531?
| From: | Dmitry Stogov | Date: | Mon, 17 Jan 2022 05:36:52 +0000 |
| Subject: | Re: Reason for ZEND_JIT_COUNTER_INIT set to 32531? | ||
| References: | 1 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-116883@lists.php.net to get a copy of this message | ||
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.su@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
>
>