#1067: t/pmc/objects.t:  premature death on Darwin/PPC
---------------------+------------------------------------------------------
 Reporter:  jkeenan  |       Owner:  whiteknight
     Type:  bug      |      Status:  new        
 Priority:  normal   |   Milestone:             
Component:  GC       |     Version:  1.6.0      
 Severity:  medium   |    Keywords:  pmc GC     
     Lang:           |       Patch:  applied    
 Platform:           |  
---------------------+------------------------------------------------------

Comment(by kyle_l5l):

 Does this help?  It's ugly, but it makes some of my troubles go away.

 {{{
 --- src/gc/api.c        (revision 41542)
 +++ src/gc/api.c        (working copy)
 @@ -195,9 +195,15 @@
         set of #if preparser conditions. */

      /* if object is live or on free list return */
 -    if (PObj_is_live_or_free_TESTALL(obj))
 -        return;
 -
 +    if (PObj_is_live_or_free_TESTALL(obj)){
 +        if (PObj_is_PMC_TEST(obj)){
 +            PMC * const p = (PMC *)obj;
 +            if(PMC_metadata(p))
 +                Parrot_gc_mark_PObj_alive(interp,
 (PObj*)PMC_metadata(p));
 +        }
 +        return;
 +    }
 +
  #if ! DISABLE_GC_DEBUG
  #  if GC_VERBOSE
      if (CONSERVATIVE_POINTER_CHASING)

 }}}

-- 
Ticket URL: <https://trac.parrot.org/parrot/ticket/1067#comment:13>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
_______________________________________________
parrot-tickets mailing list
[email protected]
http://lists.parrot.org/mailman/listinfo/parrot-tickets

Reply via email to