summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2005-06-16 22:08:29 +0000
committerNicholas Clark <nick@ccl4.org>2005-06-16 22:08:29 +0000
commit97d630600d8c80a1700f77cb16abf79250239316 (patch)
tree43067bc420b4b5a736625c7fb63da2960f351230 /ext
parentaeb18a1e6ec30416322d12056d5c9acd228820fd (diff)
downloadperl-97d630600d8c80a1700f77cb16abf79250239316.tar.gz
Storing the ixv for magic arrays seems to cause double free errors on
OS X. This all feels like voodoo. p4raw-id: //depot/perl@24879
Diffstat (limited to 'ext')
-rw-r--r--ext/B/B/Bytecode.pm3
1 files changed, 3 insertions, 0 deletions
diff --git a/ext/B/B/Bytecode.pm b/ext/B/B/Bytecode.pm
index b60651aca8..2d78d73ee2 100644
--- a/ext/B/B/Bytecode.pm
+++ b/ext/B/B/Bytecode.pm
@@ -233,6 +233,9 @@ sub B::PVIV::bsave {
$sv->ROK ?
$sv->B::RV::bsave($ix):
$sv->B::NULL::bsave($ix);
+ # See note below in B::PVNV::bsave
+ return if $sv->isa('B::AV');
+ return if $sv->isa('B::HV');
asm "xiv", !ITHREADS && $sv->FLAGS & (SVf_FAKE|SVf_READONLY) ?
"0 but true" : $sv->IVX;
}