Storing the ixv for magic arrays seems to cause double free errors on
authorNicholas Clark <nick@ccl4.org>
Thu, 16 Jun 2005 22:08:29 +0000 (22:08 +0000)
committerNicholas Clark <nick@ccl4.org>
Thu, 16 Jun 2005 22:08:29 +0000 (22:08 +0000)
OS X. This all feels like voodoo.

p4raw-id: //depot/perl@24879

ext/B/B/Bytecode.pm

index b60651a..2d78d73 100644 (file)
@@ -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;
 }