On Mon, Feb 23, 2015 at 10:28 AM, Joe Watkins <pthre...@pthreads.org> wrote:
> Zeev,
>
>>  If you can infer the type with confidence, you can do away with coercion
> code altogether.
>
> Maybe I'm ignorant of something, but isn't the only way you can begin to
> infer the type with real confidence is by having strict typed parameters ?
>
> This sounds like the kind of strict mode we're talking about, where no
> coercion is necessary because inference is so reliable given a good
> starting place (function entry with strictly typed parameters).
>
>>  If you can't, then you're not obligated to generate optimized paths for
> every possible input - you can just defer to the relevant coerce() function.
>
> If the parameters aren't strict but are typed then you need to travel
> coercion code paths somewhere, optimized inline, calling an API function,
> it makes no real difference.
>
> I guess we are hedging our bets that having to travel those paths will suck
> away so much performance, that it will make all of the effort required to
> make any of this a reality seem, somehow ... wasted.
>
>> JIT might end up being about making PHP viable for more CPU-bound use
> cases ...
>
> This is probably quite realistic.
>
> In case anyone is reading and thinks I'm using any of this to justify dual
> mode, I'm not doing that. The original RFC justified it well enough, I just
> happen to disagree with some of the assertions made in this thread and or
> RFC.
>

Hello,

if I understand the issue correctly, not even strongly typed
parameters won't help you infer types of variables with real
confidence?

Imagine this piece of code:
function foo(int $x) { $x = fnThatReturnsRandomScalarType(); return $x; }

Regards
Pavel Kouril

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to