[svn:parrot] r41500 - trunk/include/parrot

NotFound at svn.parrot.org NotFound at svn.parrot.org
Sat Sep 26 20:45:00 UTC 2009


Author: NotFound
Date: Sat Sep 26 20:45:00 2009
New Revision: 41500
URL: https://trac.parrot.org/parrot/changeset/41500

Log:
[gc] simplify mark alive macros

Modified:
   trunk/include/parrot/gc_api.h

Modified: trunk/include/parrot/gc_api.h
==============================================================================
--- trunk/include/parrot/gc_api.h	Sat Sep 26 20:06:35 2009	(r41499)
+++ trunk/include/parrot/gc_api.h	Sat Sep 26 20:45:00 2009	(r41500)
@@ -464,23 +464,15 @@
 
 void Parrot_gc_inf_init(PARROT_INTERP);
 
-#ifdef NDEBUG
-#  define Parrot_gc_mark_PMC_alive(interp, obj) \
-        do if (! PMC_IS_NULL(obj)) \
-            Parrot_gc_mark_PMC_alive_fun((interp), (obj)); while (0)
-#ifdef PARROT_IN_CORE
+#if defined(NDEBUG) && defined(PARROT_IN_CORE)
 #  define Parrot_gc_mark_STRING_alive(interp, obj) \
           do if (! STRING_IS_NULL(obj)) PObj_live_SET(obj); while (0)
 #else
-#  define Parrot_gc_mark_STRING_alive(interp, obj) \
-          do if (! STRING_IS_NULL(obj) && !PObj_is_live_or_free_TESTALL(obj)) \
-              Parrot_gc_mark_STRING_alive_fun((interp), (obj)); while (0)
-#endif
-#else
-#  define Parrot_gc_mark_PMC_alive(interp, obj) Parrot_gc_mark_PMC_alive_fun((interp), (obj))
 #  define Parrot_gc_mark_STRING_alive(interp, obj) Parrot_gc_mark_STRING_alive_fun((interp), (obj))
 #endif
 
+#define Parrot_gc_mark_PMC_alive(interp, obj) Parrot_gc_mark_PMC_alive_fun((interp), (obj))
+
 #endif /* PARROT_GC_API_H_GUARD */
 
 /*


More information about the parrot-commits mailing list