sv_clear: with zero SvREFCNT, call sv_free2, not sv_free #22843
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Towards the bottom of
Perl_sv_clear
, there is a region described as being* unrolled SvREFCNT_dec and sv_free2 follows: */
. This was originally accurate when introduced in 5239d5c but the definitions ofPerl_sv_free
,Perl_sv_free2
, andSvREFCNT_dec
were updated in 75a9bf9 and this region of code didn't get updated to match.I'm unsure of how to best refactor this code region, but right now the call to
sv_free(sv)
ultimately boils down to a call tosv_free2
, so this commit just goes there directly.