Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 5af5b232a2dc0e42e74fa716f7cf429ba9e386ac https://github.com/Perl/perl5/commit/5af5b232a2dc0e42e74fa716f7cf429ba9e386ac Author: Richard Leach <richardle...@users.noreply.github.com> 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.