#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