Richard Leach
Richard Leach
This allows the existing `undef` OP to act on a pad SV. The following two cases are optimized: `undef my $x`, currently implemented as: ``` 4 undef vK/1 ->5 3...
This commit introduces a new OP to replace cases of `OP_ANONLIST` and `OP_ANONHASH` where there are zero elements, which is very common in Perl code. As an example, `my $x...
This commit introduces a new OP to replace simple cases of OP_SASSIGN and OP_AELEMFAST_LEX. (Similar concept to GH #19943) For example, `my @ary; $ary[0] = "boo"` is currently implemented as:...
This commit introduces a new OP to replace simple cases of OP_SASSIGN and OP_PADSV. For example, `my $x = 1` is currently implemented as: ``` 1 nextstate(main 1 -e:1) v:{...
Coverity CID 316368 raises the concern that in the following comparison: `(OP(first) == OPEN && (sawopen = 1)` the intention might have been to compare sawopen, not assign to it....
Prior to this commit, a new mortal SV couldn't be created in one call, instead the following would be necessary: ` sv_2mortal(newSVsv(...))` Between the two function calls and unnecessary checks...
Issue #20327 revealed that code that is expected to deparse to: ` &$uncompress(my $Tmp = shift());` has, since the addition of `padsv_store`, been deparsing to this: ` &$uncompress(scalar(my $Tmp =...
This commit: * Adds support for negative keys, as per the original `AELEMFAST_LEX` * Changes an `if()` check for a "_useless assignment to a temporary_" into an assert, since this...
This is to prevent warnings due to the char * frequently being unused.
For "BODYLESS" IVs and NVs, type up/downgrades can be easily done without having to call `sv_upgrade`. (Which will also not convert a BODYLESS_NV back down to an IV, even when...