Branch: refs/heads/blead
Home: https://github.com/Perl/perl5
Commit: 5af5b232a2dc0e42e74fa716f7cf429ba9e386ac
https://github.com/Perl/perl5/commit/5af5b232a2dc0e42e74fa716f7cf429ba9e386ac
Author: Richard Leach <[email protected]>
Date: 2022-06-15 (Wed, 15 Jun 2022)
Changed paths:
M pp_hot.c
Log Message:
-----------
pp_aelemfast: include fast return for non-lvals
Within the "inlined av_fetch() for simple cases" fast path, we already
operate within the bounding conditions of the if() statement. Once
AvARRAY(av)[key] is found to be null, a call of av_fetch(av,key,lval)
here just boils down to a single line:
return lval ? av_store(av,key,newSV_type(SVt_NULL)) : NULL;
Checking the rest of pp_aelemfast, it's clear that within the fast
path, if (!sv) and (!lval), the function must eventually
PUSHs(&PL_sv_undef). So the fast path might as well do that directly.