This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
add all stash backrefs individually when joining
authorDavid Mitchell <davem@iabyn.com>
Mon, 5 Jul 2010 21:07:30 +0000 (22:07 +0100)
committerDavid Mitchell <davem@iabyn.com>
Wed, 14 Jul 2010 22:06:17 +0000 (23:06 +0100)
commitab95db60dabd8d8c36f2a83a140b52898d8d4f68
treec531820091ca89251ce38cdf767e6fb3c31ab22d
parent64345bb5cdba725a5e2af06c99aa36d8a1b8b873
add all stash backrefs individually when joining

When joining a thread, a 'mini' interpreter clone is performed to
clone the returned SVs and dependents back into the parent interpreter.
To make things simple in this case, don't clone the xhv_backreferences
array of any stashes, but individually add in any cloned GVs and CVs
whose [CG]vSTASH points that way. This is faster (avoids an expensive test
per CV/GV) and better (doesn't clone unnecessary SVs in the backref array)
sv.c