On 17/09/10 23:14, Andrew Whitworth wrote:
Those macros, SET_PMC_REF and SET_STRING_REF work well for me. We need to think carefully about how we want to add these things, however, considering that our GC systems are (in theory anyway) selectable. If every single one of these becomes an indirect function call, we could end up eating a lot of performance.
If we want to have truly pluggable GC systems, this is indeed a problem. From a performance point of view, the write barrier must be at least partially inlined. If we ever want to support GC backends with different write barriers, I see no other way than making that selection compile-time dependent, and maybe change the macros to function calls for external code.
Nick _______________________________________________ http://lists.parrot.org/mailman/listinfo/parrot-dev
