Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: b1397c41ce94cb29316deeafcbc449e9a30ed358 https://github.com/Perl/perl5/commit/b1397c41ce94cb29316deeafcbc449e9a30ed358 Author: Richard Leach <richardle...@users.noreply.github.com> Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths: M peep.c M t/op/substr_left.t M t/perf/opcount.t Log Message: ----------- OP_SUBSTR_LEFT: GH#22914 - multiple pointers to replacement OP The recent initial commit for OP_SUBSTR_LEFT failed to account for there being multiple paths from a non-trivial LENGTH to the "" replacement CONST OP. This could result in the replacement SV being erroneously pushed to the stack, causing `pp_substr_left` to try to operate on the wrong SV. This commit nulls out the replacement OP, so that even if it is encountered, no erroneous SV is pushed. Contrary to the comment in the original commit, this actually does not break B::Deparse. Thanks to @mauke for figuring this out and preparing a patch before I'd even opened my browser. To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications