Currently we perform checks in RECV opcode handlers.
Andrea's patch just adds a flag in zend_execute_data that tells what kind
of checks should be performed in the function.
With JIT it's difficult to generate any checks on call-site, because the
actual function may by unknown at compile-time (and even may be changed on
next request).

Thanks. Dmitry.

On Sun, Feb 15, 2015 at 9:50 PM, Nikita Popov <nikita....@gmail.com> wrote:

> On Sun, Feb 15, 2015 at 7:43 PM, Dmitry Stogov <dmi...@zend.com> wrote:
>
>> Hi Anthony,
>>
>> If you are working on JIT, you should understand that declare() switch to
>> strict typing can't improve anything, because it works on caller side and
>> in each function you now will have to generate code for both weak and
>> strict checks.
>>
>
> Why do these checks have to be generated in the function, instead of
> performing checks/casts at the call-site? Naively I would assume this to
> perform better, because you can make use of type-information around the
> call-site to elide checks/casts. Or does this have adverse effects due to
> larger code size or something like that?
>
> Nikita
>

Reply via email to