This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
pad_free(): don't clear SVs_PADSTALE
authorDavid Mitchell <davem@iabyn.com>
Tue, 25 Sep 2012 11:47:51 +0000 (12:47 +0100)
committerDavid Mitchell <davem@iabyn.com>
Sat, 10 Nov 2012 13:39:31 +0000 (13:39 +0000)
commitad9e6ae10fb581c6c053b862286f8e187063c3ab
tree5b8ebbab6d70ac51787cc1f23567a9e450443087
parent71324a3bc4a9e86bdeeabcaf87f9cdac28ba7510
pad_free(): don't clear SVs_PADSTALE

pad_free() clears the SVs_PADTMP bit. Since that bit is now shared
with SVs_PADSTALE, that gets cleared on state vars. It didn't matter up
till now, but the next commit will start optimising away pad ops, and
op_null() will call pad_free() which would clear the SVs_PADSTALE bit.

So only clear SVs_PADTMP/SVs_PADSTALE for non-lexical var ops.
pad.c